From 0b351d5538e47d233a273e2729691fccc006a09c Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 5 Aug 2016 13:40:35 +0100 Subject: Moved some code around to make it easier to read & work with --- app/assets/javascripts/boards/models/issue.js.es6 | 8 +++++++- app/assets/javascripts/boards/models/list.js.es6 | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'app/assets/javascripts/boards/models') diff --git a/app/assets/javascripts/boards/models/issue.js.es6 b/app/assets/javascripts/boards/models/issue.js.es6 index a56b2bc5175..af90560c7c0 100644 --- a/app/assets/javascripts/boards/models/issue.js.es6 +++ b/app/assets/javascripts/boards/models/issue.js.es6 @@ -6,7 +6,7 @@ class Issue { if (obj.assignee) { this.assignee = new User(obj.assignee); } - + this.labels = []; obj.labels.forEach((label) => { @@ -37,4 +37,10 @@ class Issue { }); } } + + getLists () { + return _.filter(BoardsStore.state.lists, (list) => { + return list.findIssue(this.id); + }); + } } diff --git a/app/assets/javascripts/boards/models/list.js.es6 b/app/assets/javascripts/boards/models/list.js.es6 index a9322eb216b..6482eda828c 100644 --- a/app/assets/javascripts/boards/models/list.js.es6 +++ b/app/assets/javascripts/boards/models/list.js.es6 @@ -24,6 +24,17 @@ class List { } } + save () { + service.createList(this.label.id) + .then((resp) => { + const data = resp.json(); + + this.id = data.id; + this.type = data.list_type; + this.position = data.position; + }); + } + destroy () { service.destroyList(this.id); } @@ -36,10 +47,12 @@ class List { return this.type === 'backlog'; } - addIssue (issue, index) { - this.issues.splice(index, 0, issue); + addIssue (issue, listFrom) { + this.issues.push(issue); issue.addLabel(this.label); + + service.moveIssue(issue.id, listFrom.id, this.id); } findIssue (id) { -- cgit v1.2.1