diff options
Diffstat (limited to 'app/assets/javascripts/boards/models')
-rw-r--r-- | app/assets/javascripts/boards/models/issue.js | 6 | ||||
-rw-r--r-- | app/assets/javascripts/boards/models/iteration.js | 9 | ||||
-rw-r--r-- | app/assets/javascripts/boards/models/list.js | 11 |
3 files changed, 22 insertions, 4 deletions
diff --git a/app/assets/javascripts/boards/models/issue.js b/app/assets/javascripts/boards/models/issue.js index 1e77326ba9c..46d1239457d 100644 --- a/app/assets/javascripts/boards/models/issue.js +++ b/app/assets/javascripts/boards/models/issue.js @@ -6,8 +6,8 @@ import axios from '~/lib/utils/axios_utils'; import './label'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; -import IssueProject from './project'; import boardsStore from '../stores/boards_store'; +import IssueProject from './project'; class ListIssue { constructor(obj) { @@ -53,6 +53,10 @@ class ListIssue { return boardsStore.findIssueAssignee(this, findAssignee); } + setAssignees(assignees) { + boardsStore.setIssueAssignees(this, assignees); + } + removeAssignee(removeAssignee) { boardsStore.removeIssueAssignee(this, removeAssignee); } diff --git a/app/assets/javascripts/boards/models/iteration.js b/app/assets/javascripts/boards/models/iteration.js new file mode 100644 index 00000000000..b7bdc204f7c --- /dev/null +++ b/app/assets/javascripts/boards/models/iteration.js @@ -0,0 +1,9 @@ +export default class ListIteration { + constructor(obj) { + this.id = obj.id; + this.title = obj.title; + this.state = obj.state; + this.webUrl = obj.web_url || obj.webUrl; + this.description = obj.description; + } +} diff --git a/app/assets/javascripts/boards/models/list.js b/app/assets/javascripts/boards/models/list.js index be02ac7b889..6c6e2522d92 100644 --- a/app/assets/javascripts/boards/models/list.js +++ b/app/assets/javascripts/boards/models/list.js @@ -1,9 +1,10 @@ /* eslint-disable class-methods-use-this */ -import { __ } from '~/locale'; -import ListLabel from './label'; -import ListAssignee from './assignee'; import { deprecatedCreateFlash as flash } from '~/flash'; +import { __ } from '~/locale'; import boardsStore from '../stores/boards_store'; +import ListAssignee from './assignee'; +import ListIteration from './iteration'; +import ListLabel from './label'; import ListMilestone from './milestone'; import 'ee_else_ce/boards/models/issue'; @@ -43,6 +44,7 @@ class List { this.isExpandable = Boolean(typeInfo.isExpandable); this.isExpanded = !obj.collapsed; this.page = 1; + this.highlighted = obj.highlighted; this.loading = true; this.loadingMore = false; this.issues = obj.issues || []; @@ -57,6 +59,9 @@ class List { } else if (IS_EE && obj.milestone) { this.milestone = new ListMilestone(obj.milestone); this.title = this.milestone.title; + } else if (IS_EE && obj.iteration) { + this.iteration = new ListIteration(obj.iteration); + this.title = this.iteration.title; } // doNotFetchIssues is a temporary workaround until issues are fetched using GraphQL on issue boards |