summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-08-19 14:16:07 +0100
committerPhil Hughes <me@iamphill.com>2016-08-19 16:37:46 +0100
commit888c04818c1b0eeaa29dd9ef2e9f2600bd8cc1a1 (patch)
tree26fcbbf7e95034361558ef231bc545596d2d36c1 /app/assets/javascripts
parent206375c84fef349c4dce8abcc7bbadfd27be0df8 (diff)
downloadgitlab-ce-888c04818c1b0eeaa29dd9ef2e9f2600bd8cc1a1.tar.gz
Improvements to issue boards on mobile
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/boards/boards_bundle.js.es62
-rw-r--r--app/assets/javascripts/boards/components/board.js.es618
-rw-r--r--app/assets/javascripts/boards/components/board_list.js.es616
-rw-r--r--app/assets/javascripts/boards/mixins/sortable_default_options.js.es65
4 files changed, 31 insertions, 10 deletions
diff --git a/app/assets/javascripts/boards/boards_bundle.js.es6 b/app/assets/javascripts/boards/boards_bundle.js.es6
index 2c65d4427be..a612cf0f1ae 100644
--- a/app/assets/javascripts/boards/boards_bundle.js.es6
+++ b/app/assets/javascripts/boards/boards_bundle.js.es6
@@ -38,7 +38,7 @@ $(() => {
ready () {
Store.disabled = this.disabled;
gl.boardService.all()
- .then((resp) => {
+ .then((resp) => {
resp.json().forEach((board) => {
const list = Store.addList(board);
diff --git a/app/assets/javascripts/boards/components/board.js.es6 b/app/assets/javascripts/boards/components/board.js.es6
index 5ef6a1b2277..0bf7d632be3 100644
--- a/app/assets/javascripts/boards/components/board.js.es6
+++ b/app/assets/javascripts/boards/components/board.js.es6
@@ -72,11 +72,21 @@
}
});
- if (bp.getBreakpointSize() === 'xs') {
- options.handle = '.js-board-drag-handle';
- }
-
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 () {
Store.state.lists.$remove(this.list);
diff --git a/app/assets/javascripts/boards/components/board_list.js.es6 b/app/assets/javascripts/boards/components/board_list.js.es6
index dceacb25452..f735ef10f9f 100644
--- a/app/assets/javascripts/boards/components/board_list.js.es6
+++ b/app/assets/javascripts/boards/components/board_list.js.es6
@@ -74,10 +74,6 @@
}
});
- if (bp.getBreakpointSize() === 'xs') {
- options.handle = '.js-card-drag-handle';
- }
-
this.sortable = Sortable.create(this.$els.list, options);
// Scroll event on list to load more
@@ -86,6 +82,18 @@
this.loadNextPage();
}
};
+
+ // if (gl.issueBoards.touchEnabled) {
+ // this.$on('scroll', () => {
+ // if (!startedDragging) {
+ // this.sortable.option("disabled", true);
+ // }
+ // });
+ //
+ // this.$on('scrollend', () => {
+ // this.sortable.option("disabled", false);
+ // });
+ // }
}
});
})();
diff --git a/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6 b/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6
index 8e8d13ede5a..44addb3ea98 100644
--- a/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6
+++ b/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6
@@ -13,6 +13,8 @@
document.body.classList.remove('is-dragging');
};
+ gl.issueBoards.touchEnabled = ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;
+
gl.issueBoards.getBoardSortableDefaultOptions = (obj) => {
let defaultSortOptions = {
forceFallback: true,
@@ -20,7 +22,8 @@
fallbackOnBody: true,
ghostClass: 'is-ghost',
filter: '.has-tooltip',
- scrollSensitivity: 100,
+ delay: gl.issueBoards.touchEnabled ? 100 : 0,
+ scrollSensitivity: gl.issueBoards.touchEnabled ? 60 : 100,
scrollSpeed: 20,
onStart: gl.issueBoards.onStart,
onEnd: gl.issueBoards.onEnd