Commit 888c0481 authored by Phil Hughes's avatar Phil Hughes

Improvements to issue boards on mobile

parent 206375c8
...@@ -38,7 +38,7 @@ $(() => { ...@@ -38,7 +38,7 @@ $(() => {
ready () { ready () {
Store.disabled = this.disabled; Store.disabled = this.disabled;
gl.boardService.all() gl.boardService.all()
.then((resp) => { .then((resp) => {
resp.json().forEach((board) => { resp.json().forEach((board) => {
const list = Store.addList(board); const list = Store.addList(board);
......
...@@ -72,11 +72,21 @@ ...@@ -72,11 +72,21 @@
} }
}); });
if (bp.getBreakpointSize() === 'xs') {
options.handle = '.js-board-drag-handle';
}
this.sortable = Sortable.create(this.$el.parentNode, options); this.sortable = Sortable.create(this.$el.parentNode, options);
// if (gl.issueBoards.touchEnabled) {
// this.$on('scroll', () => {
// if (!startedDragging) {
// this.sortable.option("disabled", true);
// }
// this.$broadcast('scroll');
// });
//
// this.$on('scrollend', () => {
// this.sortable.option("disabled", false);
// this.$broadcast('scrollend');
// });
// }
}, },
beforeDestroy () { beforeDestroy () {
Store.state.lists.$remove(this.list); Store.state.lists.$remove(this.list);
......
...@@ -74,10 +74,6 @@ ...@@ -74,10 +74,6 @@
} }
}); });
if (bp.getBreakpointSize() === 'xs') {
options.handle = '.js-card-drag-handle';
}
this.sortable = Sortable.create(this.$els.list, options); this.sortable = Sortable.create(this.$els.list, options);
// Scroll event on list to load more // Scroll event on list to load more
...@@ -86,6 +82,18 @@ ...@@ -86,6 +82,18 @@
this.loadNextPage(); this.loadNextPage();
} }
}; };
// if (gl.issueBoards.touchEnabled) {
// this.$on('scroll', () => {
// if (!startedDragging) {
// this.sortable.option("disabled", true);
// }
// });
//
// this.$on('scrollend', () => {
// this.sortable.option("disabled", false);
// });
// }
} }
}); });
})(); })();
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
document.body.classList.remove('is-dragging'); document.body.classList.remove('is-dragging');
}; };
gl.issueBoards.touchEnabled = ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;
gl.issueBoards.getBoardSortableDefaultOptions = (obj) => { gl.issueBoards.getBoardSortableDefaultOptions = (obj) => {
let defaultSortOptions = { let defaultSortOptions = {
forceFallback: true, forceFallback: true,
...@@ -20,7 +22,8 @@ ...@@ -20,7 +22,8 @@
fallbackOnBody: true, fallbackOnBody: true,
ghostClass: 'is-ghost', ghostClass: 'is-ghost',
filter: '.has-tooltip', filter: '.has-tooltip',
scrollSensitivity: 100, delay: gl.issueBoards.touchEnabled ? 100 : 0,
scrollSensitivity: gl.issueBoards.touchEnabled ? 60 : 100,
scrollSpeed: 20, scrollSpeed: 20,
onStart: gl.issueBoards.onStart, onStart: gl.issueBoards.onStart,
onEnd: gl.issueBoards.onEnd onEnd: gl.issueBoards.onEnd
......
...@@ -105,8 +105,8 @@ ...@@ -105,8 +105,8 @@
.board { .board {
display: -webkit-flex; display: -webkit-flex;
display: flex; display: flex;
min-width: calc(100vw - 15px); min-width: calc(85vw - 15px);
max-width: calc(100vw - 15px); max-width: calc(85vw - 15px);
margin-bottom: 25px; margin-bottom: 25px;
padding-right: ($gl-padding / 2); padding-right: ($gl-padding / 2);
padding-left: ($gl-padding / 2); padding-left: ($gl-padding / 2);
...@@ -158,14 +158,6 @@ ...@@ -158,14 +158,6 @@
padding: $gl-padding; padding: $gl-padding;
font-size: 1em; font-size: 1em;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
.board-mobile-handle {
position: relative;
left: 0;
top: 1px;
margin-top: 0;
margin-right: 5px;
}
} }
.board-search-container { .board-search-container {
...@@ -268,11 +260,7 @@ ...@@ -268,11 +260,7 @@
list-style: none; list-style: none;
&.user-can-drag { &.user-can-drag {
padding-left: ($gl-padding * 2); padding-left: $gl-padding;
@media (min-width: $screen-sm-min) {
padding-left: $gl-padding;
}
} }
&:not(:last-child) { &:not(:last-child) {
...@@ -293,17 +281,6 @@ ...@@ -293,17 +281,6 @@
} }
} }
.board-mobile-handle {
position: absolute;
left: 10px;
top: 50%;
margin-top: (-15px / 2);
@media (min-width: $screen-sm-min) {
display: none;
}
}
.card-title { .card-title {
margin: 0; margin: 0;
font-size: 1em; font-size: 1em;
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
.board-inner .board-inner
%header.board-header{ ":class" => "{ 'has-border': list.label }", ":style" => "{ borderTopColor: (list.label ? list.label.color : null) }" } %header.board-header{ ":class" => "{ 'has-border': list.label }", ":style" => "{ borderTopColor: (list.label ? list.label.color : null) }" }
%h3.board-title.js-board-handle{ ":class" => "{ 'user-can-drag': (!disabled && !list.preset) }" } %h3.board-title.js-board-handle{ ":class" => "{ 'user-can-drag': (!disabled && !list.preset) }" }
= icon("align-justify", class: "board-mobile-handle js-board-drag-handle", "v-if" => "(!disabled && !list.preset)")
{{ list.title }} {{ list.title }}
%span.pull-right{ "v-if" => "list.type !== 'blank'" } %span.pull-right{ "v-if" => "list.type !== 'blank'" }
{{ list.issues.length }} {{ list.issues.length }}
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
"track-by" => "id" } "track-by" => "id" }
%li.card{ ":class" => "{ 'user-can-drag': !disabled }", %li.card{ ":class" => "{ 'user-can-drag': !disabled }",
":index" => "index" } ":index" => "index" }
= icon("align-justify", class: "board-mobile-handle js-card-drag-handle", "v-if" => "!disabled")
%h4.card-title %h4.card-title
= icon("eye-slash", class: "confidential-icon", "v-if" => "issue.confidential") = icon("eye-slash", class: "confidential-icon", "v-if" => "issue.confidential")
%a{ ":href" => "issueLinkBase + '/' + issue.id", %a{ ":href" => "issueLinkBase + '/' + issue.id",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment