( task: TaskInfo, plugin: TaskNotesPlugin, projectFile: TAbstractFile )
| 1558 | } |
| 1559 | |
| 1560 | private async addTaskToProject( |
| 1561 | task: TaskInfo, |
| 1562 | plugin: TaskNotesPlugin, |
| 1563 | projectFile: TAbstractFile |
| 1564 | ): Promise<void> { |
| 1565 | try { |
| 1566 | if (!(projectFile instanceof TFile)) { |
| 1567 | new Notice(this.t("contextMenus.task.organization.notices.projectSelectFailed")); |
| 1568 | return; |
| 1569 | } |
| 1570 | |
| 1571 | const updatedTask = await addTaskToProject(plugin, task, projectFile); |
| 1572 | if (updatedTask) { |
| 1573 | Object.assign(task, updatedTask); |
| 1574 | this.options.onUpdate?.(); |
| 1575 | } |
| 1576 | } catch (error) { |
| 1577 | tasknotesLogger.error("Failed to add task to project:", { |
| 1578 | category: "persistence", |
| 1579 | operation: "add-task-project", |
| 1580 | error: error, |
| 1581 | }); |
| 1582 | new Notice(this.t("contextMenus.task.organization.notices.addToProjectFailed")); |
| 1583 | } |
| 1584 | } |
| 1585 | |
| 1586 | private async assignTaskAsSubtask( |
| 1587 | task: TaskInfo, |
no test coverage detected