diff --git a/src/app/board/column/column.component.html b/src/app/board/column/column.component.html
index a920855..a5d19fe 100644
--- a/src/app/board/column/column.component.html
+++ b/src/app/board/column/column.component.html
@@ -11,7 +11,7 @@
{{ columnData.name }}
- {{ columnData.ownTask && columnData.ownTask.length }}
+ {{ columnData.ownTask && columnData.ownTask.length || 0 }}
+ [remove-task]="getRemoveTaskFunction(task.id)"
+ [collapse]="collapseTasks">
diff --git a/src/app/board/task/task.component.html b/src/app/board/task/task.component.html
index b2bc60d..9f9ad9d 100644
--- a/src/app/board/task/task.component.html
+++ b/src/app/board/task/task.component.html
@@ -4,15 +4,17 @@
+ [ngClass]="{ 'icon-minus-squared-alt': !isCollapsed,
+ 'icon-plus-squared-alt': isCollapsed }"
+ title="{{ isCollapsed ? 'Expand' : 'Collapse' }} Task"
+ (click)="isCollapsed = !isCollapsed">
{{ taskData.title }}
0" class="badge right" title="Points">
{{ taskData.points }}
-
+
diff --git a/src/app/board/task/task.component.ts b/src/app/board/task/task.component.ts
index 02f4027..dde2ebc 100644
--- a/src/app/board/task/task.component.ts
+++ b/src/app/board/task/task.component.ts
@@ -39,6 +39,7 @@ export class TaskDisplay implements OnInit {
@Input('add-task') addTask: Function;
@Input('edit-task') editTask: Function;
@Input('remove-task') removeTask: Function;
+ @Input('collapse') isCollapsed: boolean;
@Input('boards')
set boards(boards: Array) {
@@ -51,6 +52,8 @@ export class TaskDisplay implements OnInit {
private boardService: BoardService,
private modal: ModalService,
private notes: NotificationsService) {
+ this.contextMenuItems = [];
+
auth.userChanged.subscribe(() => {
this.userOptions = auth.userOptions;
});
@@ -117,7 +120,6 @@ export class TaskDisplay implements OnInit {
this.boardsList.forEach((board: Board) => {
if (board.name !== this.activeBoard.name) {
menuText += '';
-
}
});
diff --git a/test/app/board/board.component.spec.js b/test/app/board/board.component.spec.js
index da3d114..34de3ac 100644
--- a/test/app/board/board.component.spec.js
+++ b/test/app/board/board.component.spec.js
@@ -15,7 +15,7 @@ describe('BoardDisplay', () => {
AuthServiceMock, BoardServiceMock);
});
- it('sets the title when contstructed', () => {
+ it('sets the title when constructed', () => {
expect(title.getTitle()).to.equal('TaskBoard - Kanban App');
});
diff --git a/test/app/board/column/column.component.spec.js b/test/app/board/column/column.component.spec.js
new file mode 100644
index 0000000..5b2d65f
--- /dev/null
+++ b/test/app/board/column/column.component.spec.js
@@ -0,0 +1,23 @@
+/* global expect ElementRefMock AuthServiceMock NotificationsServiceMock StringsServiceMock BoardServiceMock ModalServiceMock */
+var path = '../../../../build/board/column/',
+ ColumnDisplay = require(path + 'column.component.js').ColumnDisplay;
+
+describe('ColumnDisplay', () => {
+ var column,
+ modalService;
+
+ beforeEach(() => {
+ modalService = new ModalServiceMock();
+
+ column = new ColumnDisplay(ElementRefMock, AuthServiceMock,
+ new NotificationsServiceMock(),
+ modalService, StringsServiceMock,
+ BoardServiceMock);
+ });
+
+ it('has a context menu', () => {
+ expect(column.contextMenuItems).to.be.an('array');
+ expect(column.contextMenuItems.length).to.equal(1);
+ });
+});
+
diff --git a/test/app/board/task/task.component.spec.js b/test/app/board/task/task.component.spec.js
new file mode 100644
index 0000000..8ffd605
--- /dev/null
+++ b/test/app/board/task/task.component.spec.js
@@ -0,0 +1,23 @@
+/* global expect AuthServiceMock SanitizerMock NotificationsServiceMock BoardServiceMock ModalServiceMock */
+var path = '../../../../build/board/task/',
+ TaskDisplay = require(path + 'task.component.js').TaskDisplay;
+
+describe('TaskDisplay', () => {
+ var task,
+ modalService;
+
+ beforeEach(() => {
+ modalService = new ModalServiceMock();
+
+ task = new TaskDisplay(AuthServiceMock, SanitizerMock,
+ BoardServiceMock, modalService,
+ new NotificationsServiceMock());
+ });
+
+ it('has a context menu', () => {
+ expect(task.contextMenuItems).to.be.an('array');
+ expect(task.contextMenuItems.length).to.equal(0);
+ });
+});
+
+
diff --git a/test/app/mocks.js b/test/app/mocks.js
index 2e30ea4..3e68a67 100644
--- a/test/app/mocks.js
+++ b/test/app/mocks.js
@@ -420,7 +420,7 @@ global.BoardServiceMock = {
data: [ '', [] ]
});
},
- activeBoardChanged: RxJs.Observable.of({})
+ activeBoardChanged: RxJs.Observable.of({ columns: [] })
};
global.HttpMock = {