gitlab-org--gitlab-foss/app/assets/javascripts/boards/components/board_blank_state.js.es6
2016-08-17 17:17:39 +01:00

55 lines
1.6 KiB
JavaScript

(() => {
window.gl = window.gl || {};
window.gl.issueBoards = window.gl.issueBoards || {};
gl.issueBoards.BoardBlankState = Vue.extend({
data () {
return {
predefinedLabels: [
new ListLabel({ title: 'Development', color: '#5CB85C' }),
new ListLabel({ title: 'Testing', color: '#F0AD4E' }),
new ListLabel({ title: 'Production', color: '#FF5F00' }),
new ListLabel({ title: 'Ready', color: '#FF0000' })
]
}
},
methods: {
addDefaultLists () {
gl.issueBoards.BoardsStore.removeBlankState();
for (let i = 0, labelsLength = this.predefinedLabels.length; i < labelsLength; i++) {
const label = this.predefinedLabels[i];
gl.issueBoards.BoardsStore.addList({
title: label.title,
position: i,
list_type: 'label',
label: {
title: label.title,
color: label.color
}
});
}
// Save the labels
gl.boardService
.generateDefaultLists()
.then((resp) => {
const data = resp.json();
for (let i = 0, dataLength = data.length; i < dataLength; i++) {
const listObj = data[i],
list = gl.issueBoards.BoardsStore.findList('title', listObj.title);
list.id = listObj.id;
list.label.id = listObj.label.id;
list.getIssues();
}
});
},
clearBlankState () {
gl.issueBoards.BoardsStore.removeBlankState();
}
}
});
})();