Merge branch '10016-move-ee-differences-for-app-assets-javascripts-boards-models-issue-js' into 'master'

Backport of "Move EE differences for `app/assets/javascripts/boards/models/issue.js`"

See merge request gitlab-org/gitlab-ce!27197
This commit is contained in:
Kushal Pandya 2019-04-11 06:59:30 +00:00
commit a4262919f7

View file

@ -5,6 +5,7 @@
import Vue from 'vue'; import Vue from 'vue';
import '~/vue_shared/models/label'; import '~/vue_shared/models/label';
import { isEE } from '~/lib/utils/common_utils';
import IssueProject from './project'; import IssueProject from './project';
import boardsStore from '../stores/boards_store'; import boardsStore from '../stores/boards_store';
@ -28,7 +29,6 @@ class ListIssue {
this.referencePath = obj.reference_path; this.referencePath = obj.reference_path;
this.path = obj.real_path; this.path = obj.real_path;
this.toggleSubscriptionEndpoint = obj.toggle_subscription_endpoint; this.toggleSubscriptionEndpoint = obj.toggle_subscription_endpoint;
this.milestone_id = obj.milestone_id;
this.project_id = obj.project_id; this.project_id = obj.project_id;
this.timeEstimate = obj.time_estimate; this.timeEstimate = obj.time_estimate;
this.assignableLabelsEndpoint = obj.assignable_labels_endpoint; this.assignableLabelsEndpoint = obj.assignable_labels_endpoint;
@ -39,6 +39,7 @@ class ListIssue {
if (obj.milestone) { if (obj.milestone) {
this.milestone = new ListMilestone(obj.milestone); this.milestone = new ListMilestone(obj.milestone);
this.milestone_id = obj.milestone.id;
} }
obj.labels.forEach(label => { obj.labels.forEach(label => {
@ -88,6 +89,19 @@ class ListIssue {
this.assignees = []; this.assignees = [];
} }
addMilestone(milestone) {
const miletoneId = this.milestone ? this.milestone.id : null;
if (isEE && milestone.id !== miletoneId) {
this.milestone = new ListMilestone(milestone);
}
}
removeMilestone(removeMilestone) {
if (isEE && removeMilestone && removeMilestone.id === this.milestone.id) {
this.milestone = {};
}
}
getLists() { getLists() {
return boardsStore.state.lists.filter(list => list.findIssue(this.id)); return boardsStore.state.lists.filter(list => list.findIssue(this.id));
} }