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),