MCPcopy
hub / github.com/callumalpass/tasknotes / openTaskModalTaskSelector

Function openTaskModalTaskSelector

src/modals/taskModalTaskSelector.ts:31–71  ·  view source on GitHub ↗
({
	plugin,
	getAllTasks = async () => (await plugin.cacheManager.getAllTasks?.()) ?? [],
	getCandidates,
	onSelect,
	translate,
	noEligibleTasksMessageKey,
	openFailedMessageKey,
	logOperation,
	openSelector = openTaskSelector,
	showNotice = (message) => {
		new Notice(message);
	},
	logger = taskSelectorLogger,
}: OpenTaskModalTaskSelectorOptions)

Source from the content-addressed store, hash-verified

29const taskSelectorLogger = createTaskNotesLogger({ tag: "TaskModal/TaskSelector" });
30
31export async function openTaskModalTaskSelector({
32 plugin,
33 getAllTasks = async () => (await plugin.cacheManager.getAllTasks?.()) ?? [],
34 getCandidates,
35 onSelect,
36 translate,
37 noEligibleTasksMessageKey,
38 openFailedMessageKey,
39 logOperation,
40 openSelector = openTaskSelector,
41 showNotice = (message) => {
42 new Notice(message);
43 },
44 logger = taskSelectorLogger,
45}: OpenTaskModalTaskSelectorOptions): Promise<TaskModalTaskSelectorStatus> {
46 try {
47 const allTasks = (await getAllTasks()) ?? [];
48 const candidates = [...getCandidates(allTasks)];
49
50 if (candidates.length === 0) {
51 showNotice(translate(noEligibleTasksMessageKey));
52 return "empty";
53 }
54
55 openSelector(plugin, candidates, (task) => {
56 if (!task) {
57 return;
58 }
59 onSelect(task);
60 });
61 return "opened";
62 } catch (error) {
63 logger.error("Failed to open task selector", {
64 category: "stale-data",
65 operation: logOperation,
66 error,
67 });
68 showNotice(translate(openFailedMessageKey));
69 return "error";
70 }
71}

Callers 4

openBlockedBySelectorFunction · 0.90
openBlockingSelectorFunction · 0.90
openSubtaskSelectorFunction · 0.90

Calls 4

showNoticeFunction · 0.85
errorMethod · 0.80
translateFunction · 0.50
getAllTasksMethod · 0.45

Tested by

no test coverage detected