Skip to content

Commit c7cafa1

Browse files
authored
Merge pull request #3189 from obsidian-tasks-group/refactor-remove-old-code
refactor: Remove unused Flatpickr code from Edit Task modal
2 parents 0a536dc + bdfe4c0 commit c7cafa1

File tree

3 files changed

+1
-65
lines changed

3 files changed

+1
-65
lines changed

src/Obsidian/TaskModal.ts

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,14 @@
11
import { App, Modal } from 'obsidian';
2-
import type flatpickr from 'flatpickr';
32

43
import EditTask from '../ui/EditTask.svelte';
54
import type { Task } from '../Task/Task';
65
import { StatusRegistry } from '../Statuses/StatusRegistry';
76
import { Status } from '../Statuses/Status';
87

9-
export interface IFlatpickrUser {
10-
setActiveFlatpickrInstance(instance: flatpickr.Instance): void;
11-
clearActiveFlatpickrInstance(): void;
12-
}
13-
14-
export class TaskModal extends Modal implements IFlatpickrUser {
8+
export class TaskModal extends Modal {
159
public readonly task: Task;
1610
public readonly onSubmit: (updatedTasks: Task[]) => void;
1711
public readonly allTasks: Task[];
18-
private activeFlatpickrInstance: flatpickr.Instance | null = null;
1912

2013
constructor({
2114
app,
@@ -33,13 +26,6 @@ export class TaskModal extends Modal implements IFlatpickrUser {
3326
this.task = task;
3427
this.allTasks = allTasks;
3528
this.onSubmit = (updatedTasks: Task[]) => {
36-
if (this.activeFlatpickrInstance) {
37-
// Ignore onSubmit if the date-picker is open:
38-
// For some unknown reason, making the date-picker lunched from a Button
39-
// caused the modal to be automatically submitted before the user had
40-
// even seen the date picker.
41-
return;
42-
}
4329
updatedTasks.length && onSubmit(updatedTasks);
4430
this.close();
4531
};
@@ -61,7 +47,6 @@ export class TaskModal extends Modal implements IFlatpickrUser {
6147
statusOptions: statusOptions,
6248
onSubmit: this.onSubmit,
6349
allTasks: this.allTasks,
64-
modal: this,
6550
},
6651
});
6752
}
@@ -84,25 +69,4 @@ export class TaskModal extends Modal implements IFlatpickrUser {
8469
const { contentEl } = this;
8570
contentEl.empty();
8671
}
87-
88-
/**
89-
* Make sure that if the date picker is open, an Escape key only closes
90-
* the date-picker, and not the EditTask modal as well.
91-
*/
92-
public onEscapeKey(): void {
93-
if (this.activeFlatpickrInstance?.isOpen) {
94-
this.activeFlatpickrInstance.close();
95-
this.activeFlatpickrInstance = null;
96-
} else {
97-
this.close();
98-
}
99-
}
100-
101-
public setActiveFlatpickrInstance(instance: flatpickr.Instance): void {
102-
this.activeFlatpickrInstance = instance;
103-
}
104-
105-
public clearActiveFlatpickrInstance(): void {
106-
this.activeFlatpickrInstance = null;
107-
}
10872
}

src/ui/EditTask.svelte

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
<script lang="ts">
22
import { onMount } from 'svelte';
3-
import type flatpickr from 'flatpickr';
43
54
import { TASK_FORMATS, getSettings } from '../Config/Settings';
65
import type { Status } from '../Statuses/Status';
76
import type { Task } from '../Task/Task';
8-
import type { IFlatpickrUser } from '../Obsidian/TaskModal';
97
import DateEditor from './DateEditor.svelte';
108
import Dependency from './Dependency.svelte';
119
import { EditableTask } from './EditableTask';
@@ -18,7 +16,6 @@
1816
export let onSubmit: (updatedTasks: Task[]) => void | Promise<void>;
1917
export let statusOptions: Status[];
2018
export let allTasks: Task[];
21-
export let modal: IFlatpickrUser | null = null;
2219
2320
const {
2421
// NEW_TASK_FIELD_EDIT_REQUIRED
@@ -149,18 +146,6 @@
149146
const newTasks = await editableTask.applyEdits(task, allTasks);
150147
onSubmit(newTasks);
151148
};
152-
153-
function handleOpen(event: CustomEvent<{ instance: flatpickr.Instance }>) {
154-
if (modal) {
155-
modal.setActiveFlatpickrInstance(event.detail.instance);
156-
}
157-
}
158-
159-
function handleClose() {
160-
if (modal) {
161-
modal.clearActiveFlatpickrInstance();
162-
}
163-
}
164149
</script>
165150

166151
<!--
@@ -269,8 +254,6 @@ Availability of access keys:
269254
bind:isDateValid={isDueDateValid}
270255
forwardOnly={editableTask.forwardOnly}
271256
accesskey={accesskey('d')}
272-
on:open={handleOpen}
273-
on:close={handleClose}
274257
/>
275258

276259
<!-- --------------------------------------------------------------------------- -->
@@ -283,8 +266,6 @@ Availability of access keys:
283266
bind:isDateValid={isScheduledDateValid}
284267
forwardOnly={editableTask.forwardOnly}
285268
accesskey={accesskey('s')}
286-
on:open={handleOpen}
287-
on:close={handleClose}
288269
/>
289270

290271
<!-- --------------------------------------------------------------------------- -->
@@ -297,8 +278,6 @@ Availability of access keys:
297278
bind:isDateValid={isStartDateValid}
298279
forwardOnly={editableTask.forwardOnly}
299280
accesskey={accesskey('a')}
300-
on:open={handleOpen}
301-
on:close={handleClose}
302281
/>
303282

304283
<!-- --------------------------------------------------------------------------- -->
@@ -372,8 +351,6 @@ Availability of access keys:
372351
bind:isDateValid={isCreatedDateValid}
373352
forwardOnly={editableTask.forwardOnly}
374353
accesskey={accesskey('c')}
375-
on:open={handleOpen}
376-
on:close={handleClose}
377354
/>
378355

379356
<!-- --------------------------------------------------------------------------- -->
@@ -386,8 +363,6 @@ Availability of access keys:
386363
bind:isDateValid={isDoneDateValid}
387364
forwardOnly={editableTask.forwardOnly}
388365
accesskey={accesskey('x')}
389-
on:open={handleOpen}
390-
on:close={handleClose}
391366
/>
392367

393368
<!-- --------------------------------------------------------------------------- -->
@@ -400,8 +375,6 @@ Availability of access keys:
400375
bind:isDateValid={isCancelledDateValid}
401376
forwardOnly={editableTask.forwardOnly}
402377
accesskey={accesskey('-')}
403-
on:open={handleOpen}
404-
on:close={handleClose}
405378
/>
406379
</section>
407380

tests/ui/EditTask.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ function renderAndCheckModal(task: Task, onSubmit: (updatedTasks: Task[]) => voi
4848
statusOptions: StatusRegistry.getInstance().registeredStatuses,
4949
onSubmit,
5050
allTasks,
51-
modal: null,
5251
});
5352
const { container } = result;
5453
expect(() => container).toBeTruthy();

0 commit comments

Comments
 (0)