gitlab-org--gitlab-foss/app/assets/javascripts/boards/boards_bundle.js.es6

69 lines
1.7 KiB
JavaScript
Raw Normal View History

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
//= require_tree ./mixins
//= require_tree ./filters
//= require ./components/board
2016-10-04 14:27:02 +00:00
//= require ./components/board_sidebar
//= require ./components/new_list_dropdown
2016-08-16 10:34:32 +00:00
//= require ./vue_resource_interceptor
2016-07-28 11:33:04 +00:00
$(() => {
const $boardApp = document.getElementById('board-app'),
Store = gl.issueBoards.BoardsStore;
window.gl = window.gl || {};
2016-07-28 11:33:04 +00:00
if (gl.IssueBoardsApp) {
gl.IssueBoardsApp.$destroy(true);
}
gl.IssueBoardsApp = new Vue({
el: $boardApp,
components: {
2016-10-04 14:27:02 +00:00
'board': gl.issueBoards.Board,
'board-sidebar': gl.issueBoards.BoardSidebar
},
2016-07-28 11:33:04 +00:00
data: {
state: Store.state,
loading: true,
endpoint: $boardApp.dataset.endpoint,
boardId: $boardApp.dataset.boardId,
disabled: $boardApp.dataset.disabled === 'true',
issueLinkBase: $boardApp.dataset.issueLinkBase
2016-07-28 11:33:04 +00:00
},
2016-08-17 12:57:36 +00:00
init: Store.create.bind(Store),
created () {
gl.boardService = new BoardService(this.endpoint, this.boardId);
2016-08-08 15:15:05 +00:00
},
ready () {
Store.disabled = this.disabled;
gl.boardService.all()
2016-08-19 13:16:07 +00:00
.then((resp) => {
2016-08-17 12:57:36 +00:00
resp.json().forEach((board) => {
const list = Store.addList(board);
if (list.type === 'done') {
list.position = Infinity;
2016-08-05 16:01:34 +00:00
} else if (list.type === 'backlog') {
list.position = -1;
}
2016-08-17 12:57:36 +00:00
});
Store.addBlankState();
2016-08-08 15:15:05 +00:00
this.loading = false;
2016-07-28 11:33:04 +00:00
});
}
});
gl.IssueBoardsSearch = new Vue({
el: '#js-boards-seach',
data: {
filters: Store.state.filters
}
});
2016-07-28 11:33:04 +00:00
});