summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-09 18:05:17 -0300
committerPhil Hughes <me@iamphill.com>2016-08-17 17:17:39 +0100
commit7937321bceed0365df154590efaca033306afe7f (patch)
tree6db3821649acb94962825492d7223947ba537296
parent57deadce46353bcfd2e3b4de1638671d70f6b440 (diff)
downloadgitlab-ce-7937321bceed0365df154590efaca033306afe7f.tar.gz
Order issues by label priority instead of id on board lists
-rw-r--r--app/assets/javascripts/boards/models/issue.js.es64
-rw-r--r--app/assets/javascripts/boards/models/label.js.es61
-rw-r--r--app/views/projects/boards/components/_card.html.haml2
3 files changed, 6 insertions, 1 deletions
diff --git a/app/assets/javascripts/boards/models/issue.js.es6 b/app/assets/javascripts/boards/models/issue.js.es6
index a1940cab91c..9ed58757464 100644
--- a/app/assets/javascripts/boards/models/issue.js.es6
+++ b/app/assets/javascripts/boards/models/issue.js.es6
@@ -12,6 +12,10 @@ class Issue {
obj.labels.forEach((label) => {
this.labels.push(new Label(label));
});
+
+ this.priority = this.labels.reduce((max, label) => {
+ return (label.priority < max) ? label.priority : max;
+ }, Infinity);
}
addLabel (label) {
diff --git a/app/assets/javascripts/boards/models/label.js.es6 b/app/assets/javascripts/boards/models/label.js.es6
index 99daf093d37..974e59d725e 100644
--- a/app/assets/javascripts/boards/models/label.js.es6
+++ b/app/assets/javascripts/boards/models/label.js.es6
@@ -4,5 +4,6 @@ class Label {
this.title = obj.title;
this.color = obj.color;
this.description = obj.description;
+ this.priority = (obj.priority !== null) ? obj.priority : Infinity;
}
}
diff --git a/app/views/projects/boards/components/_card.html.haml b/app/views/projects/boards/components/_card.html.haml
index d6255b35516..e5dbdad113b 100644
--- a/app/views/projects/boards/components/_card.html.haml
+++ b/app/views/projects/boards/components/_card.html.haml
@@ -1,5 +1,5 @@
%board-card{ "inline-template" => true,
- "v-for" => "issue in issues | orderBy 'id' -1",
+ "v-for" => "issue in issues | orderBy ['priority', 'id']",
":issue" => "issue",
":issue-link-base" => "issueLinkBase",
":disabled" => "disabled",