diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 9dca517..6f72c39 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -2,7 +2,10 @@ import { Routes, RouterModule } from '@angular/router'; import { AuthGuard } from './shared/index'; import { Login } from './login/login.component'; -import { BoardDisplay } from './board/board.component'; +import { + BoardDisplay, + ColumnDisplay +} from './board/index'; import { Settings, UserAdmin, @@ -42,6 +45,7 @@ const ROUTES: Routes = [ export const ROUTE_COMPONENTS = [ Login, BoardDisplay, + ColumnDisplay, Settings, UserAdmin, BoardAdmin, diff --git a/src/app/board/board.component.html b/src/app/board/board.component.html index f0cc34a..16f80b5 100644 --- a/src/app/board/board.component.html +++ b/src/app/board/board.component.html @@ -1,4 +1,4 @@ - +
-
+

No Boards

{{ noBoardsMessage }}

@@ -50,6 +58,10 @@
+ +
diff --git a/src/app/board/board.component.ts b/src/app/board/board.component.ts index f5531f3..3635f81 100644 --- a/src/app/board/board.component.ts +++ b/src/app/board/board.component.ts @@ -29,7 +29,11 @@ export class BoardDisplay implements OnInit { private boards: Array; private boardNavId: number; + private userFilter: number; + private categoryFilter: number; private noBoardsMessage: string; + private pageName: string; + private loading: boolean; constructor(private title: Title, private router: Router, @@ -41,9 +45,16 @@ export class BoardDisplay implements OnInit { private dragula: DragulaService) { title.setTitle('TaskBoard - Kanban App'); this.boardNavId = null; + this.userFilter = null; + this.categoryFilter = null; + + this.pageName = 'Boards'; + this.loading = true; + boardService.getBoards().subscribe((response: ApiResponse) => { this.updateBoardsList(response.data[1]); + this.loading = false; }); auth.userChanged.subscribe((user: User) => { @@ -109,6 +120,7 @@ export class BoardDisplay implements OnInit { this.boards.forEach(board => { if (board.id === this.boardNavId) { this.activeBoard = board; + this.pageName = board.name; } }); } diff --git a/src/app/board/column/column.component.html b/src/app/board/column/column.component.html new file mode 100644 index 0000000..ee69fd0 --- /dev/null +++ b/src/app/board/column/column.component.html @@ -0,0 +1,27 @@ +

+ + + {{ column.name }} + + + {{ taskCount }} + + + + +

+ +
+ + +
+ +
+
+
{{ column | json }}
+
+
+ diff --git a/src/app/board/column/column.component.ts b/src/app/board/column/column.component.ts new file mode 100644 index 0000000..68b3918 --- /dev/null +++ b/src/app/board/column/column.component.ts @@ -0,0 +1,29 @@ +import { + Component, + Input, + ElementRef +} from '@angular/core'; + +import { Column } from '../../shared/index'; + +@Component({ + selector: 'tb-column', + templateUrl: 'app/board/column/column.component.html' +}) +export class ColumnDisplay { + private templateElement: any; + private taskCount: number; + + @Input('column') column: Column; + + constructor(private elRef: ElementRef) { + this.templateElement = elRef.nativeElement; + this.taskCount = 0; + } + + toggleCollapsed() { + this.templateElement.classList.toggle('collapsed'); + } + +} + diff --git a/src/app/board/index.ts b/src/app/board/index.ts new file mode 100644 index 0000000..325e398 --- /dev/null +++ b/src/app/board/index.ts @@ -0,0 +1,3 @@ +export * from './column/column.component'; +export * from './board.component'; + diff --git a/src/app/settings/auto-actions/auto-actions.component.ts b/src/app/settings/auto-actions/auto-actions.component.ts index 21cb501..aa88068 100644 --- a/src/app/settings/auto-actions/auto-actions.component.ts +++ b/src/app/settings/auto-actions/auto-actions.component.ts @@ -239,7 +239,7 @@ export class AutoActions { switch (+action.type) { case ActionType.SetColor: desc = 'Set item color: ' + action.change_to + ''; + action.change_to + ';">' + action.change_to + ''; break; case ActionType.SetCategory: desc = 'Set item category: '; diff --git a/src/app/settings/index.ts b/src/app/settings/index.ts index 19a7dc1..a5a3803 100644 --- a/src/app/settings/index.ts +++ b/src/app/settings/index.ts @@ -1,6 +1,6 @@ +export * from './auto-actions/auto-actions.component'; +export * from './board-admin/board-admin.component'; export * from './user-admin/user-admin.component'; export * from './user-settings/user-settings.component'; -export * from './board-admin/board-admin.component'; export * from './settings.component'; -export * from './auto-actions/auto-actions.component'; diff --git a/src/app/settings/user-admin/user-admin.component.ts b/src/app/settings/user-admin/user-admin.component.ts index d260d14..91cb6da 100644 --- a/src/app/settings/user-admin/user-admin.component.ts +++ b/src/app/settings/user-admin/user-admin.component.ts @@ -46,7 +46,6 @@ export class UserAdmin { auth.userChanged .subscribe(activeUser => { - console.log('userChanged'); this.activeUser = new User(+activeUser.default_board_id, activeUser.email, +activeUser.id, @@ -60,19 +59,16 @@ export class UserAdmin { settings.boardsChanged .subscribe(boards => { - console.log('boardsChanged'); this.boards = boards; }); settings.getUsers() .subscribe((response: ApiResponse) => { - console.log('getUsers'); if (response.data[1]) { response.data[1].forEach((user: any) => { this.users.push(this.convertUser(user)); }); } - console.log(this.users); this.getBoards(); }); @@ -90,7 +86,6 @@ export class UserAdmin { if (isAdd) { this.userService.addUser(this.modalProps.user) .subscribe((response: ApiResponse) => { - console.log('addUser'); response.alerts.forEach(note => this.notes.add(note)); this.replaceUserList(response); @@ -132,7 +127,6 @@ export class UserAdmin { } private getBoards(): void { - console.log('getBoards'); this.settings.getBoards() .subscribe((response: ApiResponse) => { let boards = response.data[1]; @@ -190,7 +184,6 @@ export class UserAdmin { response.data[1].forEach((user: any) => { this.users.push(this.convertUser(user)); }); - console.log('replaceUserList', this.users); this.updateUserList(); } @@ -270,7 +263,6 @@ export class UserAdmin { user.can_admin = false; } }); - console.log('updateUserList', this.users); this.settings.updateUsers(> this.users); } diff --git a/src/scss/_board.scss b/src/scss/_board.scss index dd85d6f..4f587ce 100644 --- a/src/scss/_board.scss +++ b/src/scss/_board.scss @@ -43,6 +43,7 @@ height: calc(100% - 7px); margin-left: 7px; overflow: auto; + position: relative; white-space: normal; h3 { @@ -61,6 +62,11 @@ } } + .quick-add { + padding: 6px; + padding-right: 5px; + } + &:last-of-type { margin-right: 7px; } @@ -89,7 +95,7 @@ .icon-angle-double-down, .icon-minus-squared-alt, .icon-plus-squared-alt, - .task, + .tasks, .quick-add { display: none; } @@ -101,8 +107,14 @@ } .tasks { + bottom: 0; + left: 0; + overflow-y: auto; padding: 7px; - padding-bottom: 0; + padding-top: 0; + position: absolute; + right: 0; + top: 5.2em; div:last-of-type { margin-bottom: 0;