From 9a324325a942d382ad5b93264504c9d2ac1f58a8 Mon Sep 17 00:00:00 2001 From: kiswa Date: Wed, 6 Sep 2017 20:15:38 +0000 Subject: [PATCH] Update task description to custom component and initial view task modal --- src/app/board/column/column.component.html | 21 +++++++++++++++++++-- src/app/board/column/column.component.ts | 22 ++++++++++++++++++++++ src/app/board/task/task.component.html | 6 ++++-- src/app/board/task/task.component.ts | 19 +++++++++++++------ 4 files changed, 58 insertions(+), 10 deletions(-) diff --git a/src/app/board/column/column.component.html b/src/app/board/column/column.component.html index 8ecb746..90a0c8d 100644 --- a/src/app/board/column/column.component.html +++ b/src/app/board/column/column.component.html @@ -79,9 +79,11 @@ [task]="task" [boards]="boards" [add-task]="getShowModalFunction()" [edit-task]="getShowModalFunction(task.id)" + [view-task]="getShowViewModalFunction(task.id)" [remove-task]="getRemoveTaskFunction(task.id)" (on-update-boards)="callBoardUpdate();" - [collapse]="collapseTasks"> + [collapse]="collapseTasks" + (dblclick)="showViewModal(task.id)"> @@ -94,7 +96,9 @@
+ (click)="modal.close(MODAL_CONFIRM_ID + columnData.id);removeTask()"> + {{ strings['yes'] }} +
+ + +
+ {{ viewModalProps.description }} + + +
+
+ +
+ +
diff --git a/src/app/board/task/task.component.ts b/src/app/board/task/task.component.ts index df0c738..e307b62 100644 --- a/src/app/board/task/task.component.ts +++ b/src/app/board/task/task.component.ts @@ -48,6 +48,7 @@ export class TaskDisplay implements OnInit { @Input('task') taskData: Task; @Input('add-task') addTask: Function; @Input('edit-task') editTask: Function; + @Input('view-task') viewTask: Function; @Input('remove-task') removeTask: Function; @Input('collapse') isCollapsed: boolean; @@ -103,9 +104,10 @@ export class TaskDisplay implements OnInit { this.checkDueDate(); } - getTaskDescription(): SafeHtml { - let html = this.sanitizer.bypassSecurityTrustHtml( - marked(this.taskData.description, this.markedCallback)); + getTaskDescription(): string { + let html = marked(this.taskData.description, this.markedCallback); + // Escape curly braces for dynamic component. + html = html.replace(/(\{)([^}]+)(\})/g, '{{ "{" }}$2{{ "}" }}'); return html; } @@ -211,9 +213,14 @@ export class TaskDisplay implements OnInit { } private changeTaskColumn() { - let select = document.getElementById('columnsList' + this.taskData.id) as HTMLSelectElement; + let select = document.getElementById('columnsList' + this.taskData.id) as HTMLSelectElement, + id = +select[select.selectedIndex].value; - this.taskData.column_id = +select[select.selectedIndex].value; + if (id === 0) { + return; + } + + this.taskData.column_id = id; this.boardService.updateTask(this.taskData) .subscribe((response: ApiResponse) => { @@ -244,7 +251,7 @@ export class TaskDisplay implements OnInit { private generateContextMenuItems() { this.contextMenuItems = [ - new ContextMenuItem(this.strings.boards_viewTask), + new ContextMenuItem(this.strings.boards_viewTask, this.viewTask), new ContextMenuItem(this.strings.boards_editTask, this.editTask), new ContextMenuItem(this.strings.boards_removeTask, this.removeTask), new ContextMenuItem('', null, true),