2016-07-28 11:33:04 +00:00
|
|
|
//= require vue
|
|
|
|
//= require vue-resource
|
|
|
|
//= require Sortable
|
2016-08-01 13:18:30 +00:00
|
|
|
//= require_tree ./models
|
2016-07-28 11:33:04 +00:00
|
|
|
//= require_tree ./stores
|
|
|
|
//= require_tree ./services
|
2016-08-05 15:30:14 +00:00
|
|
|
//= require_tree ./mixins
|
2016-08-15 09:07:53 +00:00
|
|
|
//= require ./components/board
|
|
|
|
//= require ./components/new_list_dropdown
|
2016-07-28 11:33:04 +00:00
|
|
|
|
2016-08-11 08:51:52 +00:00
|
|
|
$(() => {
|
|
|
|
const $boardApp = $('#board-app');
|
|
|
|
|
2016-08-15 08:57:01 +00:00
|
|
|
window.gl = window.gl || {};
|
2016-07-28 11:33:04 +00:00
|
|
|
|
2016-08-05 13:00:06 +00:00
|
|
|
if (gl.IssueBoardsApp) {
|
|
|
|
gl.IssueBoardsApp.$destroy(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
gl.IssueBoardsApp = new Vue({
|
2016-08-11 08:51:52 +00:00
|
|
|
el: $boardApp.get(0),
|
2016-08-15 09:07:53 +00:00
|
|
|
components: {
|
|
|
|
'board': gl.issueBoards.Board
|
|
|
|
},
|
2016-07-28 11:33:04 +00:00
|
|
|
data: {
|
2016-08-15 08:57:01 +00:00
|
|
|
state: gl.issueBoards.BoardsStore.state,
|
2016-08-11 08:51:52 +00:00
|
|
|
loading: true,
|
|
|
|
endpoint: $boardApp.data('endpoint'),
|
|
|
|
disabled: $boardApp.data('disabled'),
|
|
|
|
issueLinkBase: $boardApp.data('issue-link-base')
|
2016-07-28 11:33:04 +00:00
|
|
|
},
|
2016-08-11 08:51:52 +00:00
|
|
|
init () {
|
2016-08-15 08:57:01 +00:00
|
|
|
gl.issueBoards.BoardsStore.create();
|
2016-08-05 17:39:49 +00:00
|
|
|
},
|
2016-08-11 08:51:52 +00:00
|
|
|
created () {
|
2016-08-08 15:15:05 +00:00
|
|
|
this.loading = true;
|
|
|
|
gl.boardService = new BoardService(this.endpoint);
|
2016-08-11 08:51:52 +00:00
|
|
|
|
|
|
|
$boardApp
|
|
|
|
.removeAttr('data-endpoint')
|
|
|
|
.removeAttr('data-disabled')
|
|
|
|
.removeAttr('data-issue-link-base');
|
2016-08-08 15:15:05 +00:00
|
|
|
},
|
2016-08-11 08:51:52 +00:00
|
|
|
ready () {
|
2016-08-15 08:57:01 +00:00
|
|
|
gl.issueBoards.BoardsStore.disabled = this.disabled;
|
2016-08-05 13:00:06 +00:00
|
|
|
gl.boardService.all()
|
2016-07-28 11:33:04 +00:00
|
|
|
.then((resp) => {
|
2016-08-02 08:58:09 +00:00
|
|
|
const boards = resp.json();
|
|
|
|
|
2016-08-11 08:51:52 +00:00
|
|
|
for (let i = 0, boardsLength = boards.length; i < boardsLength; i++) {
|
|
|
|
const board = boards[i],
|
2016-08-15 08:57:01 +00:00
|
|
|
list = gl.issueBoards.BoardsStore.addList(board);
|
2016-08-04 15:16:50 +00:00
|
|
|
|
|
|
|
if (list.type === 'done') {
|
2016-08-11 08:51:52 +00:00
|
|
|
list.position = Infinity;
|
2016-08-05 16:01:34 +00:00
|
|
|
} else if (list.type === 'backlog') {
|
|
|
|
list.position = -1;
|
2016-08-04 15:16:50 +00:00
|
|
|
}
|
2016-08-11 08:51:52 +00:00
|
|
|
}
|
2016-08-04 15:16:50 +00:00
|
|
|
|
2016-08-15 08:57:01 +00:00
|
|
|
gl.issueBoards.BoardsStore.addBlankState();
|
2016-08-08 15:15:05 +00:00
|
|
|
this.loading = false;
|
2016-07-28 11:33:04 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|