add button to delete task
This commit is contained in:
Vendored
+17
-4
@@ -1463,12 +1463,12 @@
|
|||||||
this.close();
|
this.close();
|
||||||
this.save();
|
this.save();
|
||||||
};
|
};
|
||||||
// storage
|
// settings
|
||||||
save = () => {
|
save = () => {
|
||||||
const newTaskFileContent = BoardModel.createTaskFileContent(
|
const newTaskFileContent = BoardModel.createTaskFileContent(
|
||||||
this.task.fileId,
|
this.task.fileId,
|
||||||
this.name.value,
|
this.name.value,
|
||||||
this.boardViewModel.boardInfo.fileId
|
this.task.boardId
|
||||||
);
|
);
|
||||||
newTaskFileContent.description = this.description.value;
|
newTaskFileContent.description = this.description.value;
|
||||||
newTaskFileContent.status = this.status.value;
|
newTaskFileContent.status = this.status.value;
|
||||||
@@ -1479,6 +1479,11 @@
|
|||||||
this.boardModel.updateTaskAndSend(newTaskFileContent);
|
this.boardModel.updateTaskAndSend(newTaskFileContent);
|
||||||
this.boardViewModel.showTaskInList(newTaskFileContent);
|
this.boardViewModel.showTaskInList(newTaskFileContent);
|
||||||
};
|
};
|
||||||
|
deleteTask = () => {
|
||||||
|
this.close();
|
||||||
|
this.boardModel.deleteTask(this.task.boardId, this.task.fileId);
|
||||||
|
this.boardViewModel.removeTaskFromList(this.task.fileId);
|
||||||
|
};
|
||||||
// load
|
// load
|
||||||
loadAllData = () => {
|
loadAllData = () => {
|
||||||
this.name.value = this.task.name;
|
this.name.value = this.task.name;
|
||||||
@@ -1573,6 +1578,9 @@
|
|||||||
);
|
);
|
||||||
this.taskViewModels.set(taskFileContent.fileId, taskViewModel);
|
this.taskViewModels.set(taskFileContent.fileId, taskViewModel);
|
||||||
};
|
};
|
||||||
|
removeTaskFromList = (taskId) => {
|
||||||
|
this.taskViewModels.remove(taskId);
|
||||||
|
};
|
||||||
select = () => {
|
select = () => {
|
||||||
this.taskPageViewModel.selectBoard(this);
|
this.taskPageViewModel.selectBoard(this);
|
||||||
};
|
};
|
||||||
@@ -2065,7 +2073,8 @@
|
|||||||
taskPriorityLabel: "Priority",
|
taskPriorityLabel: "Priority",
|
||||||
taskDescriptionLabel: "Description",
|
taskDescriptionLabel: "Description",
|
||||||
taskDateLabel: "Date",
|
taskDateLabel: "Date",
|
||||||
taskTimeLabel: "Time"
|
taskTimeLabel: "Time",
|
||||||
|
deleteTaskButton: "Delete task"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -2359,7 +2368,11 @@
|
|||||||
rows: "10",
|
rows: "10",
|
||||||
"bind:value": taskViewModel.description
|
"bind:value": taskViewModel.description
|
||||||
}
|
}
|
||||||
))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskCategoryLabel), /* @__PURE__ */ createElement("input", { "bind:value": taskViewModel.category }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "clock_loader_40"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskStatusLabel), /* @__PURE__ */ createElement("input", { "bind:value": taskViewModel.status }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "priority_high"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskPriorityLabel), /* @__PURE__ */ createElement("input", { type: "number", "bind:value": taskViewModel.priority }))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "calendar_month"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskDateLabel), /* @__PURE__ */ createElement("input", { type: "date", "bind:value": taskViewModel.date }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "schedule"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskTimeLabel), /* @__PURE__ */ createElement("input", { type: "time", "bind:value": taskViewModel.time })))), /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement("button", { class: "flex", "on:click": taskViewModel.close }, translations.general.closeButton), /* @__PURE__ */ createElement("button", { class: "flex primary", "on:click": taskViewModel.closeAndSave }, translations.general.saveButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "save")))));
|
))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskCategoryLabel), /* @__PURE__ */ createElement("input", { "bind:value": taskViewModel.category }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "clock_loader_40"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskStatusLabel), /* @__PURE__ */ createElement("input", { "bind:value": taskViewModel.status }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "priority_high"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskPriorityLabel), /* @__PURE__ */ createElement("input", { type: "number", "bind:value": taskViewModel.priority }))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "calendar_month"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskDateLabel), /* @__PURE__ */ createElement("input", { type: "date", "bind:value": taskViewModel.date }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "schedule"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskTimeLabel), /* @__PURE__ */ createElement("input", { type: "time", "bind:value": taskViewModel.time }))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "width-input" }, DangerousActionButton(
|
||||||
|
translations.chatPage.task.deleteTaskButton,
|
||||||
|
"delete_forever",
|
||||||
|
taskViewModel.deleteTask
|
||||||
|
))), /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement("button", { class: "flex", "on:click": taskViewModel.close }, translations.general.closeButton), /* @__PURE__ */ createElement("button", { class: "flex primary", "on:click": taskViewModel.closeAndSave }, translations.general.saveButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "save")))));
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/View/Components/taskEntry.tsx
|
// src/View/Components/taskEntry.tsx
|
||||||
|
|||||||
@@ -73,6 +73,16 @@ export function TaskSettingsModal(taskViewModel: TaskViewModel) {
|
|||||||
<input type="time" bind:value={taskViewModel.time}></input>
|
<input type="time" bind:value={taskViewModel.time}></input>
|
||||||
</div>
|
</div>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<hr></hr>
|
||||||
|
|
||||||
|
<div class="width-input">
|
||||||
|
{DangerousActionButton(
|
||||||
|
translations.chatPage.task.deleteTaskButton,
|
||||||
|
"delete_forever",
|
||||||
|
taskViewModel.deleteTask
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<div class="flex-row width-100">
|
<div class="flex-row width-100">
|
||||||
<button class="flex" on:click={taskViewModel.close}>
|
<button class="flex" on:click={taskViewModel.close}>
|
||||||
|
|||||||
@@ -170,6 +170,8 @@ const englishTranslations = {
|
|||||||
|
|
||||||
taskDateLabel: "Date",
|
taskDateLabel: "Date",
|
||||||
taskTimeLabel: "Time",
|
taskTimeLabel: "Time",
|
||||||
|
|
||||||
|
deleteTaskButton: "Delete task",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ export default class BoardViewModel {
|
|||||||
this.taskViewModels.set(taskFileContent.fileId, taskViewModel);
|
this.taskViewModels.set(taskFileContent.fileId, taskViewModel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
removeTaskFromList = (taskId: string): void => {
|
||||||
|
this.taskViewModels.remove(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
select = (): void => {
|
select = (): void => {
|
||||||
this.taskPageViewModel.selectBoard(this);
|
this.taskPageViewModel.selectBoard(this);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ export default class TaskViewModel {
|
|||||||
this.save();
|
this.save();
|
||||||
};
|
};
|
||||||
|
|
||||||
// storage
|
// settings
|
||||||
save = (): void => {
|
save = (): void => {
|
||||||
const newTaskFileContent: TaskFileContent =
|
const newTaskFileContent: TaskFileContent =
|
||||||
BoardModel.createTaskFileContent(
|
BoardModel.createTaskFileContent(
|
||||||
this.task.fileId,
|
this.task.fileId,
|
||||||
this.name.value,
|
this.name.value,
|
||||||
this.boardViewModel.boardInfo.fileId
|
this.task.boardId
|
||||||
);
|
);
|
||||||
|
|
||||||
newTaskFileContent.description = this.description.value;
|
newTaskFileContent.description = this.description.value;
|
||||||
@@ -63,6 +63,12 @@ export default class TaskViewModel {
|
|||||||
this.boardViewModel.showTaskInList(newTaskFileContent);
|
this.boardViewModel.showTaskInList(newTaskFileContent);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
deleteTask = (): void => {
|
||||||
|
this.close();
|
||||||
|
this.boardModel.deleteTask(this.task.boardId, this.task.fileId);
|
||||||
|
this.boardViewModel.removeTaskFromList(this.task.fileId);
|
||||||
|
};
|
||||||
|
|
||||||
// load
|
// load
|
||||||
loadAllData = (): void => {
|
loadAllData = (): void => {
|
||||||
this.name.value = this.task.name;
|
this.name.value = this.task.name;
|
||||||
|
|||||||
Reference in New Issue
Block a user