fix bug with creating tasks

This commit is contained in:
marlon-erler
2024-07-26 06:56:34 +02:00
parent 1afea509f3
commit 43363a4ed1
7 changed files with 70 additions and 7 deletions
+6
View File
@@ -112,6 +112,12 @@ export default class CalendarModel {
const paddedMonth: string = month.padStart(2, "0");
return `${paddedYear}-${paddedMonth}`;
};
static getISODateString = (year: string, month: string, date: string): string => {
const monthString: string = CalendarModel.getMonthString(year, month);
const paddedDate: string = date.padStart(2, "0");
return `${monthString}-${paddedDate}`;
};
}
export enum CalendarModelSubPaths {
+1
View File
@@ -129,6 +129,7 @@ export function CalendarPage(calendarPageViewModel: CalendarPageViewModel) {
aria-label={
translations.chatPage.task.createTaskButtonAudioLabel
}
on:click={calendarPageViewModel.createEvent}
>
<span class="icon">add</span>
</button>
+5 -1
View File
@@ -200,7 +200,11 @@ const englishTranslations = {
///
searchEventsHeadline: "Search Events"
searchEventsHeadline: "Search Events",
///
events: "Events",
},
},
};
+4 -1
View File
@@ -7,7 +7,6 @@ import BoardsAndTasksModel, {
import { Color } from "../../colors";
import CoreViewModel from "../Global/coreViewModel";
import { IndexManager } from "../../Model/Utility/utility";
import StorageModel from "../../Model/Global/storageModel";
import TaskContainingPageViewModel from "./taskContainingPageViewModel";
import TaskPageViewModel from "./taskPageViewModel";
@@ -69,6 +68,10 @@ export default class BoardViewModel extends TaskContainingPageViewModel {
};
// methods
createTask = (): void => {
this.createTaskFromBoardId(this.boardInfo.fileId);
}
handleDropWithinBoard = (category?: string, status?: string): void => {
const draggedObject: any = this.coreViewModel.draggedObject.value;
if (draggedObject instanceof TaskViewModel == false) return;
+22 -1
View File
@@ -39,6 +39,27 @@ export default class CalendarPageViewModel extends TaskContainingPageViewModel {
monthGrid: React.State<MonthGrid<React.MapState<TaskViewModel>> | undefined> =
new React.State<any>(undefined);
// methods
createEvent = (): void => {
const taskFileContent: TaskFileContent =
this.boardsAndTasksModel.createTask("events");
taskFileContent.date = CalendarModel.getISODateString(
this.selectedYear.value.toString(),
this.selectedMonth.value.toString(),
this.selectedDate.value.toString()
);
const taskViewModel: TaskViewModel = new TaskViewModel(
this.coreViewModel,
this.boardsAndTasksModel,
this,
taskFileContent
);
this.selectTask(taskViewModel);
this.updateTaskIndices();
};
// view
getTaskMapState = (
taskFileContent: TaskFileContent
@@ -70,7 +91,7 @@ export default class CalendarPageViewModel extends TaskContainingPageViewModel {
const mapState: React.MapState<TaskViewModel> | null =
this.getTaskMapState(taskFileContent);
mapState?.set(taskFileContent.fileId, taskViewModel);
this.taskViewModels.set(taskFileContent.fileId, taskViewModel);
};
@@ -25,7 +25,7 @@ export default class TaskContainingPageViewModel {
taskViewModels: React.MapState<TaskViewModel> = new React.MapState();
// methods
createTask = (boardId: string): void => {
createTaskFromBoardId = (boardId: string): void => {
const taskFileContent: TaskFileContent =
this.boardsAndTasksModel.createTask(boardId);
const taskViewModel: TaskViewModel = new TaskViewModel(