aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/TaskManagerTask.tsx29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/client/views/nodes/TaskManagerTask.tsx b/src/client/views/nodes/TaskManagerTask.tsx
index d8c1430d4..913c46bfb 100644
--- a/src/client/views/nodes/TaskManagerTask.tsx
+++ b/src/client/views/nodes/TaskManagerTask.tsx
@@ -14,7 +14,7 @@ interface TaskManagerProps {
}
@observer
-export class TaskManagerTask extends React.Component<Props> {
+export class TaskManagerTask extends React.Component<TaskManagerProps> {
public static LayoutString(fieldStr: string) {
return FieldView.LayoutString(TaskManagerTask, fieldStr);
}
@@ -89,18 +89,12 @@ export class TaskManagerTask extends React.Component<Props> {
const doc = this.props.Document;
if (doc.allDay) {
- // All-day task → use date only
- if (!doc.title) return;
-
- const parsedDate = new Date(doc.title as string);
- if (!isNaN(parsedDate.getTime())) {
- const localStart = new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate());
- const localEnd = new Date(localStart);
- doc.date_range = `${localStart.toISOString()}|${localEnd.toISOString()}`;
- doc.allDay = true;
- }
+ const range = typeof doc.date_range === 'string' ? doc.date_range.split('|') : [];
+ const dateStr = range[0] ?? new Date().toISOString().split('T')[0]; // default to today
+
+ doc.date_range = `${dateStr}|${dateStr}`;
+ doc.allDay = true;
} else {
- // Timed task → use full startTime and endTime
const startField = doc.startTime;
const endField = doc.endTime;
const startDate = startField instanceof DateField ? startField.date : null;
@@ -109,12 +103,13 @@ export class TaskManagerTask extends React.Component<Props> {
if (startDate && endDate && !isNaN(startDate.getTime()) && !isNaN(endDate.getTime())) {
doc.date_range = `${startDate.toISOString()}|${endDate.toISOString()}`;
doc.allDay = false;
- } else {
- console.warn('startTime or endTime is invalid');
}
}
}
+
+
+
@action
toggleComplete = (e: React.ChangeEvent<HTMLInputElement>) => {
this.props.Document.completed = e.target.checked;
@@ -238,8 +233,10 @@ export class TaskManagerTask extends React.Component<Props> {
onChange={e => {
const newDate = new Date(e.target.value);
if (!isNaN(newDate.getTime())) {
- const iso = newDate.toISOString().split('T')[0];
- doc.date_range = `${iso}T00:00:00.000Z|${iso}T00:00:00.000Z`;
+ const dateStr = e.target.value;
+ if (dateStr) {
+ doc.date_range = `${dateStr}T00:00:00|${dateStr}T00:00:00`;
+ }
}
}}
disabled={isCompleted}