summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-08-09 12:10:19 +0100
committerPhil Hughes <me@iamphill.com>2016-08-17 17:17:39 +0100
commita09b850aa9f7783e064ff9cc0840217faaf85994 (patch)
tree3bc24bb7e162ee559d4e329da991d16390ffcaf5
parent324067e2332b8f6ee886bf2586ccb2277772cc8f (diff)
downloadgitlab-ce-a09b850aa9f7783e064ff9cc0840217faaf85994.tar.gz
Mobile improvements
-rw-r--r--app/assets/javascripts/boards/components/board.js.es66
-rw-r--r--app/assets/javascripts/boards/components/board_list.js.es66
-rw-r--r--app/assets/javascripts/boards/mixins/sortable_default_options.js.es64
-rw-r--r--app/assets/stylesheets/pages/boards.scss29
-rw-r--r--app/views/projects/boards/components/_board.html.haml1
-rw-r--r--app/views/projects/boards/components/_card.html.haml1
6 files changed, 43 insertions, 4 deletions
diff --git a/app/assets/javascripts/boards/components/board.js.es6 b/app/assets/javascripts/boards/components/board.js.es6
index a5fb1809760..13853910d14 100644
--- a/app/assets/javascripts/boards/components/board.js.es6
+++ b/app/assets/javascripts/boards/components/board.js.es6
@@ -42,7 +42,7 @@
}
},
ready: function () {
- const options = _.extend({
+ let options = _.extend({
disabled: this.disabled,
group: 'boards',
draggable: '.is-draggable',
@@ -52,6 +52,10 @@
}
}, gl.boardSortableDefaultOptions);
+ if (bp.getBreakpointSize() === 'sm' || bp.getBreakpointSize() === 'xs') {
+ options.handle = '.js-board-drag-handle';
+ }
+
Sortable.create(this.$el.parentNode, options);
}
});
diff --git a/app/assets/javascripts/boards/components/board_list.js.es6 b/app/assets/javascripts/boards/components/board_list.js.es6
index c09b7777c33..350b0e6ba0e 100644
--- a/app/assets/javascripts/boards/components/board_list.js.es6
+++ b/app/assets/javascripts/boards/components/board_list.js.es6
@@ -46,7 +46,7 @@
},
ready: function () {
const list = this.list;
- const options = _.extend({
+ let options = _.extend({
group: 'issues',
disabled: this.disabled,
onAdd: (e) => {
@@ -62,6 +62,10 @@
}
}, gl.boardSortableDefaultOptions);
+ if (bp.getBreakpointSize() === 'sm' || bp.getBreakpointSize() === 'xs') {
+ options.handle = '.js-card-drag-handle';
+ }
+
Sortable.create(this.$els.list, options);
// Scroll event on list to load more
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 4509589edf2..ee616d78541 100644
--- a/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6
+++ b/app/assets/javascripts/boards/mixins/sortable_default_options.js.es6
@@ -1,4 +1,4 @@
-(function (w) {
+((w) => {
if (!window.gl) {
window.gl = {};
}
@@ -9,7 +9,7 @@
fallbackOnBody: true,
ghostClass: 'is-ghost',
filter: '.has-tooltip',
- scrollSensitivity: 50,
+ scrollSensitivity: 100,
scrollSpeed: 10,
onStart: function () {
document.body.classList.add('is-dragging');
diff --git a/app/assets/stylesheets/pages/boards.scss b/app/assets/stylesheets/pages/boards.scss
index 405ba0fa837..8d6b6405309 100644
--- a/app/assets/stylesheets/pages/boards.scss
+++ b/app/assets/stylesheets/pages/boards.scss
@@ -140,10 +140,19 @@
}
.board-title {
+ position: relative;
margin: 0;
padding: $gl-padding;
font-size: 1em;
border-bottom: 1px solid $border-color;
+
+ .board-mobile-handle {
+ position: relative;
+ left: 0;
+ top: 1px;
+ margin-top: 0;
+ margin-right: 5px;
+ }
}
.board-search-container {
@@ -241,6 +250,7 @@
}
.card {
+ position: relative;
width: 100%;
padding: 10px $gl-padding;
background: #fff;
@@ -248,6 +258,14 @@
box-shadow: 0 1px 2px rgba(186, 186, 186, 0.5);
list-style: none;
+ &.user-can-drag {
+ padding-left: ($gl-padding * 2);
+
+ @media (min-width: $screen-sm-min) {
+ padding-left: $gl-padding;
+ }
+ }
+
&:not(:last-child) {
margin-bottom: 5px;
}
@@ -262,6 +280,17 @@
}
}
+.board-mobile-handle {
+ position: absolute;
+ left: 10px;
+ top: 50%;
+ margin-top: (-15px / 2);
+
+ @media (min-width: $screen-sm-min) {
+ display: none;
+ }
+}
+
.card-title {
margin: 0;
font-size: 1em;
diff --git a/app/views/projects/boards/components/_board.html.haml b/app/views/projects/boards/components/_board.html.haml
index d7c8b5ed57f..49eec056920 100644
--- a/app/views/projects/boards/components/_board.html.haml
+++ b/app/views/projects/boards/components/_board.html.haml
@@ -8,6 +8,7 @@
.board-inner
%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 && !isPreset) }" }
+ = icon("align-justify", class: "board-mobile-handle js-board-drag-handle", "v-if" => "(!disabled && !isPreset)")
{{ list.title }}
%span.pull-right{ "v-if" => "list.type !== 'blank'" }
{{ list.issues.length }}
diff --git a/app/views/projects/boards/components/_card.html.haml b/app/views/projects/boards/components/_card.html.haml
index a7000607f1c..9302d86f730 100644
--- a/app/views/projects/boards/components/_card.html.haml
+++ b/app/views/projects/boards/components/_card.html.haml
@@ -6,6 +6,7 @@
"track-by" => "id" }
%li.card{ ":data-issue" => "issue.id",
":class" => "{ 'user-can-drag': !disabled }" }
+ = icon("align-justify", class: "board-mobile-handle js-card-drag-handle", "v-if" => "!disabled")
%h4.card-title
%a{ ":href" => "issueLinkBase + '/' + issue.id",
":title" => "issue.title" }