From 0200e1eaeeaf20aa2155d7ff3c974e5295653b26 Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Fri, 2 May 2025 15:59:06 +0200 Subject: [PATCH] feat(dueDate): replace removeTaskFromTodayTagList in favor of unschedule --- .../dialog-schedule-task.component.ts | 13 ++++----- .../planner-day/planner-day.component.ts | 12 +------- src/app/features/tag/store/tag.actions.ts | 5 ---- src/app/features/tag/store/tag.reducer.ts | 16 +--------- src/app/features/tasks/store/task.reducer.ts | 21 +------------- .../task-context-menu-inner.component.html | 2 +- .../task-context-menu-inner.component.ts | 29 ++++++++----------- .../task-hover-controls.component.html | 2 +- src/app/features/tasks/task/task.component.ts | 16 +++++----- 9 files changed, 30 insertions(+), 86 deletions(-) diff --git a/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.ts b/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.ts index 7aef986152..2998e6c34e 100644 --- a/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.ts +++ b/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.ts @@ -53,7 +53,6 @@ import { import { MatSelect } from '@angular/material/select'; import { TranslatePipe } from '@ngx-translate/core'; import { MatInput } from '@angular/material/input'; -import { removeTaskFromTodayTagList } from '../../tag/store/tag.actions'; const DEFAULT_TIME = '09:00'; @@ -305,7 +304,7 @@ export class DialogScheduleTaskComponent implements AfterViewInit { } } - async submit(isRemoveFromToday = false): Promise { + async submit(isUnschedule = false): Promise { if (!this.selectedDate) { console.warn('no selected date'); return; @@ -317,8 +316,10 @@ export class DialogScheduleTaskComponent implements AfterViewInit { this._handleReminderRemoval(); - if (isRemoveFromToday) { - this._removeFromToday(); + if (isUnschedule) { + this._store.dispatch( + unScheduleTask({ id: this.data.task.id, reminderId: this.data.task.reminderId }), + ); } else if (this.selectedTime) { this._scheduleWithTime(); } else if ( @@ -354,10 +355,6 @@ export class DialogScheduleTaskComponent implements AfterViewInit { } } - private _removeFromToday(): void { - this._store.dispatch(removeTaskFromTodayTagList({ taskId: this.data.task.id })); - } - private _scheduleWithTime(): void { const task = this.data.task; const newDate = new Date( diff --git a/src/app/features/planner/planner-day/planner-day.component.ts b/src/app/features/planner/planner-day/planner-day.component.ts index 732e3d7d84..6e65d4b97e 100644 --- a/src/app/features/planner/planner-day/planner-day.component.ts +++ b/src/app/features/planner/planner-day/planner-day.component.ts @@ -10,10 +10,7 @@ import { Store } from '@ngrx/store'; import { MatDialog } from '@angular/material/dialog'; import { TaskService } from '../../tasks/task.service'; import { ReminderService } from '../../reminder/reminder.service'; -import { - moveTaskInTodayTagList, - removeTaskFromTodayTagList, -} from '../../tag/store/tag.actions'; +import { moveTaskInTodayTagList } from '../../tag/store/tag.actions'; import { DateService } from '../../../core/date/date.service'; import { DialogScheduleTaskComponent } from '../dialog-schedule-task/dialog-schedule-task.component'; import { dateStrToUtcDate } from '../../../util/date-str-to-utc-date'; @@ -154,13 +151,6 @@ export class PlannerDayComponent { task.dueWithTime as number, reminder?.remindAt, ); - const isToday = new Date().toDateString() === newDate.toDateString(); this._taskService.scheduleTask(task, newDate.getTime(), selectedReminderCfgId, false); - if (isToday) { - // not required any more - // this._store.dispatch(planTaskForToday({ taskId: task.id })); - } else { - this._store.dispatch(removeTaskFromTodayTagList({ taskId: task.id })); - } } } diff --git a/src/app/features/tag/store/tag.actions.ts b/src/app/features/tag/store/tag.actions.ts index b5d29075be..7ee82ce994 100644 --- a/src/app/features/tag/store/tag.actions.ts +++ b/src/app/features/tag/store/tag.actions.ts @@ -29,11 +29,6 @@ export const planTaskForToday = createAction( props<{ taskId: string }>(), ); -export const removeTaskFromTodayTagList = createAction( - '[Tag] Remove Task From Today', - props<{ taskId: string }>(), -); - export const updateAdvancedConfigForTag = createAction( '[Tag] Update Advanced Config', props<{ tagId: string; sectionKey: WorkContextAdvancedCfgKey; data: any }>(), diff --git a/src/app/features/tag/store/tag.reducer.ts b/src/app/features/tag/store/tag.reducer.ts index 4c6e937da1..ccf3ad0513 100644 --- a/src/app/features/tag/store/tag.reducer.ts +++ b/src/app/features/tag/store/tag.reducer.ts @@ -33,11 +33,10 @@ import { MODEL_VERSION_KEY } from '../../../app.constants'; import { MODEL_VERSION } from '../../../core/model-version'; import { addTag, - planTaskForToday, deleteTag, deleteTags, moveTaskInTodayTagList, - removeTaskFromTodayTagList, + planTaskForToday, updateAdvancedConfigForTag, updateTag, updateTagOrder, @@ -559,19 +558,6 @@ export const tagReducer = createReducer( state, ); }), - on(removeTaskFromTodayTagList, (state, { taskId }) => { - return tagAdapter.updateOne( - { - id: TODAY_TAG.id, - changes: { - taskIds: (state.entities[TODAY_TAG.id] as Tag).taskIds.filter( - (id) => id !== taskId, - ), - }, - }, - state, - ); - }), on(moveTaskInTodayTagList, (state, { toTaskId, fromTaskId }) => { const todayTag = state.entities[TODAY_TAG.id] as Tag; diff --git a/src/app/features/tasks/store/task.reducer.ts b/src/app/features/tasks/store/task.reducer.ts index f237b127e4..f04be7216c 100644 --- a/src/app/features/tasks/store/task.reducer.ts +++ b/src/app/features/tasks/store/task.reducer.ts @@ -69,10 +69,7 @@ import { TODAY_TAG } from '../../tag/tag.const'; import { getWorklogStr } from '../../../util/get-work-log-str'; import { deleteProject } from '../../project/store/project.actions'; import { TimeTrackingActions } from '../../time-tracking/store/time-tracking.actions'; -import { - planTaskForToday, - removeTaskFromTodayTagList, -} from '../../tag/store/tag.actions'; +import { planTaskForToday } from '../../tag/store/tag.actions'; export const TASK_FEATURE_NAME = 'tasks'; @@ -718,22 +715,6 @@ export const taskReducer = createReducer( state, ); }), - on(removeTaskFromTodayTagList, (state, { taskId }) => { - const targetTask = state.entities[taskId] as Task; - if (targetTask.dueDay === getWorklogStr()) { - return taskAdapter.updateOne( - { - id: taskId, - changes: { - dueDay: undefined, - }, - }, - state, - ); - } - - return state; - }), // REMINDER STUFF // -------------- diff --git a/src/app/features/tasks/task-context-menu/task-context-menu-inner/task-context-menu-inner.component.html b/src/app/features/tasks/task-context-menu/task-context-menu-inner/task-context-menu-inner.component.html index 001c782c1f..7178850dd7 100644 --- a/src/app/features/tasks/task-context-menu/task-context-menu-inner/task-context-menu-inner.component.html +++ b/src/app/features/tasks/task-context-menu/task-context-menu-inner/task-context-menu-inner.component.html @@ -178,7 +178,7 @@ (task.projectId || task.tagIds.length > 1) ) {