trello-sprinter
Version:
Provides summarizations of sprint activity in a Trello project
69 lines (55 loc) • 1.77 kB
JavaScript
import {Util} from "./Util";
import {Board} from './Board';
import {BoardView} from './BoardView';
import {SprintView} from "./Sprints/SprintView";
import {SprintTableView} from './Sprints/SprintTableView';
import {DisconnectedView} from "./DisconnectedView";
export const MainView = function(element, trello, options) {
// Ensure empty
element.innerHTML = '';
let div = document.createElement('div');
element.appendChild(div);
Util.addClass(div, 'trello-sprinter');
let p = document.createElement('p');
div.appendChild(p);
Util.addClass(p, 'center');
let button = document.createElement('button');
p.appendChild(button);
button.innerText = 'Disconnect';
button.addEventListener('click', (event) => {
event.preventDefault();
trello.disconnect();
new DisconnectedView(element, trello, options);
})
let pStatus = Util.createElement('p', 'trello-status');
pStatus.innerText = 'Connecting to Trello...';
div.appendChild(pStatus);
let pMsg = Util.createElement('p', 'trello-msg');
div.appendChild(pMsg);
Board.fetch(trello, options.board, options, pMsg, (board) => {
// Success
pStatus.innerText = 'Trello Board: ' + board.name;
pMsg.parentNode.removeChild(pMsg);
for(let view in options.views) {
switch(view) {
case 'board':
let boardView = new BoardView(div, board);
boardView.present();
break;
case 'sprint':
let sprintView = new SprintView(div, board, options.views.sprint);
sprintView.present();
break;
case 'sprintTable':
let sprintTableView = new SprintTableView(div, board, options.views.sprintTable);
sprintTableView.present();
break;
}
}
}, (msg) => {
// Failure
pMsg.parentNode.removeChild(pMsg);
pStatus.innerText = msg;
});
//trello.fetch();
}