From 77dd5f5da5513e65939d85914e58a3e69122012a Mon Sep 17 00:00:00 2001 From: Quorafind Date: Thu, 28 Aug 2025 14:02:26 +0800 Subject: [PATCH] refactor(build): migrate to TypeScript path aliases and update esbuild to v0.25.9 Replace relative imports (../../../) with TypeScript path aliases (@/) throughout the codebase for improved readability and maintainability. - Configure path alias in tsconfig.json with @ mapping to src/ - Update esbuild from v0.13.12 to v0.25.9 for modern features - Add alias configuration to esbuild.config.mjs for build support - Refactor build configuration to use context API for watch mode - Update all component and utility imports to use @/ prefix - Fix incorrect CSS import paths in habit and settings components - Maintain consistent import structure across 148 files This change simplifies import statements, makes the codebase more maintainable by avoiding deeply nested relative paths, and modernizes the build toolchain. --- esbuild.config.mjs | 124 ++--- fix-imports.js | 66 --- package.json | 2 +- pnpm-lock.yaml | 436 +++++++++++------- .../QuickCaptureModal.integration.test.ts | 2 +- .../frontmatter-title-protection.test.ts | 2 +- .../integration/FileFilterIntegration.test.ts | 2 +- src/components/features/calendar/index.ts | 16 +- .../calendar/rendering/event-renderer.ts | 6 +- .../features/calendar/views/agenda-view.ts | 4 +- .../features/calendar/views/base-view.ts | 4 +- .../features/calendar/views/day-view.ts | 4 +- .../features/calendar/views/month-view.ts | 6 +- .../features/calendar/views/week-view.ts | 6 +- .../features/calendar/views/year-view.ts | 6 +- src/components/features/gantt/gantt.ts | 16 +- .../features/gantt/grid-background.ts | 2 +- .../features/gantt/task-renderer.ts | 6 +- .../features/gantt/timeline-header.ts | 2 +- .../habit/components/HabitEditDialog.ts | 10 +- .../habit/components/HabitSettingList.ts | 10 +- src/components/features/habit/habit.ts | 8 +- .../habit/habitcard/counthabitcard.ts | 8 +- .../habit/habitcard/dailyhabitcard.ts | 8 +- .../features/habit/habitcard/habitcard.ts | 6 +- .../habit/habitcard/mappinghabitcard.ts | 6 +- .../habit/habitcard/scheduledhabitcard.ts | 8 +- .../features/habit/modals/RewardModal.ts | 6 +- src/components/features/kanban/kanban-card.ts | 14 +- .../features/kanban/kanban-column.ts | 8 +- src/components/features/kanban/kanban.ts | 16 +- .../on-completion/OnCompletionConfigurator.ts | 8 +- .../on-completion/OnCompletionModal.ts | 6 +- .../on-completion/OnCompletionSuggesters.ts | 2 +- .../features/onboarding/ConfigPreview.ts | 5 +- .../features/onboarding/OnboardingComplete.ts | 4 +- .../features/onboarding/OnboardingModal.ts | 6 +- .../features/onboarding/OnboardingView.ts | 8 +- .../features/onboarding/TaskCreationGuide.ts | 6 +- .../features/onboarding/UserLevelSelector.ts | 3 +- .../features/quadrant/quadrant-card.ts | 12 +- .../features/quadrant/quadrant-column.ts | 8 +- src/components/features/quadrant/quadrant.ts | 12 +- .../modals/MinimalQuickCaptureModal.ts | 18 +- .../quick-capture/modals/QuickCaptureModal.ts | 22 +- .../suggest/MinimalQuickCaptureSuggest.ts | 6 +- .../read-mode/ReadModeProgressBarWidget.ts | 8 +- .../features/read-mode/ReadModeTextMark.ts | 6 +- .../components/FileSourceSettingsSection.ts | 6 +- .../components/SettingsSearchComponent.ts | 8 +- .../features/settings/core/SettingsIndexer.ts | 6 +- src/components/features/settings/index.ts | 34 +- .../settings/tabs/AboutSettingsTab.ts | 6 +- .../settings/tabs/BasesSettingsTab.ts | 6 +- .../settings/tabs/BetaTestSettingsTab.ts | 5 +- .../settings/tabs/DatePrioritySettingsTab.ts | 4 +- .../settings/tabs/FileFilterSettingsTab.ts | 10 +- .../settings/tabs/HabitSettingsTab.ts | 6 +- .../features/settings/tabs/IcsSettingsTab.ts | 12 +- .../settings/tabs/IndexSettingsTab.ts | 10 +- .../tabs/McpIntegrationSettingsTab.ts | 12 +- .../settings/tabs/ProgressSettingsTab.ts | 8 +- .../settings/tabs/ProjectSettingsTab.ts | 4 +- .../settings/tabs/QuickCaptureSettingsTab.ts | 4 +- .../settings/tabs/RewardSettingsTab.ts | 2 +- .../settings/tabs/TaskFilterSettingsTab.ts | 8 +- .../settings/tabs/TaskHandlerSettingsTab.ts | 6 +- .../settings/tabs/TaskStatusSettingsTab.ts | 13 +- .../settings/tabs/TaskTimerSettingsTab.ts | 2 +- .../settings/tabs/TimeParsingSettingsTab.ts | 6 +- .../tabs/TimelineSidebarSettingsTab.ts | 4 +- .../features/settings/tabs/ViewSettingsTab.ts | 10 +- .../settings/tabs/WorkflowSettingsTab.ts | 8 +- src/components/features/table/TableEditor.ts | 8 +- src/components/features/table/TableHeader.ts | 2 +- .../features/table/TableRenderer.ts | 12 +- src/components/features/table/TableTypes.ts | 2 +- src/components/features/table/TableView.ts | 12 +- .../features/table/TableViewAdapter.ts | 4 +- src/components/features/table/TreeManager.ts | 8 +- .../features/task/edit/MetadataEditor.ts | 14 +- .../features/task/edit/TaskDetailsModal.ts | 6 +- .../features/task/edit/TaskDetailsPopover.ts | 6 +- .../features/task/filter/FilterConfigModal.ts | 6 +- .../features/task/filter/ViewTaskFilter.ts | 6 +- .../task/filter/ViewTaskFilterModal.ts | 2 +- .../task/filter/ViewTaskFilterPopover.ts | 2 +- .../in-view/custom/scroll-to-date-button.ts | 2 +- .../task/filter/in-view/filter-dropdown.ts | 4 +- .../features/task/filter/in-view/filter.ts | 8 +- .../features/task/view/InlineEditor.ts | 22 +- .../features/task/view/InlineEditorManager.ts | 4 +- .../task/view/ProjectTreeComponent.ts | 11 +- .../task/view/ProjectViewComponent.ts | 20 +- .../features/task/view/TagViewComponent.ts | 10 +- src/components/features/task/view/TaskList.ts | 8 +- .../task/view/TaskPropertyTwoColumnView.ts | 12 +- .../features/task/view/TwoColumnViewBase.ts | 10 +- src/components/features/task/view/calendar.ts | 4 +- src/components/features/task/view/content.ts | 16 +- src/components/features/task/view/details.ts | 22 +- src/components/features/task/view/forecast.ts | 18 +- src/components/features/task/view/listItem.ts | 16 +- .../task/view/modals/ViewConfigModal.ts | 14 +- src/components/features/task/view/projects.ts | 22 +- src/components/features/task/view/review.ts | 10 +- src/components/features/task/view/sidebar.ts | 10 +- src/components/features/task/view/tags.ts | 12 +- src/components/features/task/view/treeItem.ts | 16 +- .../timeline-sidebar/TimelineSidebarView.ts | 18 +- .../workflow/modals/QuickWorkflowModal.ts | 6 +- .../workflow/modals/StageEditModal.ts | 2 +- .../modals/WorkflowDefinitionModal.ts | 8 +- .../widgets/WorkflowProgressIndicator.ts | 6 +- .../ui/behavior/ViewComponentManager.ts | 20 +- .../ui/date-picker/DatePickerComponent.ts | 6 +- .../ui/date-picker/DatePickerModal.ts | 2 +- .../ui/date-picker/DatePickerPopover.ts | 2 +- src/components/ui/feedback/StatusIndicator.ts | 8 +- src/components/ui/inputs/AutoComplete.ts | 4 +- src/components/ui/menus/IconMenu.ts | 2 +- src/components/ui/modals/ConfirmModal.ts | 4 +- src/components/ui/modals/index.ts | 4 +- .../ui/suggest/SpecialCharacterSuggests.ts | 4 +- src/components/ui/suggest/SuggestManager.ts | 2 +- .../ui/suggest/UniversalEditorSuggest.ts | 6 +- src/components/ui/tree/TreeComponent.ts | 2 +- src/components/ui/tree/TreeItemRenderer.ts | 2 +- src/dataflow/api/WriteAPI.ts | 2 +- .../augment/DateInheritanceAugmentor.ts | 2 +- src/dataflow/core/ConfigurableTaskParser.ts | 12 +- src/dataflow/indexer/Repository.ts | 6 +- src/dataflow/project/Resolver.ts | 4 +- src/dataflow/sources/FileSource.ts | 6 +- src/dataflow/sources/IcsSource.ts | 4 +- .../workers/ProjectDataWorkerManager.ts | 4 +- src/dataflow/workers/TaskIndex.worker.ts | 2 +- src/dataflow/workers/task-index-message.ts | 4 +- .../autocomplete/parent-task-updater.ts | 8 +- .../core/quick-capture-panel.ts | 10 +- .../core/task-filter-panel.ts | 10 +- .../date-time/date-picker.ts | 3 +- src/editor-extensions/date-time/task-timer.ts | 10 +- .../task-operations/completion-monitor.ts | 7 +- .../task-operations/gutter-marker.ts | 18 +- .../task-operations/mark-cleanup.ts | 2 +- .../task-operations/status-cycler.ts | 4 +- .../task-operations/status-switcher.ts | 4 +- .../ui-widgets/progress-bar-widget.ts | 8 +- .../workflow/workflow-enter-handler.ts | 10 +- .../workflow/workflow-handler.ts | 18 +- src/index.ts | 10 +- src/setting.ts | 16 +- src/utils/file/file-type-detector.ts | 2 +- src/utils/task/task-filter-utils.ts | 4 +- tsconfig.json | 3 + 156 files changed, 936 insertions(+), 886 deletions(-) delete mode 100644 fix-imports.js diff --git a/esbuild.config.mjs b/esbuild.config.mjs index b573eb43..b0110084 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -126,58 +126,72 @@ const copyManifestPlugin = { }, }; -esbuild - .build({ - banner: { - js: banner, - }, - minify: prod ? true : false, - entryPoints: ["src/index.ts"], - plugins: [ - inlineWorkerPlugin({ workerName: "Task Genius Indexer" }), - renamePluginWithDir, - cssSettingsPluginWithDir, - copyManifestPlugin, - ], - bundle: true, - external: [ - "obsidian", - "electron", - "codemirror", - "@codemirror/autocomplete", - "@codemirror/closebrackets", - "@codemirror/collab", - "@codemirror/commands", - "@codemirror/comment", - "@codemirror/fold", - "@codemirror/gutter", - "@codemirror/highlight", - "@codemirror/history", - "@codemirror/language", - "@codemirror/lint", - "@codemirror/matchbrackets", - "@codemirror/panel", - "@codemirror/rangeset", - "@codemirror/rectangular-selection", - "@codemirror/search", - "@codemirror/state", - "@codemirror/stream-parser", - "@codemirror/text", - "@codemirror/tooltip", - "@codemirror/view", - "@lezer/common", - "@lezer/lr", - "@lezer/highlight", - "obsidian-typings", - ...builtins, - ], - format: "cjs", - watch: !prod, - target: "es2018", - logLevel: "info", - sourcemap: prod ? false : "inline", - treeShaking: true, - outfile: path.join(outDir, "main.js"), - pure: prod ? ["console.log"] : [], - }) - .catch(() => process.exit(1)); +const buildOptions = { + banner: { + js: banner, + }, + minify: prod ? true : false, + entryPoints: ["src/index.ts"], + plugins: [ + inlineWorkerPlugin({ workerName: "Task Genius Indexer" }), + renamePluginWithDir, + cssSettingsPluginWithDir, + copyManifestPlugin, + ], + bundle: true, + alias: { + "@": path.resolve(process.cwd(), "src"), + }, + external: [ + "obsidian", + "electron", + "codemirror", + "@codemirror/autocomplete", + "@codemirror/closebrackets", + "@codemirror/collab", + "@codemirror/commands", + "@codemirror/comment", + "@codemirror/fold", + "@codemirror/gutter", + "@codemirror/highlight", + "@codemirror/history", + "@codemirror/language", + "@codemirror/lint", + "@codemirror/matchbrackets", + "@codemirror/panel", + "@codemirror/rangeset", + "@codemirror/rectangular-selection", + "@codemirror/search", + "@codemirror/state", + "@codemirror/stream-parser", + "@codemirror/text", + "@codemirror/tooltip", + "@codemirror/view", + "@lezer/common", + "@lezer/lr", + "@lezer/highlight", + "obsidian-typings", + ...builtins, + ], + format: "cjs", + target: "es2018", + logLevel: "info", + sourcemap: prod ? false : "inline", + treeShaking: true, + outfile: path.join(outDir, "main.js"), + pure: prod ? ["console.log"] : [], +}; + +if (prod) { + // Production build + esbuild.build(buildOptions).catch(() => process.exit(1)); +} else { + // Development build with watch + esbuild + .context(buildOptions) + .then(ctx => { + ctx.watch(); + console.log("Watching for changes..."); + }) + .catch(() => process.exit(1)); +} diff --git a/fix-imports.js b/fix-imports.js deleted file mode 100644 index d03450d5..00000000 --- a/fix-imports.js +++ /dev/null @@ -1,66 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -// Function to update import paths -function fixImports(filePath) { - let content = fs.readFileSync(filePath, 'utf8'); - const originalContent = content; - - // Determine depth from src/components/ui/ - const relativePath = path.relative(path.join(__dirname, 'src/components/ui'), filePath); - const depth = relativePath.split('/').length - 1; - const prefix = '../'.repeat(depth + 1); // +1 to get out of ui/ - - // Fix common import patterns - content = content.replace(/from ["']\.\.\/index["']/g, `from "${prefix}../index"`); - content = content.replace(/from ["']\.\.\/\.\.\/index["']/g, `from "${prefix}../index"`); - content = content.replace(/from ["']\.\.\/types\//g, `from "${prefix}../types/`); - content = content.replace(/from ["']\.\.\/\.\.\/types\//g, `from "${prefix}../types/`); - content = content.replace(/from ["']\.\.\/translations\//g, `from "${prefix}../translations/`); - content = content.replace(/from ["']\.\.\/\.\.\/translations\//g, `from "${prefix}../translations/`); - content = content.replace(/from ["']\.\.\/common\//g, `from "${prefix}../common/`); - content = content.replace(/from ["']\.\.\/\.\.\/common\//g, `from "${prefix}../common/`); - content = content.replace(/from ["']\.\.\/icon["']/g, `from "${prefix}../icon"`); - content = content.replace(/from ["']\.\.\/\.\.\/icon["']/g, `from "${prefix}../icon"`); - content = content.replace(/from ["']\.\.\/editor-extensions\//g, `from "${prefix}../editor-extensions/`); - content = content.replace(/from ["']\.\.\/\.\.\/editor-extensions\//g, `from "${prefix}../editor-extensions/`); - content = content.replace(/import ["']\.\.\/styles\//g, `import "${prefix}../styles/`); - content = content.replace(/import ["']\.\.\/\.\.\/styles\//g, `import "${prefix}../styles/`); - - // Fix references to components that are still in src/components/ - content = content.replace(/from ["']\.\/(kanban|calendar|gantt|task-view|table|quadrant)\//g, `from "${prefix}$1/`); - content = content.replace(/from ["']\.\/task-view\//g, `from "${prefix}task-view/`); - - if (content !== originalContent) { - fs.writeFileSync(filePath, content); - console.log(`Fixed imports in: ${filePath}`); - } -} - -// Find all TypeScript files in ui/ directory -function findTsFiles(dir) { - const files = []; - const items = fs.readdirSync(dir); - - for (const item of items) { - const fullPath = path.join(dir, item); - const stat = fs.statSync(fullPath); - - if (stat.isDirectory()) { - files.push(...findTsFiles(fullPath)); - } else if (item.endsWith('.ts')) { - files.push(fullPath); - } - } - - return files; -} - -// Fix imports in all ui/ files -const uiDir = path.join(__dirname, 'src/components/ui'); -const files = findTsFiles(uiDir); - -console.log(`Found ${files.length} TypeScript files to fix`); -files.forEach(fixImports); - -console.log('Import fixing complete!'); \ No newline at end of file diff --git a/package.json b/package.json index 525ec0cc..72cdda01 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "codemirror": "^6.0.0", "cross-env": "^7.0.3", "dotenv": "^17.2.1", - "esbuild": "0.13.12", + "esbuild": "0.25.9", "esbuild-plugin-inline-worker": "https://github.com/mitschabaude/esbuild-plugin-inline-worker", "globby": "^14.1.0", "husky": "^9.1.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e725f1c9..6cb22b12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,11 +76,11 @@ importers: specifier: ^17.2.1 version: 17.2.1 esbuild: - specifier: 0.13.12 - version: 0.13.12 + specifier: 0.25.9 + version: 0.25.9 esbuild-plugin-inline-worker: specifier: https://github.com/mitschabaude/esbuild-plugin-inline-worker - version: https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45(esbuild@0.13.12) + version: https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45(esbuild@0.25.9) globby: specifier: ^14.1.0 version: 14.1.0 @@ -116,7 +116,7 @@ importers: version: 7.7.2 ts-jest: specifier: ^29.1.0 - version: 29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.13.12)(jest@29.7.0(@types/node@16.18.126))(typescript@4.7.3) + version: 29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.25.9)(jest@29.7.0(@types/node@16.18.126))(typescript@4.7.3) tslib: specifier: 2.4.0 version: 2.4.0 @@ -331,6 +331,162 @@ packages: '@datastructures-js/queue@4.2.3': resolution: {integrity: sha512-GWVMorC/xi2V2ta+Z/CPgPGHL2ZJozcj48g7y2nIX5GIGZGRrbShSHgvMViJwHJurUzJYOdIdRZnWDRrROFwJA==} + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.6.1': resolution: {integrity: sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1409,99 +1565,15 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild-android-arm64@0.13.12: - resolution: {integrity: sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==} - cpu: [arm64] - os: [android] - - esbuild-darwin-64@0.13.12: - resolution: {integrity: sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==} - cpu: [x64] - os: [darwin] - - esbuild-darwin-arm64@0.13.12: - resolution: {integrity: sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==} - cpu: [arm64] - os: [darwin] - - esbuild-freebsd-64@0.13.12: - resolution: {integrity: sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==} - cpu: [x64] - os: [freebsd] - - esbuild-freebsd-arm64@0.13.12: - resolution: {integrity: sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==} - cpu: [arm64] - os: [freebsd] - - esbuild-linux-32@0.13.12: - resolution: {integrity: sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==} - cpu: [ia32] - os: [linux] - - esbuild-linux-64@0.13.12: - resolution: {integrity: sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==} - cpu: [x64] - os: [linux] - - esbuild-linux-arm64@0.13.12: - resolution: {integrity: sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==} - cpu: [arm64] - os: [linux] - - esbuild-linux-arm@0.13.12: - resolution: {integrity: sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==} - cpu: [arm] - os: [linux] - - esbuild-linux-mips64le@0.13.12: - resolution: {integrity: sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==} - cpu: [mips64el] - os: [linux] - - esbuild-linux-ppc64le@0.13.12: - resolution: {integrity: sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==} - cpu: [ppc64] - os: [linux] - - esbuild-netbsd-64@0.13.12: - resolution: {integrity: sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==} - cpu: [x64] - os: [netbsd] - - esbuild-openbsd-64@0.13.12: - resolution: {integrity: sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==} - cpu: [x64] - os: [openbsd] - esbuild-plugin-inline-worker@https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45: resolution: {tarball: https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45} version: 0.1.1 peerDependencies: esbuild: latest - esbuild-sunos-64@0.13.12: - resolution: {integrity: sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==} - cpu: [x64] - os: [sunos] - - esbuild-windows-32@0.13.12: - resolution: {integrity: sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==} - cpu: [ia32] - os: [win32] - - esbuild-windows-64@0.13.12: - resolution: {integrity: sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==} - cpu: [x64] - os: [win32] - - esbuild-windows-arm64@0.13.12: - resolution: {integrity: sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==} - cpu: [arm64] - os: [win32] - - esbuild@0.13.12: - resolution: {integrity: sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==} + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: @@ -3395,6 +3467,84 @@ snapshots: '@datastructures-js/queue@4.2.3': {} + '@esbuild/aix-ppc64@0.25.9': + optional: true + + '@esbuild/android-arm64@0.25.9': + optional: true + + '@esbuild/android-arm@0.25.9': + optional: true + + '@esbuild/android-x64@0.25.9': + optional: true + + '@esbuild/darwin-arm64@0.25.9': + optional: true + + '@esbuild/darwin-x64@0.25.9': + optional: true + + '@esbuild/freebsd-arm64@0.25.9': + optional: true + + '@esbuild/freebsd-x64@0.25.9': + optional: true + + '@esbuild/linux-arm64@0.25.9': + optional: true + + '@esbuild/linux-arm@0.25.9': + optional: true + + '@esbuild/linux-ia32@0.25.9': + optional: true + + '@esbuild/linux-loong64@0.25.9': + optional: true + + '@esbuild/linux-mips64el@0.25.9': + optional: true + + '@esbuild/linux-ppc64@0.25.9': + optional: true + + '@esbuild/linux-riscv64@0.25.9': + optional: true + + '@esbuild/linux-s390x@0.25.9': + optional: true + + '@esbuild/linux-x64@0.25.9': + optional: true + + '@esbuild/netbsd-arm64@0.25.9': + optional: true + + '@esbuild/netbsd-x64@0.25.9': + optional: true + + '@esbuild/openbsd-arm64@0.25.9': + optional: true + + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': + optional: true + + '@esbuild/sunos-x64@0.25.9': + optional: true + + '@esbuild/win32-arm64@0.25.9': + optional: true + + '@esbuild/win32-ia32@0.25.9': + optional: true + + '@esbuild/win32-x64@0.25.9': + optional: true + '@eslint-community/eslint-utils@4.6.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -4630,81 +4780,39 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild-android-arm64@0.13.12: - optional: true - - esbuild-darwin-64@0.13.12: - optional: true - - esbuild-darwin-arm64@0.13.12: - optional: true - - esbuild-freebsd-64@0.13.12: - optional: true - - esbuild-freebsd-arm64@0.13.12: - optional: true - - esbuild-linux-32@0.13.12: - optional: true - - esbuild-linux-64@0.13.12: - optional: true - - esbuild-linux-arm64@0.13.12: - optional: true - - esbuild-linux-arm@0.13.12: - optional: true - - esbuild-linux-mips64le@0.13.12: - optional: true - - esbuild-linux-ppc64le@0.13.12: - optional: true - - esbuild-netbsd-64@0.13.12: - optional: true - - esbuild-openbsd-64@0.13.12: - optional: true - - esbuild-plugin-inline-worker@https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45(esbuild@0.13.12): + esbuild-plugin-inline-worker@https://codeload.github.com/mitschabaude/esbuild-plugin-inline-worker/tar.gz/d1aaffc721a62a3fe33f59f8f69b462c7dd05f45(esbuild@0.25.9): dependencies: - esbuild: 0.13.12 + esbuild: 0.25.9 find-cache-dir: 3.3.2 - esbuild-sunos-64@0.13.12: - optional: true - - esbuild-windows-32@0.13.12: - optional: true - - esbuild-windows-64@0.13.12: - optional: true - - esbuild-windows-arm64@0.13.12: - optional: true - - esbuild@0.13.12: + esbuild@0.25.9: optionalDependencies: - esbuild-android-arm64: 0.13.12 - esbuild-darwin-64: 0.13.12 - esbuild-darwin-arm64: 0.13.12 - esbuild-freebsd-64: 0.13.12 - esbuild-freebsd-arm64: 0.13.12 - esbuild-linux-32: 0.13.12 - esbuild-linux-64: 0.13.12 - esbuild-linux-arm: 0.13.12 - esbuild-linux-arm64: 0.13.12 - esbuild-linux-mips64le: 0.13.12 - esbuild-linux-ppc64le: 0.13.12 - esbuild-netbsd-64: 0.13.12 - esbuild-openbsd-64: 0.13.12 - esbuild-sunos-64: 0.13.12 - esbuild-windows-32: 0.13.12 - esbuild-windows-64: 0.13.12 - esbuild-windows-arm64: 0.13.12 + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} @@ -6355,7 +6463,7 @@ snapshots: dependencies: punycode: 2.3.1 - ts-jest@29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.13.12)(jest@29.7.0(@types/node@16.18.126))(typescript@4.7.3): + ts-jest@29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.25.9)(jest@29.7.0(@types/node@16.18.126))(typescript@4.7.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -6374,7 +6482,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.10) - esbuild: 0.13.12 + esbuild: 0.25.9 tslib@1.14.1: {} diff --git a/src/__tests__/QuickCaptureModal.integration.test.ts b/src/__tests__/QuickCaptureModal.integration.test.ts index 8e0d2c1a..3f42311f 100644 --- a/src/__tests__/QuickCaptureModal.integration.test.ts +++ b/src/__tests__/QuickCaptureModal.integration.test.ts @@ -1,5 +1,5 @@ import { QuickCaptureModal } from "../components/features/quick-capture/modals/QuickCaptureModal"; -import { DEFAULT_TIME_PARSING_CONFIG } from '../../../../services/time-parsing-service"; +import { DEFAULT_TIME_PARSING_CONFIG } from '@/services/time-parsing-service'; import { App } from "obsidian"; // Mock dependencies diff --git a/src/__tests__/file-task-manager/frontmatter-title-protection.test.ts b/src/__tests__/file-task-manager/frontmatter-title-protection.test.ts index fd881bcd..44ec115b 100644 --- a/src/__tests__/file-task-manager/frontmatter-title-protection.test.ts +++ b/src/__tests__/file-task-manager/frontmatter-title-protection.test.ts @@ -3,7 +3,7 @@ */ import { App } from "obsidian"; -import { FileTaskManagerImpl } from "../../managers/file-task-manager"; +import { FileTaskManagerImpl } from "@/managers/file-task-manager"; import { FileTask } from "../../types/file-task"; import { FileSourceConfiguration } from "../../types/file-source"; diff --git a/src/__tests__/integration/FileFilterIntegration.test.ts b/src/__tests__/integration/FileFilterIntegration.test.ts index 51a612ae..082ebdfa 100644 --- a/src/__tests__/integration/FileFilterIntegration.test.ts +++ b/src/__tests__/integration/FileFilterIntegration.test.ts @@ -5,7 +5,7 @@ * from settings to actual task indexing behavior. */ -import { FileFilterManager } from '../../managers/file-filter-manager'; +import { FileFilterManager } from '@/managers/file-filter-manager'; import { FilterMode, FileFilterSettings } from '../../common/setting-definition'; // Mock TFile and TFolder for testing diff --git a/src/components/features/calendar/index.ts b/src/components/features/calendar/index.ts index eac541cd..593d609d 100644 --- a/src/components/features/calendar/index.ts +++ b/src/components/features/calendar/index.ts @@ -7,13 +7,13 @@ import { moment, setIcon, } from "obsidian"; -import { Task } from "../../../types/task"; // Assuming Task type exists here -import { IcsTask } from "../../../types/ics"; +import { Task } from "@/types/task"; // Assuming Task type exists here +import { IcsTask } from "@/types/ics"; // Removed: import { renderCalendarEvent } from "./event"; -import "../../../styles/calendar/view.css"; // Import the CSS file -import "../../../styles/calendar/event.css"; // Import the CSS file -import "../../../styles/calendar/badge.css"; // Import the badge CSS file -import { t } from "../../../translations/helper"; +import "@/styles/calendar/view.css"; // Import the CSS file +import "@/styles/calendar/event.css"; // Import the CSS file +import "@/styles/calendar/badge.css"; // Import the badge CSS file +import { t } from "@/translations/helper"; // Import view rendering functions import { MonthView } from "./views/month-view"; @@ -21,8 +21,8 @@ import { WeekView } from "./views/week-view"; import { DayView } from "./views/day-view"; import { AgendaView } from "./views/agenda-view"; import { YearView } from "./views/year-view"; -import TaskProgressBarPlugin from "../../../index"; -import { QuickCaptureModal } from "../../features/quick-capture/modals/QuickCaptureModal"; +import TaskProgressBarPlugin from "@/index"; +import { QuickCaptureModal } from "@/components/features/quick-capture/modals/QuickCaptureModal"; // Import algorithm functions (optional for now, could be used within views) // import { calculateEventLayout, determineEventColor } from './algorithm'; diff --git a/src/components/features/calendar/rendering/event-renderer.ts b/src/components/features/calendar/rendering/event-renderer.ts index a9e49cf0..1e3bdbb4 100644 --- a/src/components/features/calendar/rendering/event-renderer.ts +++ b/src/components/features/calendar/rendering/event-renderer.ts @@ -1,11 +1,11 @@ import { App, Component, debounce, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; // Adjust path as needed +import { CalendarEvent } from '@/components/features/calendar/index'; // Adjust path as needed import { EventLayout, determineEventColor } from "../algorithm"; // Adjust path as needed import { clearAllMarks, MarkdownRendererComponent, -} from "../../../ui/renderers/MarkdownRenderer"; -import { createTaskCheckbox } from "../../../features/task/view/details"; +} from "@/components/ui/renderers/MarkdownRenderer"; +import { createTaskCheckbox } from "@/components/features/task/view/details"; export type EventViewType = | "month" diff --git a/src/components/features/calendar/views/agenda-view.ts b/src/components/features/calendar/views/agenda-view.ts index 859cf59e..48438148 100644 --- a/src/components/features/calendar/views/agenda-view.ts +++ b/src/components/features/calendar/views/agenda-view.ts @@ -1,8 +1,8 @@ import { App, Component, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; +import { CalendarEvent } from '@/components/features/calendar/index'; import { renderCalendarEvent } from "../rendering/event-renderer"; // Use new renderer import { CalendarViewComponent, CalendarViewOptions } from "./base-view"; // Import base class -import TaskProgressBarPlugin from "../../../../index"; // Import plugin type +import TaskProgressBarPlugin from "@/index"; // Import plugin type export class AgendaView extends CalendarViewComponent { // Extend base class diff --git a/src/components/features/calendar/views/base-view.ts b/src/components/features/calendar/views/base-view.ts index a8b76098..cd672179 100644 --- a/src/components/features/calendar/views/base-view.ts +++ b/src/components/features/calendar/views/base-view.ts @@ -1,6 +1,6 @@ import { App, Component } from "obsidian"; -import { CalendarEvent } from '../../../../index'; -import TaskProgressBarPlugin from "../../../../index"; +import { CalendarEvent } from '@/components/features/calendar/index'; +import TaskProgressBarPlugin from "@/index"; interface EventMap { onEventClick: (ev: MouseEvent, event: CalendarEvent) => void; diff --git a/src/components/features/calendar/views/day-view.ts b/src/components/features/calendar/views/day-view.ts index 8160a20a..84003601 100644 --- a/src/components/features/calendar/views/day-view.ts +++ b/src/components/features/calendar/views/day-view.ts @@ -1,8 +1,8 @@ import { App, Component, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; +import { CalendarEvent } from '@/components/features/calendar/index'; import { renderCalendarEvent } from "../rendering/event-renderer"; import { CalendarViewComponent, CalendarViewOptions } from "./base-view"; -import TaskProgressBarPlugin from "../../../../index"; +import TaskProgressBarPlugin from "@/index"; export class DayView extends CalendarViewComponent { private currentDate: moment.Moment; diff --git a/src/components/features/calendar/views/month-view.ts b/src/components/features/calendar/views/month-view.ts index 1de58d6d..b6523034 100644 --- a/src/components/features/calendar/views/month-view.ts +++ b/src/components/features/calendar/views/month-view.ts @@ -1,11 +1,11 @@ import { App, Component, debounce, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; +import { CalendarEvent } from '@/components/features/calendar/index'; import { renderCalendarEvent } from "../rendering/event-renderer"; // Import the new renderer import { CalendarSpecificConfig, getViewSettingOrDefault, -} from "../../../../common/setting-definition"; // Import helper -import TaskProgressBarPlugin from "../../../../index"; // Import plugin type for settings access +} from "@/common/setting-definition"; // Import helper +import TaskProgressBarPlugin from "@/index"; // Import plugin type for settings access import { CalendarViewComponent, CalendarViewOptions } from "./base-view"; // Import base class and options type import Sortable from "sortablejs"; diff --git a/src/components/features/calendar/views/week-view.ts b/src/components/features/calendar/views/week-view.ts index 31ff6c04..d937c19c 100644 --- a/src/components/features/calendar/views/week-view.ts +++ b/src/components/features/calendar/views/week-view.ts @@ -1,11 +1,11 @@ import { App, Component, debounce, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; +import { CalendarEvent } from '@/components/features/calendar/index'; import { renderCalendarEvent } from "../rendering/event-renderer"; // Use new renderer import { CalendarSpecificConfig, getViewSettingOrDefault, -} from "../../../../common/setting-definition"; // Import helper -import TaskProgressBarPlugin from "../../../../index"; // Import plugin type for settings access +} from "@/common/setting-definition"; // Import helper +import TaskProgressBarPlugin from "@/index"; // Import plugin type for settings access import { CalendarViewComponent, CalendarViewOptions } from "./base-view"; // Import base class and options type import Sortable from "sortablejs"; diff --git a/src/components/features/calendar/views/year-view.ts b/src/components/features/calendar/views/year-view.ts index 8b1acae1..08f066db 100644 --- a/src/components/features/calendar/views/year-view.ts +++ b/src/components/features/calendar/views/year-view.ts @@ -1,10 +1,10 @@ import { App, Component, debounce, moment } from "obsidian"; -import { CalendarEvent } from '../../../../index'; +import { CalendarEvent } from '@/components/features/calendar/index'; import { CalendarSpecificConfig, getViewSettingOrDefault, -} from "../../../../common/setting-definition"; // Import helper -import TaskProgressBarPlugin from "../../../../index"; // Import plugin type for settings access +} from "@/common/setting-definition"; // Import helper +import TaskProgressBarPlugin from "@/index"; // Import plugin type for settings access import { CalendarViewComponent, CalendarViewOptions } from "./base-view"; // Import base class /** diff --git a/src/components/features/gantt/gantt.ts b/src/components/features/gantt/gantt.ts index 68f961d6..150e1cf9 100644 --- a/src/components/features/gantt/gantt.ts +++ b/src/components/features/gantt/gantt.ts @@ -5,22 +5,22 @@ import { MarkdownRenderer as ObsidianMarkdownRenderer, TFile, } from "obsidian"; -import { type Task } from "../../../types/task"; -import "../../../styles/gantt/gantt.css"; +import { type Task } from "@/types/task"; +import "@/styles/gantt/gantt.css"; // Import new components and helpers -import { DateHelper } from "../../../utils/date/date-helper"; +import { DateHelper } from "@/utils/date/date-helper"; import { TimelineHeaderComponent } from "./timeline-header"; import { GridBackgroundComponent } from "./grid-background"; import { TaskRendererComponent } from "./task-renderer"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; import { FilterComponent, buildFilterOptionsFromTasks, -} from "../task/filter/in-view/filter"; -import { ActiveFilter, FilterCategory } from "../task/filter/in-view/filter-type"; -import { ScrollToDateButton } from '../task/filter/in-view/custom/scroll-to-date-button"; -import { PRIORITY_MAP } from "../../../common/default-symbol"; +} from "@/components/features/task/filter/in-view/filter"; +import { ActiveFilter, FilterCategory } from "@/components/features/task/filter/in-view/filter-type"; +import { ScrollToDateButton } from '@/components/features/task/filter/in-view/custom/scroll-to-date-button'; +import { PRIORITY_MAP } from "@/common/default-symbol"; // Define the PRIORITY_MAP here as well, or import it if moved to a shared location // This is needed to convert filter value (icon/text) back to number for comparison diff --git a/src/components/features/gantt/grid-background.ts b/src/components/features/gantt/grid-background.ts index 7d3d82fc..4f0fee9f 100644 --- a/src/components/features/gantt/grid-background.ts +++ b/src/components/features/gantt/grid-background.ts @@ -1,6 +1,6 @@ import { Component, App } from "obsidian"; import { GanttTaskItem, Timescale, PlacedGanttTaskItem } from './gantt'; // Correctly imports PlacedGanttTaskItem now -import { DateHelper } from "../../../utils/date/date-helper"; // Corrected import path again +import { DateHelper } from "@/utils/date/date-helper"; // Corrected import path again // Interface for parameters needed by the grid component interface GridBackgroundParams { diff --git a/src/components/features/gantt/task-renderer.ts b/src/components/features/gantt/task-renderer.ts index a3cbd8e5..1a27f934 100644 --- a/src/components/features/gantt/task-renderer.ts +++ b/src/components/features/gantt/task-renderer.ts @@ -5,9 +5,9 @@ import { TFile, } from "obsidian"; import { GanttTaskItem, PlacedGanttTaskItem, Timescale } from './gantt'; // 添加PlacedGanttTaskItem导入 -import { Task } from "../../../types/task"; -import { MarkdownRendererComponent } from "../../ui/renderers/MarkdownRenderer"; -import { sanitizePriorityForClass } from "../../../utils/task/priority-utils"; +import { Task } from "@/types/task"; +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; // Constants from GanttComponent (consider moving to a shared config/constants file) const ROW_HEIGHT = 24; diff --git a/src/components/features/gantt/timeline-header.ts b/src/components/features/gantt/timeline-header.ts index 42c59fe2..8fdfa2c2 100644 --- a/src/components/features/gantt/timeline-header.ts +++ b/src/components/features/gantt/timeline-header.ts @@ -1,6 +1,6 @@ import { Component, App } from "obsidian"; import { Timescale } from './gantt'; // Assuming types are exported or moved -import { DateHelper } from "../../../utils/date/date-helper"; // Assuming DateHelper exists +import { DateHelper } from "@/utils/date/date-helper"; // Assuming DateHelper exists // Interface for parameters needed by the header component interface TimelineHeaderParams { diff --git a/src/components/features/habit/components/HabitEditDialog.ts b/src/components/features/habit/components/HabitEditDialog.ts index 4b664d5e..634a9a22 100644 --- a/src/components/features/habit/components/HabitEditDialog.ts +++ b/src/components/features/habit/components/HabitEditDialog.ts @@ -16,11 +16,11 @@ import { BaseMappingHabitData, BaseScheduledHabitData, ScheduledEvent, -} from '../../../../types/habit-card'; -import TaskProgressBarPlugin from '../../../../index'; -import { t } from '../../../../translations/helper'; -import { attachIconMenu } from '../../../ui/menus/IconMenu'; -import "../styles/habit-edit-dialog.css"; +} from '@/types/habit-card'; +import TaskProgressBarPlugin from '@/index'; +import { t } from '@/translations/helper'; +import { attachIconMenu } from '@/components/ui/menus/IconMenu'; +import "@/styles/habit-edit-dialog.css"; export class HabitEditDialog extends Modal { plugin: TaskProgressBarPlugin; diff --git a/src/components/features/habit/components/HabitSettingList.ts b/src/components/features/habit/components/HabitSettingList.ts index 81f95d61..3fdcece0 100644 --- a/src/components/features/habit/components/HabitSettingList.ts +++ b/src/components/features/habit/components/HabitSettingList.ts @@ -6,11 +6,11 @@ import { Notice, setIcon, } from "obsidian"; -import { BaseHabitData } from '../../../../types/habit-card'; -import TaskProgressBarPlugin from '../../../../index'; -import { HabitEditDialog } from './habit/components/HabitEditDialog"; -import { t } from '../../../../translations/helper'; -import "../styles/habit-list.css"; +import { BaseHabitData } from '@/types/habit-card'; +import TaskProgressBarPlugin from '@/index'; +import { HabitEditDialog } from '@/components/features/habit/components/HabitEditDialog'; +import { t } from '@/translations/helper'; +import "@/styles/habit-list.css"; export interface HabitSettings { habits: BaseHabitData[]; diff --git a/src/components/features/habit/habit.ts b/src/components/features/habit/habit.ts index 50d81039..df69f2f4 100644 --- a/src/components/features/habit/habit.ts +++ b/src/components/features/habit/habit.ts @@ -12,16 +12,16 @@ import { CountHabitProps, ScheduledHabitProps, MappingHabitProps, -} from "../../../types/habit-card"; // Assuming types are in src/types -import TaskProgressBarPlugin from "../../../index"; +} from "@/types/habit-card"; // Assuming types are in src/types +import TaskProgressBarPlugin from "@/index"; import { DailyHabitCard, CountHabitCard, ScheduledHabitCard, MappingHabitCard, } from "./habitcard/index"; // Import the habit card classes -import { t } from "../../../translations/helper"; -import "../../../styles/habit.css"; +import { t } from "@/translations/helper"; +import "@/styles/habit.css"; export class Habit extends Component { plugin: TaskProgressBarPlugin; diff --git a/src/components/features/habit/habitcard/counthabitcard.ts b/src/components/features/habit/habitcard/counthabitcard.ts index fcf2570e..8305b81e 100644 --- a/src/components/features/habit/habitcard/counthabitcard.ts +++ b/src/components/features/habit/habitcard/counthabitcard.ts @@ -1,9 +1,9 @@ import { ButtonComponent, Component, Notice, setIcon } from "obsidian"; -import { CountHabitProps } from "../../../types/habit-card"; +import { CountHabitProps } from "@/types/habit-card"; import { HabitCard } from "./habitcard"; -import { t } from "../../../translations/helper"; -import TaskProgressBarPlugin from "../../../index"; -import { getTodayLocalDateString } from "../../../utils/date/date-formatter"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { getTodayLocalDateString } from "@/utils/date/date-formatter"; export class CountHabitCard extends HabitCard { constructor( diff --git a/src/components/features/habit/habitcard/dailyhabitcard.ts b/src/components/features/habit/habitcard/dailyhabitcard.ts index e974c820..802a4448 100644 --- a/src/components/features/habit/habitcard/dailyhabitcard.ts +++ b/src/components/features/habit/habitcard/dailyhabitcard.ts @@ -1,9 +1,9 @@ import { Component, Notice, setIcon } from "obsidian"; -import { DailyHabitProps } from "../../../types/habit-card"; +import { DailyHabitProps } from "@/types/habit-card"; import { HabitCard } from "./habitcard"; -import { t } from "../../../translations/helper"; -import TaskProgressBarPlugin from "../../../index"; -import { getTodayLocalDateString } from "../../../utils/date/date-formatter"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { getTodayLocalDateString } from "@/utils/date/date-formatter"; export class DailyHabitCard extends HabitCard { constructor( diff --git a/src/components/features/habit/habitcard/habitcard.ts b/src/components/features/habit/habitcard/habitcard.ts index 1cd411dd..89696d73 100644 --- a/src/components/features/habit/habitcard/habitcard.ts +++ b/src/components/features/habit/habitcard/habitcard.ts @@ -3,9 +3,9 @@ import { DailyHabitProps, HabitProps, MappingHabitProps, -} from "../../../types/habit-card"; -import TaskProgressBarPlugin from "../../../index"; -import { getTodayLocalDateString, getLocalDateString } from "../../../utils/date/date-formatter"; +} from "@/types/habit-card"; +import TaskProgressBarPlugin from "@/index"; +import { getTodayLocalDateString, getLocalDateString } from "@/utils/date/date-formatter"; function getDatesInRange(startDate: string, endDate: string): string[] { const dates = []; diff --git a/src/components/features/habit/habitcard/mappinghabitcard.ts b/src/components/features/habit/habitcard/mappinghabitcard.ts index 0e26388f..1ac3134d 100644 --- a/src/components/features/habit/habitcard/mappinghabitcard.ts +++ b/src/components/features/habit/habitcard/mappinghabitcard.ts @@ -6,10 +6,10 @@ import { Setting, SliderComponent, } from "obsidian"; -import { MappingHabitProps } from "../../../types/habit-card"; +import { MappingHabitProps } from "@/types/habit-card"; import { HabitCard } from "./habitcard"; -import TaskProgressBarPlugin from "../../../index"; -import { getTodayLocalDateString } from "../../../utils/date/date-formatter"; +import TaskProgressBarPlugin from "@/index"; +import { getTodayLocalDateString } from "@/utils/date/date-formatter"; export class MappingHabitCard extends HabitCard { constructor( diff --git a/src/components/features/habit/habitcard/scheduledhabitcard.ts b/src/components/features/habit/habitcard/scheduledhabitcard.ts index 982422e0..e2e78f6f 100644 --- a/src/components/features/habit/habitcard/scheduledhabitcard.ts +++ b/src/components/features/habit/habitcard/scheduledhabitcard.ts @@ -5,12 +5,12 @@ import { setIcon, Setting, } from "obsidian"; -import { ScheduledHabitProps } from "../../../types/habit-card"; +import { ScheduledHabitProps } from "@/types/habit-card"; import { HabitCard } from "./habitcard"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { EventDetailModal } from "../habit"; -import { getTodayLocalDateString } from "../../../utils/date/date-formatter"; +import { getTodayLocalDateString } from "@/utils/date/date-formatter"; function renderPieDotSVG(completed: number, total: number): string { if (total <= 0) return ""; diff --git a/src/components/features/habit/modals/RewardModal.ts b/src/components/features/habit/modals/RewardModal.ts index 285f5102..2ad8cab4 100644 --- a/src/components/features/habit/modals/RewardModal.ts +++ b/src/components/features/habit/modals/RewardModal.ts @@ -1,7 +1,7 @@ import { App, Modal, Setting } from "obsidian"; -import { RewardItem } from '../../../../common/setting-definition'; -import { t } from '../../../../translations/helper'; -import "../styles/reward.css"; +import { RewardItem } from '@/common/setting-definition'; +import { t } from '@/translations/helper'; +import "@/styles/reward.css"; export class RewardModal extends Modal { private reward: RewardItem; diff --git a/src/components/features/kanban/kanban-card.ts b/src/components/features/kanban/kanban-card.ts index a6bbc660..21f84769 100644 --- a/src/components/features/kanban/kanban-card.ts +++ b/src/components/features/kanban/kanban-card.ts @@ -1,11 +1,11 @@ import { App, Component, MarkdownRenderer, Menu, TFile } from "obsidian"; -import { Task } from "../../../types/task"; // Adjust path -import { MarkdownRendererComponent } from "../../ui/renderers/MarkdownRenderer"; // Adjust path -import TaskProgressBarPlugin from "../../../index"; // Adjust path -import { KanbanSpecificConfig } from "../../../common/setting-definition"; -import { createTaskCheckbox } from "../../features/task/view/details"; -import { getEffectiveProject } from "../../../utils/task/task-operations"; -import { sanitizePriorityForClass } from "../../../utils/task/priority-utils"; +import { Task } from "@/types/task"; // Adjust path +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; // Adjust path +import TaskProgressBarPlugin from "@/index"; // Adjust path +import { KanbanSpecificConfig } from "@/common/setting-definition"; +import { createTaskCheckbox } from "@/components/features/task/view/details"; +import { getEffectiveProject } from "@/utils/task/task-operations"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; export class KanbanCardComponent extends Component { public element: HTMLElement; diff --git a/src/components/features/kanban/kanban-column.ts b/src/components/features/kanban/kanban-column.ts index 02cfa905..9e249807 100644 --- a/src/components/features/kanban/kanban-column.ts +++ b/src/components/features/kanban/kanban-column.ts @@ -1,9 +1,9 @@ import { App, Component, setIcon } from "obsidian"; -import { Task } from "../../../types/task"; // Adjust path +import { Task } from "@/types/task"; // Adjust path import { KanbanCardComponent } from "./kanban-card"; -import TaskProgressBarPlugin from "../../../index"; // Adjust path -import { QuickCaptureModal } from "../../features/quick-capture/modals/QuickCaptureModal"; // Import QuickCaptureModal -import { t } from "../../../translations/helper"; // Import translation helper +import TaskProgressBarPlugin from "@/index"; // Adjust path +import { QuickCaptureModal } from "@/components/features/quick-capture/modals/QuickCaptureModal"; // Import QuickCaptureModal +import { t } from "@/translations/helper"; // Import translation helper const BATCH_SIZE = 20; // Number of cards to load at a time diff --git a/src/components/features/kanban/kanban.ts b/src/components/features/kanban/kanban.ts index 8315243a..dd9a6ef3 100644 --- a/src/components/features/kanban/kanban.ts +++ b/src/components/features/kanban/kanban.ts @@ -6,23 +6,23 @@ import { setIcon, WorkspaceLeaf, } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; // Adjust path as needed -import { Task } from "../../../types/task"; // Adjust path as needed +import TaskProgressBarPlugin from "@/index"; // Adjust path as needed +import { Task } from "@/types/task"; // Adjust path as needed import { KanbanColumnComponent } from "./kanban-column"; -// import { DragManager, DragMoveEvent, DragEndEvent } from "../../ui/behavior/DragManager"; +// import { DragManager, DragMoveEvent, DragEndEvent } from "@/components/ui/behavior/DragManager"; import Sortable from "sortablejs"; -import "../../../styles/kanban/kanban.css"; -import { t } from "../../../translations/helper"; // Added import for t +import "@/styles/kanban/kanban.css"; +import { t } from "@/translations/helper"; // Added import for t import { FilterComponent, buildFilterOptionsFromTasks, -} from "../inview-filter/filter"; -import { ActiveFilter } from "../inview-filter/filter-type"; +} from "@/components/features/task/filter/in-view/filter"; +import { ActiveFilter } from "@/components/features/task/filter/in-view/filter-type"; import { KanbanSpecificConfig, KanbanColumnConfig, } from "../../../common/setting-definition"; -import { getEffectiveProject, isProjectReadonly } from "../../../utils/task/task-operations"; +import { getEffectiveProject, isProjectReadonly } from "@/utils/task/task-operations"; // CSS classes for drop indicators const DROP_INDICATOR_BEFORE_CLASS = "tg-kanban-card--drop-indicator-before"; diff --git a/src/components/features/on-completion/OnCompletionConfigurator.ts b/src/components/features/on-completion/OnCompletionConfigurator.ts index 7fda3973..301798b8 100644 --- a/src/components/features/on-completion/OnCompletionConfigurator.ts +++ b/src/components/features/on-completion/OnCompletionConfigurator.ts @@ -9,15 +9,15 @@ import { OnCompletionConfig, OnCompletionActionType, OnCompletionParseResult, -} from "../../../types/onCompletion"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +} from "@/types/onCompletion"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { TaskIdSuggest, FileLocationSuggest, ActionTypeSuggest, } from "./OnCompletionSuggesters"; -import "../../../styles/onCompletion.css"; +import "@/styles/onCompletion.css"; export interface OnCompletionConfiguratorOptions { initialValue?: string; diff --git a/src/components/features/on-completion/OnCompletionModal.ts b/src/components/features/on-completion/OnCompletionModal.ts index c79cd0e7..f780a3b0 100644 --- a/src/components/features/on-completion/OnCompletionModal.ts +++ b/src/components/features/on-completion/OnCompletionModal.ts @@ -3,9 +3,9 @@ import { OnCompletionConfigurator, OnCompletionConfiguratorOptions, } from "./OnCompletionConfigurator"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; -import "../../../styles/onCompletion.css"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; +import "@/styles/onCompletion.css"; export interface OnCompletionModalOptions { initialValue?: string; diff --git a/src/components/features/on-completion/OnCompletionSuggesters.ts b/src/components/features/on-completion/OnCompletionSuggesters.ts index e0c9bbb3..dc351b16 100644 --- a/src/components/features/on-completion/OnCompletionSuggesters.ts +++ b/src/components/features/on-completion/OnCompletionSuggesters.ts @@ -6,7 +6,7 @@ import { AbstractInputSuggest, TextComponent, } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; /** * Suggester for task IDs diff --git a/src/components/features/onboarding/ConfigPreview.ts b/src/components/features/onboarding/ConfigPreview.ts index 2414a389..4f03bc13 100644 --- a/src/components/features/onboarding/ConfigPreview.ts +++ b/src/components/features/onboarding/ConfigPreview.ts @@ -1,10 +1,9 @@ import { OnboardingConfig, OnboardingConfigManager, -} from "../../managers/onboarding-manager"; -import { t } from "../../../translations/helper"; +} from "@/managers/onboarding-manager"; +import { t } from "@/translations/helper"; import { setIcon } from "obsidian"; -import type TaskProgressBarPlugin from "../../../index"; export class ConfigPreview { private configManager: OnboardingConfigManager; diff --git a/src/components/features/onboarding/OnboardingComplete.ts b/src/components/features/onboarding/OnboardingComplete.ts index 048f9956..1aaab87b 100644 --- a/src/components/features/onboarding/OnboardingComplete.ts +++ b/src/components/features/onboarding/OnboardingComplete.ts @@ -1,5 +1,5 @@ -import { OnboardingConfig } from "../../managers/onboarding-manager"; -import { t } from "../../../translations/helper"; +import { OnboardingConfig } from "@/managers/onboarding-manager"; +import { t } from "@/translations/helper"; import { setIcon } from "obsidian"; export class OnboardingComplete { diff --git a/src/components/features/onboarding/OnboardingModal.ts b/src/components/features/onboarding/OnboardingModal.ts index 1054645a..e4906afa 100644 --- a/src/components/features/onboarding/OnboardingModal.ts +++ b/src/components/features/onboarding/OnboardingModal.ts @@ -1,11 +1,11 @@ import { App, Modal, Setting, ButtonComponent, setIcon } from "obsidian"; -import type TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +import type TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { OnboardingConfigManager, OnboardingConfigMode, OnboardingConfig, -} from "../../managers/onboarding-manager"; +} from "@/managers/onboarding-manager"; import { UserLevelSelector } from "./UserLevelSelector"; import { ConfigPreview } from "./ConfigPreview"; import { TaskCreationGuide } from "./TaskCreationGuide"; diff --git a/src/components/features/onboarding/OnboardingView.ts b/src/components/features/onboarding/OnboardingView.ts index b005a4f5..d837db8c 100644 --- a/src/components/features/onboarding/OnboardingView.ts +++ b/src/components/features/onboarding/OnboardingView.ts @@ -1,12 +1,12 @@ import { ItemView, WorkspaceLeaf, setIcon, ButtonComponent } from "obsidian"; -import type TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +import type TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { OnboardingConfigManager, OnboardingConfigMode, OnboardingConfig, -} from "../../managers/onboarding-manager"; -import { SettingsChangeDetector } from "../../services/settings-change-detector"; +} from "@/managers/onboarding-manager"; +import { SettingsChangeDetector } from "@/services/settings-change-detector"; import { UserLevelSelector } from "./UserLevelSelector"; import { ConfigPreview } from "./ConfigPreview"; import { TaskCreationGuide } from "./TaskCreationGuide"; diff --git a/src/components/features/onboarding/TaskCreationGuide.ts b/src/components/features/onboarding/TaskCreationGuide.ts index 6e52baa6..de7cc772 100644 --- a/src/components/features/onboarding/TaskCreationGuide.ts +++ b/src/components/features/onboarding/TaskCreationGuide.ts @@ -1,7 +1,7 @@ import { Setting, TextAreaComponent, Notice, setIcon } from "obsidian"; -import type TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; -import { QuickCaptureModal } from "../../features/quick-capture/modals/QuickCaptureModal"; +import type TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; +import { QuickCaptureModal } from "@/components/features/quick-capture/modals/QuickCaptureModal"; export class TaskCreationGuide { private plugin: TaskProgressBarPlugin; diff --git a/src/components/features/onboarding/UserLevelSelector.ts b/src/components/features/onboarding/UserLevelSelector.ts index 58089935..5352c845 100644 --- a/src/components/features/onboarding/UserLevelSelector.ts +++ b/src/components/features/onboarding/UserLevelSelector.ts @@ -1,8 +1,7 @@ import { OnboardingConfigManager, OnboardingConfig, -} from "../../managers/onboarding-manager"; -import { t } from "../../../translations/helper"; +} from "@/managers/onboarding-manager"; import { setIcon } from "obsidian"; export class UserLevelSelector { diff --git a/src/components/features/quadrant/quadrant-card.ts b/src/components/features/quadrant/quadrant-card.ts index a4de1c38..4d2f1b15 100644 --- a/src/components/features/quadrant/quadrant-card.ts +++ b/src/components/features/quadrant/quadrant-card.ts @@ -1,10 +1,10 @@ import { App, Component, setIcon, Menu, MarkdownView } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { Task } from "../../../types/task"; -import { createTaskCheckbox } from "../../features/task/view/details"; -import { MarkdownRendererComponent } from "../../ui/renderers/MarkdownRenderer"; -import { t } from "../../../translations/helper"; -import { sanitizePriorityForClass } from "../../../utils/task/priority-utils"; +import TaskProgressBarPlugin from "@/index"; +import { Task } from "@/types/task"; +import { createTaskCheckbox } from "@/components/features/task/view/details"; +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; +import { t } from "@/translations/helper"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; export class QuadrantCardComponent extends Component { plugin: TaskProgressBarPlugin; diff --git a/src/components/features/quadrant/quadrant-column.ts b/src/components/features/quadrant/quadrant-column.ts index a62b2e34..041f89f8 100644 --- a/src/components/features/quadrant/quadrant-column.ts +++ b/src/components/features/quadrant/quadrant-column.ts @@ -1,9 +1,9 @@ import { App, Component, setIcon } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { Task } from "../../../types/task"; -import { QuadrantDefinition } from './quadrant"; +import TaskProgressBarPlugin from "@/index"; +import { Task } from "@/types/task"; +import { QuadrantDefinition } from './quadrant'; import { QuadrantCardComponent } from "./quadrant-card"; -import { t } from "../../../translations/helper"; +import { t } from "@/translations/helper"; export class QuadrantColumnComponent extends Component { plugin: TaskProgressBarPlugin; diff --git a/src/components/features/quadrant/quadrant.ts b/src/components/features/quadrant/quadrant.ts index 29dd160d..fe85ae6e 100644 --- a/src/components/features/quadrant/quadrant.ts +++ b/src/components/features/quadrant/quadrant.ts @@ -1,12 +1,12 @@ import { App, Component, setIcon, Platform, DropdownComponent, Notice } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { Task } from "../../../types/task"; +import TaskProgressBarPlugin from "@/index"; +import { Task } from "@/types/task"; import { QuadrantColumnComponent } from "./quadrant-column"; import Sortable from "sortablejs"; -import "../../../styles/quadrant/quadrant.css"; -import { t } from "../../../translations/helper"; -import { FilterComponent } from "../inview-filter/filter"; -import { ActiveFilter } from "../inview-filter/filter-type"; +import "@/styles/quadrant/quadrant.css"; +import { t } from "@/translations/helper"; +import { FilterComponent } from "@/components/features/task/filter/in-view/filter"; +import { ActiveFilter } from "@/components/features/task/filter/in-view/filter-type"; export interface QuadrantSortOption { field: diff --git a/src/components/features/quick-capture/modals/MinimalQuickCaptureModal.ts b/src/components/features/quick-capture/modals/MinimalQuickCaptureModal.ts index 89528335..efb0066a 100644 --- a/src/components/features/quick-capture/modals/MinimalQuickCaptureModal.ts +++ b/src/components/features/quick-capture/modals/MinimalQuickCaptureModal.ts @@ -11,16 +11,14 @@ import { import { createEmbeddableMarkdownEditor, EmbeddableMarkdownEditor, -} from '../../../../editor-extensions/core/markdown-editor"; -import TaskProgressBarPlugin from '../../../../index'; -import { saveCapture } from '../../../../utils/file/file-operations"; -import { t } from '../../../../translations/helper'; -import { MinimalQuickCaptureSuggest } from './quick-capture/suggest/MinimalQuickCaptureSuggest"; -import { DatePickerPopover } from '../../../ui/date-picker/DatePickerPopover"; -import { TagSuggest } from '../../../ui/inputs/AutoComplete"; -import { SuggestManager, UniversalEditorSuggest } from '../../../ui/suggest"; -import { ConfigurableTaskParser } from '../../../../dataflow/core/ConfigurableTaskParser"; -import { clearAllMarks } from '../../../ui/renderers/MarkdownRenderer"; +} from '@/editor-extensions/core/markdown-editor'; +import TaskProgressBarPlugin from '@/index'; +import { saveCapture } from '@/utils/file/file-operations'; +import { t } from '@/translations/helper'; +import { MinimalQuickCaptureSuggest } from '@/components/features/quick-capture/suggest/MinimalQuickCaptureSuggest'; +import { SuggestManager, UniversalEditorSuggest } from '@/components/ui/suggest'; +import { ConfigurableTaskParser } from '@/dataflow/core/ConfigurableTaskParser'; +import { clearAllMarks } from '@/components/ui/renderers/MarkdownRenderer'; interface TaskMetadata { startDate?: Date; diff --git a/src/components/features/quick-capture/modals/QuickCaptureModal.ts b/src/components/features/quick-capture/modals/QuickCaptureModal.ts index c174230b..e46f9ec3 100644 --- a/src/components/features/quick-capture/modals/QuickCaptureModal.ts +++ b/src/components/features/quick-capture/modals/QuickCaptureModal.ts @@ -11,22 +11,22 @@ import { import { createEmbeddableMarkdownEditor, EmbeddableMarkdownEditor, -} from '../../../../editor-extensions/core/markdown-editor"; -import TaskProgressBarPlugin from '../../../../index'; -import { saveCapture, processDateTemplates } from '../../../../utils/file/file-operations"; -import { FileSuggest } from "../components/ui/inputs/AutoComplete"; -import { t } from '../../../../translations/helper'; -import { MarkdownRendererComponent } from '../../../ui/renderers/MarkdownRenderer"; -import { StatusComponent } from '../../../ui/feedback/StatusIndicator"; -import { Task } from '../../../../types/task"; -import { ContextSuggest, ProjectSuggest } from '../../../ui/inputs/AutoComplete"; +} from '@/editor-extensions/core/markdown-editor'; +import TaskProgressBarPlugin from '@/index'; +import { saveCapture, processDateTemplates } from '@/utils/file/file-operations'; +import { FileSuggest } from "@/components/ui/inputs/AutoComplete"; +import { t } from '@/translations/helper'; +import { MarkdownRendererComponent } from '@/components/ui/renderers/MarkdownRenderer'; +import { StatusComponent } from '@/components/ui/feedback/StatusIndicator'; +import { Task } from '@/types/task'; +import { ContextSuggest, ProjectSuggest } from '@/components/ui/inputs/AutoComplete'; import { TimeParsingService, DEFAULT_TIME_PARSING_CONFIG, ParsedTimeResult, LineParseResult, -} from '../../../../services/time-parsing-service"; -import { SuggestManager, UniversalEditorSuggest } from '../../../ui/suggest"; +} from '@/services/time-parsing-service'; +import { SuggestManager, UniversalEditorSuggest } from '@/components/ui/suggest'; interface TaskMetadata { startDate?: Date; diff --git a/src/components/features/quick-capture/suggest/MinimalQuickCaptureSuggest.ts b/src/components/features/quick-capture/suggest/MinimalQuickCaptureSuggest.ts index ad0964fb..321e1eea 100644 --- a/src/components/features/quick-capture/suggest/MinimalQuickCaptureSuggest.ts +++ b/src/components/features/quick-capture/suggest/MinimalQuickCaptureSuggest.ts @@ -10,9 +10,9 @@ import { } from "obsidian"; import { Transaction } from "@codemirror/state"; import { EditorView } from "@codemirror/view"; -import TaskProgressBarPlugin from '../../../../index'; -import { t } from '../../../../translations/helper'; -import { getSuggestOptionsByTrigger } from '../../../ui/suggest/SpecialCharacterSuggests"; +import TaskProgressBarPlugin from '@/index'; +import { t } from '@/translations/helper'; +import { getSuggestOptionsByTrigger } from '@/components/ui/suggest'; interface SuggestOption { id: string; diff --git a/src/components/features/read-mode/ReadModeProgressBarWidget.ts b/src/components/features/read-mode/ReadModeProgressBarWidget.ts index 666f700b..f96b2ef9 100644 --- a/src/components/features/read-mode/ReadModeProgressBarWidget.ts +++ b/src/components/features/read-mode/ReadModeProgressBarWidget.ts @@ -1,4 +1,4 @@ -import TaskProgressBarPlugin from '../../../../index'; +import TaskProgressBarPlugin from '@/index'; import { Component, debounce, @@ -6,13 +6,13 @@ import { MarkdownSectionInformation, TFile, } from "obsidian"; -import { shouldHideProgressBarInPreview } from "../utils"; -import { formatProgressText } from '../../../../editor-extensions/ui-widgets/progress-bar-widget"; +import { shouldHideProgressBarInPreview } from "@/utils"; +import { formatProgressText } from '@/editor-extensions/ui-widgets/progress-bar-widget'; import { checkIfParentElementHasGoalFormat, extractTaskAndGoalInfoReadMode, getCustomTotalGoalReadMode, -} from "../core/goal/read-mode"; +} from "@/core/goal/read-mode"; interface GroupElement { parentElement: HTMLElement; diff --git a/src/components/features/read-mode/ReadModeTextMark.ts b/src/components/features/read-mode/ReadModeTextMark.ts index c8440a73..7719891d 100644 --- a/src/components/features/read-mode/ReadModeTextMark.ts +++ b/src/components/features/read-mode/ReadModeTextMark.ts @@ -1,4 +1,4 @@ -import TaskProgressBarPlugin from '../../../../index'; +import TaskProgressBarPlugin from '@/index'; import { Component, debounce, @@ -6,8 +6,8 @@ import { setIcon, TFile, } from "obsidian"; -import { getTasksAPI } from "../utils"; -import { parseTaskLine } from '../../../../utils/task/task-operations"; +import { getTasksAPI } from "@/utils"; +import { parseTaskLine } from '@/utils/task/task-operations'; // This component replaces standard checkboxes with custom text marks in reading view export function applyTaskTextMarks({ diff --git a/src/components/features/settings/components/FileSourceSettingsSection.ts b/src/components/features/settings/components/FileSourceSettingsSection.ts index c91571ca..4116c229 100644 --- a/src/components/features/settings/components/FileSourceSettingsSection.ts +++ b/src/components/features/settings/components/FileSourceSettingsSection.ts @@ -6,9 +6,9 @@ */ import { Setting, Notice } from "obsidian"; -import type TaskProgressBarPlugin from "../../index"; -import type { FileSourceConfiguration } from "../../types/file-source"; -import { t } from "../../translations/helper"; +import type TaskProgressBarPlugin from "@/index"; +import type { FileSourceConfiguration } from "@/types/file-source"; +import { t } from "@/translations/helper"; /** * Create File Task settings UI diff --git a/src/components/features/settings/components/SettingsSearchComponent.ts b/src/components/features/settings/components/SettingsSearchComponent.ts index 8ad19647..dfa59a25 100644 --- a/src/components/features/settings/components/SettingsSearchComponent.ts +++ b/src/components/features/settings/components/SettingsSearchComponent.ts @@ -1,8 +1,8 @@ import { Component, setIcon } from "obsidian"; -import { SettingsIndexer } from "./SettingsIndexer"; -import { SearchResult } from "../../types/SettingsSearch"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; +import { SettingsIndexer } from "@/components/features/settings/core/SettingsIndexer"; +import { SearchResult } from "@/types/SettingsSearch"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; /** * 设置搜索组件 diff --git a/src/components/features/settings/core/SettingsIndexer.ts b/src/components/features/settings/core/SettingsIndexer.ts index 46c91947..050668e5 100644 --- a/src/components/features/settings/core/SettingsIndexer.ts +++ b/src/components/features/settings/core/SettingsIndexer.ts @@ -1,11 +1,11 @@ import { prepareFuzzySearch } from "obsidian"; -import { SETTINGS_METADATA } from "../../common/settings-metadata"; +import { SETTINGS_METADATA } from "@/common/settings-metadata"; import { SettingsSearchIndex, SettingSearchItem, SearchResult, -} from "../../types/SettingsSearch"; -import { t } from "../../translations/helper"; +} from "@/types/SettingsSearch"; +import { t } from "@/translations/helper"; /** * 高性能设置项索引器 diff --git a/src/components/features/settings/index.ts b/src/components/features/settings/index.ts index 52b23cdd..e5f5ed95 100644 --- a/src/components/features/settings/index.ts +++ b/src/components/features/settings/index.ts @@ -1,17 +1,17 @@ -export { renderAboutSettingsTab } from "./AboutSettingsTab"; -export { renderBetaTestSettingsTab } from "./BetaTestSettingsTab"; -export { renderHabitSettingsTab } from "./HabitSettingsTab"; -export { IcsSettingsComponent } from "./IcsSettingsTab"; -export { renderProgressSettingsTab } from "./ProgressSettingsTab"; -export { renderQuickCaptureSettingsTab } from "./QuickCaptureSettingsTab"; -export { renderRewardSettingsTab } from "./RewardSettingsTab"; -export { renderTaskFilterSettingsTab } from "./TaskFilterSettingsTab"; -export { renderTaskHandlerSettingsTab } from "./TaskHandlerSettingsTab"; -export { renderTaskStatusSettingsTab } from "./TaskStatusSettingsTab"; -export { renderViewSettingsTab } from "./ViewSettingsTab"; -export { renderWorkflowSettingsTab } from "./WorkflowSettingsTab"; -export { renderProjectSettingsTab } from "./ProjectSettingsTab"; -export { renderDatePrioritySettingsTab } from "./DatePrioritySettingsTab"; -export { renderTimelineSidebarSettingsTab } from "./TimelineSidebarSettingsTab"; -export { renderIndexSettingsTab } from "./IndexSettingsTab"; -export { createFileSourceSettings } from "./FileSourceSettings"; +export { renderAboutSettingsTab } from "./tabs/AboutSettingsTab"; +export { renderBetaTestSettingsTab } from "./tabs/BetaTestSettingsTab"; +export { renderHabitSettingsTab } from "./tabs/HabitSettingsTab"; +export { IcsSettingsComponent } from "./tabs/IcsSettingsTab"; +export { renderProgressSettingsTab } from "./tabs/ProgressSettingsTab"; +export { renderQuickCaptureSettingsTab } from "./tabs/QuickCaptureSettingsTab"; +export { renderRewardSettingsTab } from "./tabs/RewardSettingsTab"; +export { renderTaskFilterSettingsTab } from "./tabs/TaskFilterSettingsTab"; +export { renderTaskHandlerSettingsTab } from "./tabs/TaskHandlerSettingsTab"; +export { renderTaskStatusSettingsTab } from "./tabs/TaskStatusSettingsTab"; +export { renderViewSettingsTab } from "./tabs/ViewSettingsTab"; +export { renderWorkflowSettingsTab } from "./tabs/WorkflowSettingsTab"; +export { renderProjectSettingsTab } from "./tabs/ProjectSettingsTab"; +export { renderDatePrioritySettingsTab } from "./tabs/DatePrioritySettingsTab"; +export { renderTimelineSidebarSettingsTab } from "./tabs/TimelineSidebarSettingsTab"; +export { renderIndexSettingsTab } from "./tabs/IndexSettingsTab"; +export { createFileSourceSettings } from "./components/FileSourceSettingsSection"; diff --git a/src/components/features/settings/tabs/AboutSettingsTab.ts b/src/components/features/settings/tabs/AboutSettingsTab.ts index aed64c94..f8f08a6c 100644 --- a/src/components/features/settings/tabs/AboutSettingsTab.ts +++ b/src/components/features/settings/tabs/AboutSettingsTab.ts @@ -1,7 +1,7 @@ import { setIcon, Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { OnboardingModal } from "../onboarding/OnboardingModal"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; +import { OnboardingModal } from "@/components/features/onboarding/OnboardingModal"; export function renderAboutSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/BasesSettingsTab.ts b/src/components/features/settings/tabs/BasesSettingsTab.ts index a1b241f3..2c0b6512 100644 --- a/src/components/features/settings/tabs/BasesSettingsTab.ts +++ b/src/components/features/settings/tabs/BasesSettingsTab.ts @@ -1,7 +1,7 @@ import { Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { ConfirmModal } from "../ConfirmModal"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; +import { ConfirmModal } from "@/components/ui/modals/ConfirmModal"; export function renderBasesSettingsTab(settingTab: TaskProgressBarSettingTab, containerEl: HTMLElement diff --git a/src/components/features/settings/tabs/BetaTestSettingsTab.ts b/src/components/features/settings/tabs/BetaTestSettingsTab.ts index d9cb8f9f..a388c6db 100644 --- a/src/components/features/settings/tabs/BetaTestSettingsTab.ts +++ b/src/components/features/settings/tabs/BetaTestSettingsTab.ts @@ -1,7 +1,6 @@ import { Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { ConfirmModal } from "../ConfirmModal"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; export function renderBetaTestSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/DatePrioritySettingsTab.ts b/src/components/features/settings/tabs/DatePrioritySettingsTab.ts index c8ce87a9..a70a945d 100644 --- a/src/components/features/settings/tabs/DatePrioritySettingsTab.ts +++ b/src/components/features/settings/tabs/DatePrioritySettingsTab.ts @@ -1,6 +1,6 @@ import { Setting } from "obsidian"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; export function renderDatePrioritySettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/FileFilterSettingsTab.ts b/src/components/features/settings/tabs/FileFilterSettingsTab.ts index 0fb9793e..e6707b49 100644 --- a/src/components/features/settings/tabs/FileFilterSettingsTab.ts +++ b/src/components/features/settings/tabs/FileFilterSettingsTab.ts @@ -1,9 +1,9 @@ import { Setting, Notice, setIcon, DropdownComponent } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { FilterMode, FileFilterRule } from "../../common/setting-definition"; -import { FolderSuggest, SimpleFileSuggest as FileSuggest } from "../AutoComplete"; -import "../../styles/file-filter-settings.css"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; +import { FilterMode, FileFilterRule } from "@/common/setting-definition"; +import { FolderSuggest, SimpleFileSuggest as FileSuggest } from "@/components/ui/inputs/AutoComplete"; +import "@/styles/file-filter-settings.css"; export function renderFileFilterSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/HabitSettingsTab.ts b/src/components/features/settings/tabs/HabitSettingsTab.ts index c9636409..10799798 100644 --- a/src/components/features/settings/tabs/HabitSettingsTab.ts +++ b/src/components/features/settings/tabs/HabitSettingsTab.ts @@ -1,7 +1,7 @@ import { Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { HabitList } from "../HabitSettingList"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; +import { HabitList } from "@/components/features/habit/components/HabitSettingList"; export function renderHabitSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/IcsSettingsTab.ts b/src/components/features/settings/tabs/IcsSettingsTab.ts index 138f8cea..4036abec 100644 --- a/src/components/features/settings/tabs/IcsSettingsTab.ts +++ b/src/components/features/settings/tabs/IcsSettingsTab.ts @@ -19,12 +19,12 @@ import { IcsManagerConfig, IcsTextReplacement, IcsHolidayConfig, -} from "../../types/ics"; -import { t } from "../../translations/helper"; -import TaskProgressBarPlugin from "../../index"; -import "../../styles/ics-settings.css"; -import { HolidayDetector } from "../../parsers/holiday-detector"; -import { WebcalUrlConverter } from "../../parsers/webcal-converter"; +} from "@/types/ics"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import "@/styles/ics-settings.css"; +import { HolidayDetector } from "@/parsers/holiday-detector"; +import { WebcalUrlConverter } from "@/parsers/webcal-converter"; export class IcsSettingsComponent { private plugin: TaskProgressBarPlugin; diff --git a/src/components/features/settings/tabs/IndexSettingsTab.ts b/src/components/features/settings/tabs/IndexSettingsTab.ts index b19e9187..454d94c4 100644 --- a/src/components/features/settings/tabs/IndexSettingsTab.ts +++ b/src/components/features/settings/tabs/IndexSettingsTab.ts @@ -1,9 +1,9 @@ import { Setting, Notice } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; -import { SingleFolderSuggest } from "../AutoComplete"; -import { ConfirmModal } from "../ConfirmModal"; -import { createFileSourceSettings } from "./FileSourceSettings"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; +import { SingleFolderSuggest } from "@/components/ui/inputs/AutoComplete"; +import { ConfirmModal } from "@/components/ui/modals/ConfirmModal"; +import { createFileSourceSettings } from "../components/FileSourceSettingsSection"; /** * Renders the Index Settings tab that consolidates all indexing-related settings diff --git a/src/components/features/settings/tabs/McpIntegrationSettingsTab.ts b/src/components/features/settings/tabs/McpIntegrationSettingsTab.ts index e93d7542..367ea349 100644 --- a/src/components/features/settings/tabs/McpIntegrationSettingsTab.ts +++ b/src/components/features/settings/tabs/McpIntegrationSettingsTab.ts @@ -3,12 +3,12 @@ */ import { Setting, Notice, Platform, setIcon, requestUrl } from "obsidian"; -import { t } from "../../translations/helper"; -import TaskProgressBarPlugin from "../../index"; -import { McpServerManager } from "../../mcp/McpServerManager"; -import { AuthMiddleware } from "../../mcp/auth/AuthMiddleware"; -import { ConfirmModal } from "../ConfirmModal"; -import "../../styles/mcp-integration.css"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { McpServerManager } from "@/mcp/McpServerManager"; +import { AuthMiddleware } from "@/mcp/auth/AuthMiddleware"; +import { ConfirmModal } from "@/components/ui/modals/ConfirmModal"; +import "@/styles/mcp-integration.css"; function createConfigBlock( container: HTMLElement, diff --git a/src/components/features/settings/tabs/ProgressSettingsTab.ts b/src/components/features/settings/tabs/ProgressSettingsTab.ts index d0681153..13937b09 100644 --- a/src/components/features/settings/tabs/ProgressSettingsTab.ts +++ b/src/components/features/settings/tabs/ProgressSettingsTab.ts @@ -1,8 +1,8 @@ import { Setting, TextAreaComponent } from "obsidian"; -import { DEFAULT_SETTINGS } from "../../common/setting-definition"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { formatProgressText } from "../../editor-extensions/ui-widgets/progress-bar-widget"; +import { DEFAULT_SETTINGS } from "@/common/setting-definition"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { formatProgressText } from "@/editor-extensions/ui-widgets/progress-bar-widget"; export function renderProgressSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/ProjectSettingsTab.ts b/src/components/features/settings/tabs/ProjectSettingsTab.ts index 8f8a426e..c9660837 100644 --- a/src/components/features/settings/tabs/ProjectSettingsTab.ts +++ b/src/components/features/settings/tabs/ProjectSettingsTab.ts @@ -1,6 +1,6 @@ import { Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; export function renderProjectSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/QuickCaptureSettingsTab.ts b/src/components/features/settings/tabs/QuickCaptureSettingsTab.ts index 5d2c639c..017e7053 100644 --- a/src/components/features/settings/tabs/QuickCaptureSettingsTab.ts +++ b/src/components/features/settings/tabs/QuickCaptureSettingsTab.ts @@ -1,6 +1,6 @@ import { Setting, Notice, App } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; export function renderQuickCaptureSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/RewardSettingsTab.ts b/src/components/features/settings/tabs/RewardSettingsTab.ts index 52368d7a..c13a5f4d 100644 --- a/src/components/features/settings/tabs/RewardSettingsTab.ts +++ b/src/components/features/settings/tabs/RewardSettingsTab.ts @@ -2,7 +2,7 @@ import { Setting, debounce, TextComponent, Notice } from "obsidian"; import { OccurrenceLevel, RewardItem } from "src/common/setting-definition"; import { TaskProgressBarSettingTab } from "src/setting"; import { t } from "src/translations/manager"; -import { ImageSuggest } from "../AutoComplete"; +import { ImageSuggest } from "@/components/ui/inputs/AutoComplete"; export function renderRewardSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/TaskFilterSettingsTab.ts b/src/components/features/settings/tabs/TaskFilterSettingsTab.ts index 5ac374c9..ac38e1dd 100644 --- a/src/components/features/settings/tabs/TaskFilterSettingsTab.ts +++ b/src/components/features/settings/tabs/TaskFilterSettingsTab.ts @@ -1,8 +1,8 @@ import { App, Modal, Setting } from "obsidian"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { migrateOldFilterOptions } from "../../editor-extensions/core/task-filter-panel"; -import { generateUniqueId } from "../../utils/id-generator"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { migrateOldFilterOptions } from "@/editor-extensions/core/task-filter-panel"; +import { generateUniqueId } from "@/utils/id-generator"; class PresetFilterModal extends Modal { constructor(app: App, private preset: any, private onSave: () => void) { diff --git a/src/components/features/settings/tabs/TaskHandlerSettingsTab.ts b/src/components/features/settings/tabs/TaskHandlerSettingsTab.ts index ec1fbbd3..78819b48 100644 --- a/src/components/features/settings/tabs/TaskHandlerSettingsTab.ts +++ b/src/components/features/settings/tabs/TaskHandlerSettingsTab.ts @@ -2,9 +2,9 @@ import { Setting } from "obsidian"; import { SortCriterion, DEFAULT_SETTINGS, -} from "../../common/setting-definition"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; +} from "@/common/setting-definition"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; export function renderTaskHandlerSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/TaskStatusSettingsTab.ts b/src/components/features/settings/tabs/TaskStatusSettingsTab.ts index 106f56be..255582fb 100644 --- a/src/components/features/settings/tabs/TaskStatusSettingsTab.ts +++ b/src/components/features/settings/tabs/TaskStatusSettingsTab.ts @@ -1,14 +1,13 @@ import { Modal, setIcon, Setting } from "obsidian"; -import { t } from "../../translations/helper"; -import { allStatusCollections } from "../../common/task-status"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { getTasksAPI } from "../../utils"; +import { t } from "@/translations/helper"; +import { allStatusCollections } from "@/common/task-status"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { getTasksAPI } from "@/utils"; import { DEFAULT_SETTINGS, TaskStatusConfig, -} from "../../common/setting-definition"; -import * as taskStatusModule from "../../common/task-status"; -import { getStatusIcon } from "../../icon"; +} from "@/common/setting-definition"; +import * as taskStatusModule from "@/common/task-status"; export function renderTaskStatusSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/TaskTimerSettingsTab.ts b/src/components/features/settings/tabs/TaskTimerSettingsTab.ts index b44e712d..4db76edb 100644 --- a/src/components/features/settings/tabs/TaskTimerSettingsTab.ts +++ b/src/components/features/settings/tabs/TaskTimerSettingsTab.ts @@ -1,5 +1,5 @@ import { Setting } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; +import { TaskProgressBarSettingTab } from "@/setting"; export function renderTaskTimerSettingTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/TimeParsingSettingsTab.ts b/src/components/features/settings/tabs/TimeParsingSettingsTab.ts index 718d6674..eda0fb32 100644 --- a/src/components/features/settings/tabs/TimeParsingSettingsTab.ts +++ b/src/components/features/settings/tabs/TimeParsingSettingsTab.ts @@ -1,7 +1,7 @@ import { PluginSettingTab, Setting } from "obsidian"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; -import type { EnhancedTimeParsingConfig } from "../../types/time-parsing"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import type { EnhancedTimeParsingConfig } from "@/types/time-parsing"; export function renderTimeParsingSettingsTab( pluginSettingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/TimelineSidebarSettingsTab.ts b/src/components/features/settings/tabs/TimelineSidebarSettingsTab.ts index ec791f91..6d2909f5 100644 --- a/src/components/features/settings/tabs/TimelineSidebarSettingsTab.ts +++ b/src/components/features/settings/tabs/TimelineSidebarSettingsTab.ts @@ -1,6 +1,6 @@ import { Setting, Notice } from "obsidian"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { t } from "../../translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { t } from "@/translations/helper"; export function renderTimelineSidebarSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/ViewSettingsTab.ts b/src/components/features/settings/tabs/ViewSettingsTab.ts index 9f9ca80a..911ec14f 100644 --- a/src/components/features/settings/tabs/ViewSettingsTab.ts +++ b/src/components/features/settings/tabs/ViewSettingsTab.ts @@ -1,9 +1,9 @@ import { Setting, Notice, setIcon } from "obsidian"; -import { ViewConfig, ViewFilterRule } from "../../common/setting-definition"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { ViewConfigModal } from "../ViewConfigModal"; -import { TaskFilterComponent } from '../../task/filter/ViewTaskFilter'; +import { ViewConfig, ViewFilterRule } from "@/common/setting-definition"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { ViewConfigModal } from "@/components/features/task/view/modals/ViewConfigModal"; +import { TaskFilterComponent } from '@/components/features/task/filter/ViewTaskFilter'; export function renderViewSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/settings/tabs/WorkflowSettingsTab.ts b/src/components/features/settings/tabs/WorkflowSettingsTab.ts index 045ffc6c..5699163c 100644 --- a/src/components/features/settings/tabs/WorkflowSettingsTab.ts +++ b/src/components/features/settings/tabs/WorkflowSettingsTab.ts @@ -1,8 +1,8 @@ import { Setting, Modal } from "obsidian"; -import { t } from "../../translations/helper"; -import { TaskProgressBarSettingTab } from "../../setting"; -import { WorkflowDefinitionModal } from "../WorkflowDefinitionModal"; -import { generateUniqueId } from "../../utils/id-generator"; +import { t } from "@/translations/helper"; +import { TaskProgressBarSettingTab } from "@/setting"; +import { WorkflowDefinitionModal } from "@/components/features/workflow/modals/WorkflowDefinitionModal"; +import { generateUniqueId } from "@/utils/id-generator"; export function renderWorkflowSettingsTab( settingTab: TaskProgressBarSettingTab, diff --git a/src/components/features/table/TableEditor.ts b/src/components/features/table/TableEditor.ts index 76f23ad3..682fe3ef 100644 --- a/src/components/features/table/TableEditor.ts +++ b/src/components/features/table/TableEditor.ts @@ -1,10 +1,10 @@ import { Component, App } from "obsidian"; import { TableSpecificConfig } from "../../../common/setting-definition"; import { EditorCallbacks } from "./TableTypes"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; -import { DatePickerPopover } from "../../ui/date-picker/DatePickerPopover"; -import { ContextSuggest, ProjectSuggest, TagSuggest } from "../../ui/inputs/AutoComplete"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; +import { DatePickerPopover } from "@/components/ui/date-picker/DatePickerPopover"; +import { ContextSuggest, ProjectSuggest, TagSuggest } from "@/components/ui/inputs/AutoComplete"; /** * Table editor component responsible for inline cell editing diff --git a/src/components/features/table/TableHeader.ts b/src/components/features/table/TableHeader.ts index f9b7884a..fe8bdd66 100644 --- a/src/components/features/table/TableHeader.ts +++ b/src/components/features/table/TableHeader.ts @@ -1,5 +1,5 @@ import { Component, setIcon } from "obsidian"; -import { t } from "../../../translations/helper"; +import { t } from "@/translations/helper"; export interface TableHeaderCallbacks { onTreeModeToggle?: (enabled: boolean) => void; diff --git a/src/components/features/table/TableRenderer.ts b/src/components/features/table/TableRenderer.ts index 6ab30229..1ca6d5de 100644 --- a/src/components/features/table/TableRenderer.ts +++ b/src/components/features/table/TableRenderer.ts @@ -1,12 +1,12 @@ import { Component, setIcon, Menu, App } from "obsidian"; import { TableColumn, TableRow, TableCell } from "./TableTypes"; import { TableSpecificConfig } from "../../../common/setting-definition"; -import { t } from "../../../translations/helper"; -import { DatePickerPopover } from "../../ui/date-picker/DatePickerPopover"; -import type TaskProgressBarPlugin from "../../../index"; -import { ContextSuggest, ProjectSuggest, TagSuggest } from "../../ui/inputs/AutoComplete"; -import { clearAllMarks } from "../../ui/renderers/MarkdownRenderer"; -import { getEffectiveProject, isProjectReadonly } from "../../../utils/task/task-operations"; +import { t } from "@/translations/helper"; +import { DatePickerPopover } from "@/components/ui/date-picker/DatePickerPopover"; +import type TaskProgressBarPlugin from "@/index"; +import { ContextSuggest, ProjectSuggest, TagSuggest } from "@/components/ui/inputs/AutoComplete"; +import { clearAllMarks } from "@/components/ui/renderers/MarkdownRenderer"; +import { getEffectiveProject, isProjectReadonly } from "@/utils/task/task-operations"; // Cache for autocomplete data to avoid repeated expensive operations interface AutoCompleteCache { diff --git a/src/components/features/table/TableTypes.ts b/src/components/features/table/TableTypes.ts index 16135d03..273c9e61 100644 --- a/src/components/features/table/TableTypes.ts +++ b/src/components/features/table/TableTypes.ts @@ -1,4 +1,4 @@ -import { Task } from "../../../types/task"; +import { Task } from "@/types/task"; /** * Table column definition diff --git a/src/components/features/table/TableView.ts b/src/components/features/table/TableView.ts index f9236880..37739a67 100644 --- a/src/components/features/table/TableView.ts +++ b/src/components/features/table/TableView.ts @@ -1,20 +1,20 @@ import { Component, App, debounce } from "obsidian"; -import { Task } from "../../../types/task"; +import { Task } from "@/types/task"; import { TableSpecificConfig, SortCriterion, } from "../../../common/setting-definition"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { TableColumn, TableRow, TableCell } from "./TableTypes"; import { TableRenderer } from "./TableRenderer"; import { TableEditor } from "./TableEditor"; import { TreeManager } from "./TreeManager"; import { VirtualScrollManager } from "./VirtualScrollManager"; import { TableHeader, TableHeaderCallbacks } from "./TableHeader"; -import { sortTasks } from "../../commands/sortTaskCommands"; -import { isProjectReadonly } from "../../../utils/task/task-operations"; -import "../../../styles/table.css"; +import { sortTasks } from "@/commands/sortTaskCommands"; +import { isProjectReadonly } from "@/utils/task/task-operations"; +import "@/styles/table.css"; export interface TableViewCallbacks { onTaskSelected?: (task: Task | null) => void; diff --git a/src/components/features/table/TableViewAdapter.ts b/src/components/features/table/TableViewAdapter.ts index 599a1cfb..95802e7e 100644 --- a/src/components/features/table/TableViewAdapter.ts +++ b/src/components/features/table/TableViewAdapter.ts @@ -1,8 +1,8 @@ import { Component, App } from "obsidian"; -import { Task } from "../../../types/task"; +import { Task } from "@/types/task"; import { TableView, TableViewCallbacks } from "./TableView"; import { TableSpecificConfig } from "../../../common/setting-definition"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; /** * Table view adapter to make TableView compatible with ViewComponentManager diff --git a/src/components/features/table/TreeManager.ts b/src/components/features/table/TreeManager.ts index 26ab4911..5313c0af 100644 --- a/src/components/features/table/TreeManager.ts +++ b/src/components/features/table/TreeManager.ts @@ -1,9 +1,9 @@ import { Component } from "obsidian"; -import { Task } from "../../../types/task"; +import { Task } from "@/types/task"; import { TreeNode, TableRow, TableCell, TableColumn } from "./TableTypes"; -import { SortCriterion } from "../../../common/setting-definition"; -import { sortTasks } from "../../commands/sortTaskCommands"; -import { t } from "../../../translations/helper"; +import { SortCriterion } from "@/common/setting-definition"; +import { sortTasks } from "@/commands/sortTaskCommands"; +import { t } from "@/translations/helper"; /** * Tree manager component responsible for handling hierarchical task display diff --git a/src/components/features/task/edit/MetadataEditor.ts b/src/components/features/task/edit/MetadataEditor.ts index cc1eedb1..54f4e51b 100644 --- a/src/components/features/task/edit/MetadataEditor.ts +++ b/src/components/features/task/edit/MetadataEditor.ts @@ -11,14 +11,14 @@ import { DropdownComponent, TextAreaComponent, } from "obsidian"; -import { Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; -import { t } from "../../../../translations/helper"; -import { ProjectSuggest, TagSuggest, ContextSuggest } from "../../../ui/inputs/AutoComplete"; -import { StatusComponent } from "../../../ui/feedback/StatusIndicator"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; +import { ProjectSuggest, TagSuggest, ContextSuggest } from "@/components/ui/inputs/AutoComplete"; +import { StatusComponent } from "@/components/ui/feedback/StatusIndicator"; import { format } from "date-fns"; -import { getEffectiveProject, isProjectReadonly } from "../../../../utils/task/task-operations"; -import { OnCompletionConfigurator } from "../onCompletion/OnCompletionConfigurator"; +import { getEffectiveProject, isProjectReadonly } from "@/utils/task/task-operations"; +import { OnCompletionConfigurator } from "@/components/features/on-completion/OnCompletionConfigurator"; export interface MetadataChangeEvent { field: string; diff --git a/src/components/features/task/edit/TaskDetailsModal.ts b/src/components/features/task/edit/TaskDetailsModal.ts index 7bc13a15..1c1ae3b7 100644 --- a/src/components/features/task/edit/TaskDetailsModal.ts +++ b/src/components/features/task/edit/TaskDetailsModal.ts @@ -4,10 +4,10 @@ */ import { App, Modal, TFile, MarkdownView, ButtonComponent } from "obsidian"; -import { Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; import { TaskMetadataEditor } from "./MetadataEditor"; -import { t } from "../../../../translations/helper"; +import { t } from "@/translations/helper"; export class TaskDetailsModal extends Modal { private task: Task; diff --git a/src/components/features/task/edit/TaskDetailsPopover.ts b/src/components/features/task/edit/TaskDetailsPopover.ts index 2ec766de..54f51157 100644 --- a/src/components/features/task/edit/TaskDetailsPopover.ts +++ b/src/components/features/task/edit/TaskDetailsPopover.ts @@ -12,10 +12,10 @@ import { CloseableComponent, } from "obsidian"; import { createPopper, Instance as PopperInstance } from "@popperjs/core"; -import { Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; import { TaskMetadataEditor } from "./MetadataEditor"; -import { t } from "../../../../translations/helper"; +import { t } from "@/translations/helper"; export class TaskDetailsPopover extends Component diff --git a/src/components/features/task/filter/FilterConfigModal.ts b/src/components/features/task/filter/FilterConfigModal.ts index c51b5953..5afd2e66 100644 --- a/src/components/features/task/filter/FilterConfigModal.ts +++ b/src/components/features/task/filter/FilterConfigModal.ts @@ -1,8 +1,8 @@ import { App, Modal, Setting, Notice, DropdownComponent } from "obsidian"; -import { t } from "../../../../translations/helper"; -import { SavedFilterConfig } from "../../../../common/setting-definition"; +import { t } from "@/translations/helper"; +import { SavedFilterConfig } from "@/common/setting-definition"; import { RootFilterState } from "./ViewTaskFilter"; -import type TaskProgressBarPlugin from "../../../../index"; +import type TaskProgressBarPlugin from "@/index"; export class FilterConfigModal extends Modal { private plugin: TaskProgressBarPlugin; diff --git a/src/components/features/task/filter/ViewTaskFilter.ts b/src/components/features/task/filter/ViewTaskFilter.ts index 68e045df..658be6d1 100644 --- a/src/components/features/task/filter/ViewTaskFilter.ts +++ b/src/components/features/task/filter/ViewTaskFilter.ts @@ -9,10 +9,10 @@ import { setTooltip, } from "obsidian"; import Sortable from "sortablejs"; -import { t } from "../../../../translations/helper"; // Adjusted path assuming helper.ts is in src/translations -import "../../../../styles/global-filter.css"; +import { t } from "@/translations/helper"; // Adjusted path assuming helper.ts is in src/translations +import "@/styles/global-filter.css"; import { FilterConfigModal } from "./FilterConfigModal"; -import type TaskProgressBarPlugin from "../../../../index"; +import type TaskProgressBarPlugin from "@/index"; // --- Interfaces (from focus.md and example HTML) --- // (Using 'any' for property types for now, will refine based on focus.md property list) diff --git a/src/components/features/task/filter/ViewTaskFilterModal.ts b/src/components/features/task/filter/ViewTaskFilterModal.ts index 8139ee32..be4c7916 100644 --- a/src/components/features/task/filter/ViewTaskFilterModal.ts +++ b/src/components/features/task/filter/ViewTaskFilterModal.ts @@ -1,7 +1,7 @@ import { App } from "obsidian"; import { Modal } from "obsidian"; import { TaskFilterComponent, RootFilterState } from "./ViewTaskFilter"; -import type TaskProgressBarPlugin from "../../../../index"; +import type TaskProgressBarPlugin from "@/index"; export class ViewTaskFilterModal extends Modal { public taskFilterComponent: TaskFilterComponent; diff --git a/src/components/features/task/filter/ViewTaskFilterPopover.ts b/src/components/features/task/filter/ViewTaskFilterPopover.ts index 1911451e..3933d7f8 100644 --- a/src/components/features/task/filter/ViewTaskFilterPopover.ts +++ b/src/components/features/task/filter/ViewTaskFilterPopover.ts @@ -2,7 +2,7 @@ import { App } from "obsidian"; import { CloseableComponent, Component } from "obsidian"; import { createPopper, Instance as PopperInstance } from "@popperjs/core"; import { TaskFilterComponent, RootFilterState } from "./ViewTaskFilter"; -import type TaskProgressBarPlugin from "../../../../index"; +import type TaskProgressBarPlugin from "@/index"; export class ViewTaskFilterPopover extends Component diff --git a/src/components/features/task/filter/in-view/custom/scroll-to-date-button.ts b/src/components/features/task/filter/in-view/custom/scroll-to-date-button.ts index 7f0c6ecb..3e738fca 100644 --- a/src/components/features/task/filter/in-view/custom/scroll-to-date-button.ts +++ b/src/components/features/task/filter/in-view/custom/scroll-to-date-button.ts @@ -1,5 +1,5 @@ import { Component } from "obsidian"; -import { t } from "../../../translations/helper"; +import { t } from "@/translations/helper"; export class ScrollToDateButton extends Component { private containerEl: HTMLElement; private scrollToDateCallback: (date: Date) => void; diff --git a/src/components/features/task/filter/in-view/filter-dropdown.ts b/src/components/features/task/filter/in-view/filter-dropdown.ts index 802a5e1f..8228dd6b 100644 --- a/src/components/features/task/filter/in-view/filter-dropdown.ts +++ b/src/components/features/task/filter/in-view/filter-dropdown.ts @@ -1,7 +1,7 @@ import { Component, debounce, setIcon } from "obsidian"; import { FilterCategory, FilterDropdownOptions } from "./filter-type"; -import TaskProgressBarPlugin from "../../../../../index"; -import { t } from "../../../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; export class FilterDropdown extends Component { private options: FilterCategory[]; diff --git a/src/components/features/task/filter/in-view/filter.ts b/src/components/features/task/filter/in-view/filter.ts index 1305696d..22c45325 100644 --- a/src/components/features/task/filter/in-view/filter.ts +++ b/src/components/features/task/filter/in-view/filter.ts @@ -7,10 +7,10 @@ import { FilterComponentOptions, } from "./filter-type"; import "./filter.css"; -import { Task } from "../../../../../types/task"; -import TaskProgressBarPlugin from "../../../../../index"; -import { t } from "../../../../../translations/helper"; -import { PRIORITY_MAP } from "../../../../../common/default-symbol"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; +import { PRIORITY_MAP } from "@/common/default-symbol"; // Helper function to build filter categories and options from tasks export function buildFilterOptionsFromTasks(tasks: Task[]): FilterCategory[] { diff --git a/src/components/features/task/view/InlineEditor.ts b/src/components/features/task/view/InlineEditor.ts index b56aa459..1dccbd9d 100644 --- a/src/components/features/task/view/InlineEditor.ts +++ b/src/components/features/task/view/InlineEditor.ts @@ -1,16 +1,17 @@ import { App, Component, debounce, setIcon, Menu } from "obsidian"; -import { StandardTaskMetadata, Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; -import { ContextSuggest, ProjectSuggest, TagSuggest } from "../../../ui/inputs/AutoComplete"; -import { clearAllMarks } from "../../../ui/renderers/MarkdownRenderer"; +import { StandardTaskMetadata, Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; +import { ContextSuggest, ProjectSuggest, TagSuggest } from "@/components/ui/inputs/AutoComplete"; +import { clearAllMarks } from "@/components/ui/renderers/MarkdownRenderer"; import { createEmbeddableMarkdownEditor, EmbeddableMarkdownEditor, -} from "../../../../editor-extensions/core/markdown-editor"; -import "../../../../styles/inline-editor.css"; -import { getEffectiveProject, isProjectReadonly } from "../../../../utils/task/task-operations"; -import { t } from "../../../../translations/helper"; -import { sanitizePriorityForClass } from "../../../../utils/task/priority-utils"; +} from "@/editor-extensions/core/markdown-editor"; +import "@/styles/inline-editor.css"; +import { getEffectiveProject, isProjectReadonly } from "@/utils/task/task-operations"; +import { t } from "@/translations/helper"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; +import { OnCompletionModal } from "@/components/features/on-completion/OnCompletionModal"; export interface InlineEditorOptions { onTaskUpdate: (task: Task, updatedTask: Task) => Promise; @@ -704,9 +705,6 @@ export class InlineEditor extends Component { container: HTMLElement, currentValue?: string ): Promise { - const { OnCompletionModal } = await import( - "../onCompletion/OnCompletionModal" - ); const modal = new OnCompletionModal(this.app, this.plugin, { initialValue: currentValue || this.task.metadata.onCompletion || "", diff --git a/src/components/features/task/view/InlineEditorManager.ts b/src/components/features/task/view/InlineEditorManager.ts index b22650c6..b94cb23a 100644 --- a/src/components/features/task/view/InlineEditorManager.ts +++ b/src/components/features/task/view/InlineEditorManager.ts @@ -1,6 +1,6 @@ import { App, Component } from "obsidian"; -import { Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; import { InlineEditor, InlineEditorOptions } from "./InlineEditor"; /** diff --git a/src/components/features/task/view/ProjectTreeComponent.ts b/src/components/features/task/view/ProjectTreeComponent.ts index f2509cd7..9e59b192 100644 --- a/src/components/features/task/view/ProjectTreeComponent.ts +++ b/src/components/features/task/view/ProjectTreeComponent.ts @@ -1,14 +1,13 @@ import { Component, App } from "obsidian"; -import { TreeNode, ProjectNodeData } from "../../../../types/tree"; -import { TreeComponent } from "../../../ui/tree/TreeComponent"; -import { Task } from "../../../../types/task"; +import { TreeNode, ProjectNodeData } from "@/types/tree"; +import { TreeComponent } from "@/components/ui/tree/TreeComponent"; +import { Task } from "@/types/task"; import { buildProjectTreeFromTasks, findNodeByPath, getAllDescendants -} from "../../core/project-tree-builder"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; +} from "@/core/project-tree-builder"; +import TaskProgressBarPlugin from "@/index"; /** * Project tree component for hierarchical project display diff --git a/src/components/features/task/view/ProjectViewComponent.ts b/src/components/features/task/view/ProjectViewComponent.ts index 2e126123..067a5d5f 100644 --- a/src/components/features/task/view/ProjectViewComponent.ts +++ b/src/components/features/task/view/ProjectViewComponent.ts @@ -1,16 +1,16 @@ import { App, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; -import { t } from "../../../../translations/helper"; -import "../../../../styles/project-view.css"; -import "../../../../styles/view-two-column-base.css"; -import "../../../../styles/project-tree.css"; -import TaskProgressBarPlugin from "../../../../index"; +import { Task } from "@/types/task"; +import { t } from "@/translations/helper"; +import "@/styles/project-view.css"; +import "@/styles/view-two-column-base.css"; +import "@/styles/project-tree.css"; +import TaskProgressBarPlugin from "@/index"; import { TwoColumnViewBase, TwoColumnViewConfig } from "./TwoColumnViewBase"; import { ProjectTreeComponent } from "./ProjectTreeComponent"; -import { TreeNode, ProjectNodeData } from "../../../../types/tree"; -import { buildProjectTreeFromTasks, findNodeByPath } from "../../core/project-tree-builder"; -import { filterTasksByProjectPaths } from "../../core/project-filter"; -import { getEffectiveProject } from "../../../../utils/task/task-operations"; +import { TreeNode, ProjectNodeData } from "@/types/tree"; +import { buildProjectTreeFromTasks, findNodeByPath } from "@/core/project-tree-builder"; +import { filterTasksByProjectPaths } from "@/core/project-filter"; +import { getEffectiveProject } from "@/utils/task/task-operations"; export class ProjectViewComponent extends TwoColumnViewBase { // 特定于项目视图的状态 diff --git a/src/components/features/task/view/TagViewComponent.ts b/src/components/features/task/view/TagViewComponent.ts index 44ccbd65..7a1720b2 100644 --- a/src/components/features/task/view/TagViewComponent.ts +++ b/src/components/features/task/view/TagViewComponent.ts @@ -1,10 +1,10 @@ import { App, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; -import { t } from "../../../../translations/helper"; -import "../../../../styles/tag-view.css"; -import "../../../../styles/view-two-column-base.css"; +import { Task } from "@/types/task"; +import { t } from "@/translations/helper"; +import "@/styles/tag-view.css"; +import "@/styles/view-two-column-base.css"; import { TaskListRendererComponent } from "./TaskList"; -import TaskProgressBarPlugin from "../../../../index"; +import TaskProgressBarPlugin from "@/index"; import { TwoColumnViewBase, TwoColumnViewConfig } from "./TwoColumnViewBase"; // 用于存储标签节的数据结构 diff --git a/src/components/features/task/view/TaskList.ts b/src/components/features/task/view/TaskList.ts index 7389f47b..811bcb8e 100644 --- a/src/components/features/task/view/TaskList.ts +++ b/src/components/features/task/view/TaskList.ts @@ -1,10 +1,10 @@ import { App, Component } from "obsidian"; -import { Task } from "../../../../types/task"; +import { Task } from "@/types/task"; import { TaskListItemComponent } from "./listItem"; import { TaskTreeItemComponent } from "./treeItem"; -import { tasksToTree } from "../../../../utils/ui/tree-view-utils"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; +import { tasksToTree } from "@/utils/ui/tree-view-utils"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; export class TaskListRendererComponent extends Component { private taskComponents: TaskListItemComponent[] = []; diff --git a/src/components/features/task/view/TaskPropertyTwoColumnView.ts b/src/components/features/task/view/TaskPropertyTwoColumnView.ts index 03283292..5b3a1366 100644 --- a/src/components/features/task/view/TaskPropertyTwoColumnView.ts +++ b/src/components/features/task/view/TaskPropertyTwoColumnView.ts @@ -1,11 +1,11 @@ import { App, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; +import { Task } from "@/types/task"; import { TwoColumnViewBase, TwoColumnViewConfig } from "./TwoColumnViewBase"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; -import { TwoColumnSpecificConfig } from "../../../../common/setting-definition"; -import "../../../../styles/property-view.css"; -import { getEffectiveProject } from "../../../../utils/task/task-operations"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { TwoColumnSpecificConfig } from "@/common/setting-definition"; +import "@/styles/property-view.css"; +import { getEffectiveProject } from "@/utils/task/task-operations"; /** * A two-column view that displays task properties in the left column diff --git a/src/components/features/task/view/TwoColumnViewBase.ts b/src/components/features/task/view/TwoColumnViewBase.ts index ae7f2c52..fe749c9e 100644 --- a/src/components/features/task/view/TwoColumnViewBase.ts +++ b/src/components/features/task/view/TwoColumnViewBase.ts @@ -5,12 +5,12 @@ import { ExtraButtonComponent, Platform, } from "obsidian"; -import { Task } from "../../../../types/task"; +import { Task } from "@/types/task"; import { TaskListRendererComponent } from "./TaskList"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; -import { getInitialViewMode, saveViewMode } from "../../../../utils/ui/view-mode-utils"; -import "../../../../styles/view.css"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { getInitialViewMode, saveViewMode } from "@/utils/ui/view-mode-utils"; +import "@/styles/view.css"; /** * 双栏组件的基础接口配置 diff --git a/src/components/features/task/view/calendar.ts b/src/components/features/task/view/calendar.ts index 5cde116d..790316e6 100644 --- a/src/components/features/task/view/calendar.ts +++ b/src/components/features/task/view/calendar.ts @@ -1,6 +1,6 @@ import { Component, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; -import { t } from "../../../../translations/helper"; +import { Task } from "@/types/task"; +import { t } from "@/translations/helper"; export interface CalendarDay { date: Date; diff --git a/src/components/features/task/view/content.ts b/src/components/features/task/view/content.ts index 984a33c7..bbe82012 100644 --- a/src/components/features/task/view/content.ts +++ b/src/components/features/task/view/content.ts @@ -1,20 +1,20 @@ import { App, Component, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; +import { Task } from "@/types/task"; import { TaskListItemComponent } from "./listItem"; // Re-import needed components import { ViewMode, getViewSettingOrDefault, SortCriterion, -} from "../../../../common/setting-definition"; // 导入 SortCriterion -import { tasksToTree } from "../../../../utils/ui/tree-view-utils"; // Re-import needed utils +} from "@/common/setting-definition"; // 导入 SortCriterion +import { tasksToTree } from "@/utils/ui/tree-view-utils"; // Re-import needed utils import { TaskTreeItemComponent } from "./treeItem"; // Re-import needed components -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; -import { getInitialViewMode, saveViewMode } from "../../../../utils/ui/view-mode-utils"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { getInitialViewMode, saveViewMode } from "@/utils/ui/view-mode-utils"; // @ts-ignore -import { filterTasks } from "../../../../utils/task/task-filter-utils"; -import { sortTasks } from "../../commands/sortTaskCommands"; // 导入 sortTasks 函数 +import { filterTasks } from "@/utils/task/task-filter-utils"; +import { sortTasks } from "@/commands/sortTaskCommands"; // 导入 sortTasks 函数 interface ContentComponentParams { onTaskSelected?: (task: Task | null) => void; diff --git a/src/components/features/task/view/details.ts b/src/components/features/task/view/details.ts index c33144be..9c2a905d 100644 --- a/src/components/features/task/view/details.ts +++ b/src/components/features/task/view/details.ts @@ -10,17 +10,17 @@ import { Menu, debounce, } from "obsidian"; -import { Task } from "../../../../types/task"; -import TaskProgressBarPlugin from "../../../../index"; -import { TaskProgressBarSettings } from "../../../../common/setting-definition"; -import "../../../../styles/task-details.css"; -import { t } from "../../../../translations/helper"; -import { clearAllMarks } from "../../../ui/renderers/MarkdownRenderer"; -import { StatusComponent } from "../../../ui/feedback/StatusIndicator"; -import { ContextSuggest, ProjectSuggest, TagSuggest } from "../../../ui/inputs/AutoComplete"; -import { FileTask } from "../../../../types/file-task"; -import { getEffectiveProject, isProjectReadonly } from "../../../../utils/task/task-operations"; -import { OnCompletionConfigurator } from "../onCompletion/OnCompletionConfigurator"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; +import { TaskProgressBarSettings } from "@/common/setting-definition"; +import "@/styles/task-details.css"; +import { t } from "@/translations/helper"; +import { clearAllMarks } from "@/components/ui/renderers/MarkdownRenderer"; +import { StatusComponent } from "@/components/ui/feedback/StatusIndicator"; +import { ContextSuggest, ProjectSuggest, TagSuggest } from "@/components/ui/inputs/AutoComplete"; +import { FileTask } from "@/types/file-task"; +import { getEffectiveProject, isProjectReadonly } from "@/utils/task/task-operations"; +import { OnCompletionConfigurator } from "@/components/features/on-completion/OnCompletionConfigurator"; function getStatus(task: Task, settings: TaskProgressBarSettings) { const status = Object.keys(settings.taskStatuses).find((key) => { diff --git a/src/components/features/task/view/forecast.ts b/src/components/features/task/view/forecast.ts index 4c03a83f..59e8cb3e 100644 --- a/src/components/features/task/view/forecast.ts +++ b/src/components/features/task/view/forecast.ts @@ -5,18 +5,18 @@ import { Platform, setIcon, } from "obsidian"; -import { Task } from "../../../../types/task"; -import { CalendarComponent, CalendarOptions } from './calendar"; +import { Task } from "@/types/task"; +import { CalendarComponent, CalendarOptions } from './calendar'; import { TaskListItemComponent } from "./listItem"; -import { t } from "../../../../translations/helper"; -import "../../../../styles/forecast.css"; -import "../../../../styles/calendar.css"; +import { t } from "@/translations/helper"; +import "@/styles/forecast.css"; +import "@/styles/calendar.css"; import { TaskTreeItemComponent } from "./treeItem"; import { TaskListRendererComponent } from "./TaskList"; -import TaskProgressBarPlugin from "../../../../index"; -import { ForecastSpecificConfig } from "../../../../common/setting-definition"; -import { sortTasks } from "../../commands/sortTaskCommands"; // 导入 sortTasks 函数 -import { getInitialViewMode, saveViewMode } from "../../../../utils/ui/view-mode-utils"; +import TaskProgressBarPlugin from "@/index"; +import { ForecastSpecificConfig } from "@/common/setting-definition"; +import { sortTasks } from "@/commands/sortTaskCommands"; // 导入 sortTasks 函数 +import { getInitialViewMode, saveViewMode } from "@/utils/ui/view-mode-utils"; interface DateSection { title: string; diff --git a/src/components/features/task/view/listItem.ts b/src/components/features/task/view/listItem.ts index a08a6fca..a226ad2f 100644 --- a/src/components/features/task/view/listItem.ts +++ b/src/components/features/task/view/listItem.ts @@ -1,15 +1,15 @@ import { App, Component, Menu, setIcon } from "obsidian"; -import { Task } from "../../../../types/task"; -import { MarkdownRendererComponent } from "../../../ui/renderers/MarkdownRenderer"; -import "../../../../styles/task-list.css"; +import { Task } from "@/types/task"; +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; +import "@/styles/task-list.css"; import { createTaskCheckbox } from "./details"; -import { getRelativeTimeString } from "../../../../utils/date/date-formatter"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; -import { TaskProgressBarSettings } from "../../../../common/setting-definition"; +import { getRelativeTimeString } from "@/utils/date/date-formatter"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { TaskProgressBarSettings } from "@/common/setting-definition"; import { InlineEditor, InlineEditorOptions } from "./InlineEditor"; import { InlineEditorManager } from "./InlineEditorManager"; -import { sanitizePriorityForClass } from "../../../../utils/task/priority-utils"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; export class TaskListItemComponent extends Component { public element: HTMLElement; diff --git a/src/components/features/task/view/modals/ViewConfigModal.ts b/src/components/features/task/view/modals/ViewConfigModal.ts index 199bf7d5..d5e7b435 100644 --- a/src/components/features/task/view/modals/ViewConfigModal.ts +++ b/src/components/features/task/view/modals/ViewConfigModal.ts @@ -8,7 +8,7 @@ import { moment, setIcon, } from "obsidian"; -import { t } from '../../../../translations/helper'; +import { t } from '@/translations/helper'; import { CalendarSpecificConfig, KanbanSpecificConfig, @@ -24,15 +24,15 @@ import { PropertyExistType, DEFAULT_SETTINGS, SortCriterion, -} from '../../../../common/setting-definition'; -import TaskProgressBarPlugin from '../../../../index'; -import { FolderSuggest } from '../../../../ui/inputs/AutoComplete'; -import { attachIconMenu } from '../../../../ui/menus/IconMenu'; -import { ConfirmModal } from '../../../../ui/modals/ConfirmModal'; +} from '@/common/setting-definition'; +import TaskProgressBarPlugin from '@/index'; +import { FolderSuggest } from '@/components/ui/inputs/AutoComplete'; +import { attachIconMenu } from '@/components/ui/menus/IconMenu'; +import { ConfirmModal } from '@/components/ui/modals/ConfirmModal'; import { TaskFilterComponent, RootFilterState, -} from './task/filter/ViewTaskFilter"; +} from '@/components/features/task/filter/ViewTaskFilter'; export class ViewConfigModal extends Modal { private viewConfig: ViewConfig; diff --git a/src/components/features/task/view/projects.ts b/src/components/features/task/view/projects.ts index af939352..3f3b806b 100644 --- a/src/components/features/task/view/projects.ts +++ b/src/components/features/task/view/projects.ts @@ -5,19 +5,19 @@ import { ExtraButtonComponent, Platform, } from "obsidian"; -import { Task } from "../../../../types/task"; -import { t } from "../../../../translations/helper"; -import "../../../../styles/project-view.css"; -import "../../../../styles/project-tree.css"; +import { Task } from "@/types/task"; +import { t } from "@/translations/helper"; +import "@/styles/project-view.css"; +import "@/styles/project-tree.css"; import { TaskListRendererComponent } from "./TaskList"; -import TaskProgressBarPlugin from "../../../../index"; -import { sortTasks } from "../../commands/sortTaskCommands"; -import { getEffectiveProject } from "../../../../utils/task/task-operations"; -import { getInitialViewMode, saveViewMode } from "../../../../utils/ui/view-mode-utils"; +import TaskProgressBarPlugin from "@/index"; +import { sortTasks } from "@/commands/sortTaskCommands"; +import { getEffectiveProject } from "@/utils/task/task-operations"; +import { getInitialViewMode, saveViewMode } from "@/utils/ui/view-mode-utils"; import { ProjectTreeComponent } from "./ProjectTreeComponent"; -import { buildProjectTree } from "../../core/project-tree-builder"; -import { TreeNode, ProjectNodeData } from "../../../../types/tree"; -import { filterTasksByProjectPaths } from "../../core/project-filter"; +import { buildProjectTree } from "@/core/project-tree-builder"; +import { TreeNode, ProjectNodeData } from "@/types/tree"; +import { filterTasksByProjectPaths } from "@/core/project-filter"; interface SelectedProjects { projects: string[]; diff --git a/src/components/features/task/view/review.ts b/src/components/features/task/view/review.ts index c6c0fd20..27770675 100644 --- a/src/components/features/task/view/review.ts +++ b/src/components/features/task/view/review.ts @@ -7,11 +7,11 @@ import { Platform, setIcon, } from "obsidian"; -import { Task } from "../../../../types/task"; -import { t } from "../../../../translations/helper"; -import { ProjectReviewSetting } from "../../../../common/setting-definition"; -import TaskProgressBarPlugin from "../../../../index"; // Path used in TaskView.ts -import "../../../../styles/review-view.css"; // Assuming styles will be added here +import { Task } from "@/types/task"; +import { t } from "@/translations/helper"; +import { ProjectReviewSetting } from "@/common/setting-definition"; +import TaskProgressBarPlugin from "@/index"; // Path used in TaskView.ts +import "@/styles/review-view.css"; // Assuming styles will be added here import { TaskListRendererComponent } from "./TaskList"; // Import the base renderer interface SelectedReviewProject { diff --git a/src/components/features/task/view/sidebar.ts b/src/components/features/task/view/sidebar.ts index b85e2870..2e70491d 100644 --- a/src/components/features/task/view/sidebar.ts +++ b/src/components/features/task/view/sidebar.ts @@ -1,15 +1,15 @@ import { App, Component, Menu, setIcon, Notice } from "obsidian"; -import TaskProgressBarPlugin from "../../../../index"; -import { t } from "../../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; // Import necessary types from settings definition import { ViewConfig, ViewFilterRule, ViewMode, getViewSettingOrDefault, -} from "../../../../common/setting-definition"; -import { TASK_SPECIFIC_VIEW_TYPE } from "../../pages/TaskSpecificView"; -import { ViewConfigModal } from "../ViewConfigModal"; +} from "@/common/setting-definition"; +import { TASK_SPECIFIC_VIEW_TYPE } from "@/pages/TaskSpecificView"; +import { ViewConfigModal } from "@/components/features/task/view/modals/ViewConfigModal"; // Remove the enum if it exists, use ViewMode type directly // export type ViewMode = "inbox" | "forecast" | "projects" | "tags" | "review"; diff --git a/src/components/features/task/view/tags.ts b/src/components/features/task/view/tags.ts index 9aabf8f2..9ebdadc4 100644 --- a/src/components/features/task/view/tags.ts +++ b/src/components/features/task/view/tags.ts @@ -5,15 +5,15 @@ import { ExtraButtonComponent, Platform, } from "obsidian"; -import { Task } from "../../../../types/task"; +import { Task } from "@/types/task"; import { TaskListItemComponent } from "./listItem"; -import { t } from "../../../../translations/helper"; -import "../../../../styles/tag-view.css"; +import { t } from "@/translations/helper"; +import "@/styles/tag-view.css"; import { TaskTreeItemComponent } from "./treeItem"; import { TaskListRendererComponent } from "./TaskList"; -import TaskProgressBarPlugin from "../../../../index"; -import { sortTasks } from "../../commands/sortTaskCommands"; -import { getInitialViewMode, saveViewMode } from "../../../../utils/ui/view-mode-utils"; +import TaskProgressBarPlugin from "@/index"; +import { sortTasks } from "@/commands/sortTaskCommands"; +import { getInitialViewMode, saveViewMode } from "@/utils/ui/view-mode-utils"; interface SelectedTags { tags: string[]; diff --git a/src/components/features/task/view/treeItem.ts b/src/components/features/task/view/treeItem.ts index 48cd628b..67f132f0 100644 --- a/src/components/features/task/view/treeItem.ts +++ b/src/components/features/task/view/treeItem.ts @@ -1,18 +1,18 @@ import { App, Component, setIcon, Menu } from "obsidian"; -import { Task } from "../../../../types/task"; -import "../../../../styles/tree-view.css"; -import { MarkdownRendererComponent } from "../../../ui/renderers/MarkdownRenderer"; +import { Task } from "@/types/task"; +import "@/styles/tree-view.css"; +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; import { createTaskCheckbox } from "./details"; import { getViewSettingOrDefault, ViewMode, -} from "../../../../common/setting-definition"; -import { getRelativeTimeString } from "../../../../utils/date/date-formatter"; -import { t } from "../../../../translations/helper"; -import TaskProgressBarPlugin from "../../../../index"; +} from "@/common/setting-definition"; +import { getRelativeTimeString } from "@/utils/date/date-formatter"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; import { InlineEditor, InlineEditorOptions } from "./InlineEditor"; import { InlineEditorManager } from "./InlineEditorManager"; -import { sanitizePriorityForClass } from "../../../../utils/task/priority-utils"; +import { sanitizePriorityForClass } from "@/utils/task/priority-utils"; export class TaskTreeItemComponent extends Component { public element: HTMLElement; diff --git a/src/components/features/timeline-sidebar/TimelineSidebarView.ts b/src/components/features/timeline-sidebar/TimelineSidebarView.ts index 697c7165..0927dd81 100644 --- a/src/components/features/timeline-sidebar/TimelineSidebarView.ts +++ b/src/components/features/timeline-sidebar/TimelineSidebarView.ts @@ -9,19 +9,19 @@ import { Platform, TFile, } from "obsidian"; -import { Task } from "../../../types/task"; -import { TimeComponent } from "../../../types/time-parsing"; -import { t } from "../../../translations/helper"; -import TaskProgressBarPlugin from "../../../index"; -import { QuickCaptureModal } from "../../features/quick-capture/modals/QuickCaptureModal"; +import { Task } from "@/types/task"; +import { TimeComponent } from "@/types/time-parsing"; +import { t } from "@/translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { QuickCaptureModal } from "@/components/features/quick-capture/modals/QuickCaptureModal"; import { createEmbeddableMarkdownEditor, EmbeddableMarkdownEditor, } from "../../../editor-extensions/core/markdown-editor"; -import { saveCapture } from "../../../utils/file/file-operations"; -import "../../../styles/timeline-sidebar.css"; -import { createTaskCheckbox } from "../../features/task/view/details"; -import { MarkdownRendererComponent } from "../../ui/renderers/MarkdownRenderer"; +import { saveCapture } from "@/utils/file/file-operations"; +import "@/styles/timeline-sidebar.css"; +import { createTaskCheckbox } from "@/components/features/task/view/details"; +import { MarkdownRendererComponent } from "@/components/ui/renderers/MarkdownRenderer"; export const TIMELINE_SIDEBAR_VIEW_TYPE = "tg-timeline-sidebar-view"; diff --git a/src/components/features/workflow/modals/QuickWorkflowModal.ts b/src/components/features/workflow/modals/QuickWorkflowModal.ts index 8609f02c..99f775ec 100644 --- a/src/components/features/workflow/modals/QuickWorkflowModal.ts +++ b/src/components/features/workflow/modals/QuickWorkflowModal.ts @@ -6,9 +6,9 @@ import { ButtonComponent, DropdownComponent, } from "obsidian"; -import TaskProgressBarPlugin from '../../../../index'; -import { WorkflowDefinition, WorkflowStage } from '../../../../common/setting-definition'; -import { t } from '../../../../translations/helper'; +import TaskProgressBarPlugin from '@/index'; +import { WorkflowDefinition, WorkflowStage } from '@/common/setting-definition'; +import { t } from '@/translations/helper'; /** * Quick workflow creation modal for streamlined workflow setup diff --git a/src/components/features/workflow/modals/StageEditModal.ts b/src/components/features/workflow/modals/StageEditModal.ts index 4509d7bb..5924810f 100644 --- a/src/components/features/workflow/modals/StageEditModal.ts +++ b/src/components/features/workflow/modals/StageEditModal.ts @@ -5,7 +5,7 @@ import { DropdownComponent, ExtraButtonComponent, } from "obsidian"; -import { t } from '../../../../translations/helper'; +import { t } from '@/translations/helper'; // Stage edit modal export class StageEditModal extends Modal { diff --git a/src/components/features/workflow/modals/WorkflowDefinitionModal.ts b/src/components/features/workflow/modals/WorkflowDefinitionModal.ts index a1095a71..309feff7 100644 --- a/src/components/features/workflow/modals/WorkflowDefinitionModal.ts +++ b/src/components/features/workflow/modals/WorkflowDefinitionModal.ts @@ -1,8 +1,8 @@ import { Modal, App, Setting } from "obsidian"; -import TaskProgressBarPlugin from '../../../../index'; -import { WorkflowStage } from '../../../../common/setting-definition'; -import { t } from '../../../../translations/helper'; -import { StageEditModal } from './workflow/modals/StageEditModal"; +import TaskProgressBarPlugin from '@/index'; +import { WorkflowStage } from '@/common/setting-definition'; +import { t } from '@/translations/helper'; +import { StageEditModal } from '@/components/features/workflow/modals/StageEditModal'; export class WorkflowDefinitionModal extends Modal { workflow: any; diff --git a/src/components/features/workflow/widgets/WorkflowProgressIndicator.ts b/src/components/features/workflow/widgets/WorkflowProgressIndicator.ts index 15a2f487..8f5a6c6b 100644 --- a/src/components/features/workflow/widgets/WorkflowProgressIndicator.ts +++ b/src/components/features/workflow/widgets/WorkflowProgressIndicator.ts @@ -1,7 +1,7 @@ import { Component, setIcon } from "obsidian"; -import { WorkflowDefinition, WorkflowStage } from '../../../../common/setting-definition'; -import TaskProgressBarPlugin from '../../../../index'; -import { t } from '../../../../translations/helper'; +import { WorkflowDefinition, WorkflowStage } from '@/common/setting-definition'; +import TaskProgressBarPlugin from '@/index'; +import { t } from '@/translations/helper'; /** * Workflow progress indicator component for visualizing workflow completion diff --git a/src/components/ui/behavior/ViewComponentManager.ts b/src/components/ui/behavior/ViewComponentManager.ts index e0d703fd..321961be 100644 --- a/src/components/ui/behavior/ViewComponentManager.ts +++ b/src/components/ui/behavior/ViewComponentManager.ts @@ -1,17 +1,17 @@ import { App, Component } from "obsidian"; -import { Task } from "../../../types/task"; -import TaskProgressBarPlugin from "../../../index"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; import { ViewMode, getViewSettingOrDefault, -} from "../../../common/setting-definition"; -import { KanbanComponent } from "../../features/kanban/kanban"; -import { CalendarComponent, CalendarEvent } from "../../features/calendar"; -import { GanttComponent } from "../../features/gantt/gantt"; -import { TaskPropertyTwoColumnView } from "../../features/task/view/TaskPropertyTwoColumnView"; -import { ForecastComponent } from "../../features/task/view/forecast"; -import { TableViewAdapter } from "../../features/table/TableViewAdapter"; -import { QuadrantComponent } from "../../features/quadrant/quadrant"; +} from "@/common/setting-definition"; +import { KanbanComponent } from "@/components/features/kanban/kanban"; +import { CalendarComponent, CalendarEvent } from "@/components/features/calendar"; +import { GanttComponent } from "@/components/features/gantt/gantt"; +import { TaskPropertyTwoColumnView } from "@/components/features/task/view/TaskPropertyTwoColumnView"; +import { ForecastComponent } from "@/components/features/task/view/forecast"; +import { TableViewAdapter } from "@/components/features/table/TableViewAdapter"; +import { QuadrantComponent } from "@/components/features/quadrant/quadrant"; // 定义视图组件的通用接口 interface ViewComponentInterface { diff --git a/src/components/ui/date-picker/DatePickerComponent.ts b/src/components/ui/date-picker/DatePickerComponent.ts index 9d848c5c..7e1aa6e4 100644 --- a/src/components/ui/date-picker/DatePickerComponent.ts +++ b/src/components/ui/date-picker/DatePickerComponent.ts @@ -8,9 +8,9 @@ import { moment, setTooltip, } from "obsidian"; -import { t } from "../../../translations/helper"; -import "../../../styles/date-picker.css"; -import type TaskProgressBarPlugin from "../../../index"; +import { t } from "@/translations/helper"; +import "@/styles/date-picker.css"; +import type TaskProgressBarPlugin from "@/index"; export interface DatePickerState { selectedDate: string | null; diff --git a/src/components/ui/date-picker/DatePickerModal.ts b/src/components/ui/date-picker/DatePickerModal.ts index 57c8848a..72e9484a 100644 --- a/src/components/ui/date-picker/DatePickerModal.ts +++ b/src/components/ui/date-picker/DatePickerModal.ts @@ -1,6 +1,6 @@ import { App, Modal } from "obsidian"; import { DatePickerComponent, DatePickerState } from "./DatePickerComponent"; -import type TaskProgressBarPlugin from "../../../index"; +import type TaskProgressBarPlugin from "@/index"; export class DatePickerModal extends Modal { public datePickerComponent: DatePickerComponent; diff --git a/src/components/ui/date-picker/DatePickerPopover.ts b/src/components/ui/date-picker/DatePickerPopover.ts index b96927bc..31a8cb5b 100644 --- a/src/components/ui/date-picker/DatePickerPopover.ts +++ b/src/components/ui/date-picker/DatePickerPopover.ts @@ -1,7 +1,7 @@ import { App, Component, CloseableComponent } from "obsidian"; import { createPopper, Instance as PopperInstance } from "@popperjs/core"; import { DatePickerComponent, DatePickerState } from "./DatePickerComponent"; -import type TaskProgressBarPlugin from "../../../index"; +import type TaskProgressBarPlugin from "@/index"; export class DatePickerPopover extends Component implements CloseableComponent { private app: App; diff --git a/src/components/ui/feedback/StatusIndicator.ts b/src/components/ui/feedback/StatusIndicator.ts index 75d4a99c..83d2d435 100644 --- a/src/components/ui/feedback/StatusIndicator.ts +++ b/src/components/ui/feedback/StatusIndicator.ts @@ -1,9 +1,9 @@ import { ExtraButtonComponent, Menu, setIcon } from "obsidian"; import { Component } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { Task } from "../../../types/task"; -import { createTaskCheckbox, getStatusText } from "../../features/task/view/details"; -import { t } from "../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { Task } from "@/types/task"; +import { createTaskCheckbox, getStatusText } from "@/components/features/task/view/details"; +import { t } from "@/translations/helper"; import { getStatusIcon } from "../../../icon"; export class StatusComponent extends Component { diff --git a/src/components/ui/inputs/AutoComplete.ts b/src/components/ui/inputs/AutoComplete.ts index 32763e0f..20c06dac 100644 --- a/src/components/ui/inputs/AutoComplete.ts +++ b/src/components/ui/inputs/AutoComplete.ts @@ -5,8 +5,8 @@ import { Scope, TFile, } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { QuickCaptureOptions } from "../../../editor-extensions/core/quick-capture-panel"; +import TaskProgressBarPlugin from "@/index"; +import { QuickCaptureOptions } from "@/editor-extensions/core/quick-capture-panel"; // Global cache for autocomplete data to avoid repeated expensive operations interface GlobalAutoCompleteCache { diff --git a/src/components/ui/menus/IconMenu.ts b/src/components/ui/menus/IconMenu.ts index 3e903310..ecc3ee55 100644 --- a/src/components/ui/menus/IconMenu.ts +++ b/src/components/ui/menus/IconMenu.ts @@ -1,7 +1,7 @@ import { debounce, getIconIds, Notice, setIcon } from "obsidian"; import { ButtonComponent } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; export const attachIconMenu = ( btn: ButtonComponent, diff --git a/src/components/ui/modals/ConfirmModal.ts b/src/components/ui/modals/ConfirmModal.ts index 0f9a06f9..e3484f5a 100644 --- a/src/components/ui/modals/ConfirmModal.ts +++ b/src/components/ui/modals/ConfirmModal.ts @@ -1,6 +1,6 @@ import { App, ButtonComponent, Modal, MarkdownRenderer } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import "../../../styles/modal.css"; +import TaskProgressBarPlugin from "@/index"; +import "@/styles/modal.css"; export class ConfirmModal extends Modal { private plugin: TaskProgressBarPlugin; diff --git a/src/components/ui/modals/index.ts b/src/components/ui/modals/index.ts index 739885a0..239b5aeb 100644 --- a/src/components/ui/modals/index.ts +++ b/src/components/ui/modals/index.ts @@ -1,2 +1,2 @@ -export * from './ui/modals/ConfirmModal'; -export * from './ui/modals/IframeModal'; \ No newline at end of file +export * from './ConfirmModal'; +export * from './IframeModal'; \ No newline at end of file diff --git a/src/components/ui/suggest/SpecialCharacterSuggests.ts b/src/components/ui/suggest/SpecialCharacterSuggests.ts index 3ea4e5a8..d997cb33 100644 --- a/src/components/ui/suggest/SpecialCharacterSuggests.ts +++ b/src/components/ui/suggest/SpecialCharacterSuggests.ts @@ -1,7 +1,7 @@ import { Editor, EditorPosition, Notice } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; import { SuggestOption } from "./UniversalEditorSuggest"; -import { t } from "../../../translations/helper"; +import { t } from "@/translations/helper"; /** * Priority suggest options based on existing priority system diff --git a/src/components/ui/suggest/SuggestManager.ts b/src/components/ui/suggest/SuggestManager.ts index e12fd8f1..9b9f61a2 100644 --- a/src/components/ui/suggest/SuggestManager.ts +++ b/src/components/ui/suggest/SuggestManager.ts @@ -1,5 +1,5 @@ import { App, Editor, EditorSuggest, TFile } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; +import TaskProgressBarPlugin from "@/index"; import { UniversalEditorSuggest, UniversalSuggestConfig } from "./UniversalEditorSuggest"; export interface SuggestManagerConfig { diff --git a/src/components/ui/suggest/UniversalEditorSuggest.ts b/src/components/ui/suggest/UniversalEditorSuggest.ts index 10af89d8..6bbcf8a2 100644 --- a/src/components/ui/suggest/UniversalEditorSuggest.ts +++ b/src/components/ui/suggest/UniversalEditorSuggest.ts @@ -8,10 +8,10 @@ import { TFile, setIcon, } from "obsidian"; -import TaskProgressBarPlugin from "../../../index"; -import { t } from "../../../translations/helper"; +import TaskProgressBarPlugin from "@/index"; +import { t } from "@/translations/helper"; import { getSuggestOptionsByTrigger } from "./SpecialCharacterSuggests"; -import "../../../styles/universal-suggest.css"; +import "@/styles/universal-suggest.css"; export interface SuggestOption { id: string; diff --git a/src/components/ui/tree/TreeComponent.ts b/src/components/ui/tree/TreeComponent.ts index c88c3641..1fad8487 100644 --- a/src/components/ui/tree/TreeComponent.ts +++ b/src/components/ui/tree/TreeComponent.ts @@ -1,5 +1,5 @@ import { Component } from "obsidian"; -import { TreeNode, TreeState } from "../../../types/tree"; +import { TreeNode, TreeState } from "@/types/tree"; import { TreeItemRenderer } from "./TreeItemRenderer"; /** diff --git a/src/components/ui/tree/TreeItemRenderer.ts b/src/components/ui/tree/TreeItemRenderer.ts index 85a97b60..1eeb3630 100644 --- a/src/components/ui/tree/TreeItemRenderer.ts +++ b/src/components/ui/tree/TreeItemRenderer.ts @@ -1,5 +1,5 @@ import { Component, setIcon } from "obsidian"; -import { TreeNode, TreeNodeEvents } from "../../../types/tree"; +import { TreeNode, TreeNodeEvents } from "@/types/tree"; /** * Configuration for tree item rendering diff --git a/src/dataflow/api/WriteAPI.ts b/src/dataflow/api/WriteAPI.ts index 3b889823..0856fad3 100644 --- a/src/dataflow/api/WriteAPI.ts +++ b/src/dataflow/api/WriteAPI.ts @@ -16,7 +16,7 @@ import { appHasDailyNotesPluginLoaded, getDailyNoteSettings, } from "obsidian-daily-notes-interface"; -import { saveCapture, processDateTemplates } from "../../utils/file/file-operations"; +import { saveCapture, processDateTemplates } from "@/utils/file/file-operations"; import { Events, emit } from "../events/Events"; import { CanvasTaskUpdater } from "../../parsers/canvas-task-updater"; diff --git a/src/dataflow/augment/DateInheritanceAugmentor.ts b/src/dataflow/augment/DateInheritanceAugmentor.ts index 21a5d249..1041f7b2 100644 --- a/src/dataflow/augment/DateInheritanceAugmentor.ts +++ b/src/dataflow/augment/DateInheritanceAugmentor.ts @@ -6,7 +6,7 @@ */ import { App, TFile, Vault, MetadataCache } from "obsidian"; -import { DateInheritanceService, DateResolutionContext, DateResolutionResult } from "../../services/date-inheritance-service"; +import { DateInheritanceService, DateResolutionContext, DateResolutionResult } from "@/services/date-inheritance-service"; import { TimeComponent } from "../../types/time-parsing"; import type { Task, EnhancedStandardTaskMetadata } from "../../types/task"; diff --git a/src/dataflow/core/ConfigurableTaskParser.ts b/src/dataflow/core/ConfigurableTaskParser.ts index 4fa97c1a..b35d7960 100644 --- a/src/dataflow/core/ConfigurableTaskParser.ts +++ b/src/dataflow/core/ConfigurableTaskParser.ts @@ -3,17 +3,17 @@ * Based on Rust implementation design with TypeScript adaptation */ -import { Task, TgProject, EnhancedStandardTaskMetadata } from "../../types/task"; +import { Task, TgProject, EnhancedStandardTaskMetadata } from "@/types/task"; import { TaskParserConfig, EnhancedTask, MetadataParseMode, } from "../../types/TaskParserConfig"; -import { parseLocalDate } from "../../utils/date/date-formatter"; -import { TASK_REGEX } from "../../common/regex-define"; -import { ContextDetector } from "../../parsers/context-detector"; -import { TimeParsingService } from "../../services/time-parsing-service"; -import { TimeComponent } from "../../types/time-parsing"; +import { parseLocalDate } from "@/utils/date/date-formatter"; +import { TASK_REGEX } from "@/common/regex-define"; +import { ContextDetector } from "@/parsers/context-detector"; +import { TimeParsingService } from "@/services/time-parsing-service"; +import { TimeComponent } from "@/types/time-parsing"; export class MarkdownTaskParser { private config: TaskParserConfig; diff --git a/src/dataflow/indexer/Repository.ts b/src/dataflow/indexer/Repository.ts index 0c6ea163..38fa354c 100644 --- a/src/dataflow/indexer/Repository.ts +++ b/src/dataflow/indexer/Repository.ts @@ -1,8 +1,8 @@ import type { Task, TaskCache, TaskFilter, SortingCriteria, TaskIndexer as TaskIndexerInterface } from "../../types/task"; import type { App, Vault, MetadataCache, TFile } from "obsidian"; -import { TaskIndexer } from "../../core/task-indexer"; -import { Storage } from "../persistence/Storage"; -import { emit, Events, Seq } from "../events/Events"; +import { TaskIndexer } from "@/core/task-indexer"; +import { Storage } from "@/dataflow/persistence/Storage"; +import { emit, Events, Seq } from "@/dataflow/events/Events"; /** * Task Repository - combines TaskIndexer with Storage for a complete data layer diff --git a/src/dataflow/project/Resolver.ts b/src/dataflow/project/Resolver.ts index 41bc2c97..64fec1a2 100644 --- a/src/dataflow/project/Resolver.ts +++ b/src/dataflow/project/Resolver.ts @@ -1,7 +1,7 @@ import type { TgProject } from "../../types/task"; import type { App, Vault, MetadataCache } from "obsidian"; -import { ProjectConfigManager, ProjectConfigManagerOptions } from "../../managers/project-config-manager"; -import { ProjectDataCache, CachedProjectData } from "../../cache/project-data-cache"; +import { ProjectConfigManager, ProjectConfigManagerOptions } from "@/managers/project-config-manager"; +import { ProjectDataCache, CachedProjectData } from "@/cache/project-data-cache"; export interface ProjectData { tgProject?: TgProject; diff --git a/src/dataflow/sources/FileSource.ts b/src/dataflow/sources/FileSource.ts index f5b0433e..1fd4d91a 100644 --- a/src/dataflow/sources/FileSource.ts +++ b/src/dataflow/sources/FileSource.ts @@ -6,7 +6,7 @@ */ import type { App, TFile, EventRef, CachedMetadata } from "obsidian"; -import type { Task } from "../../types/task"; +import type { Task } from "@/types/task"; import type { FileSourceConfiguration, FileSourceTaskMetadata, @@ -16,12 +16,12 @@ import type { RecognitionStrategy, PathRecognitionConfig, TemplateRecognitionConfig -} from "../../types/file-source"; +} from "@/types/file-source"; import { Events, emit, Seq, on } from "../events/Events"; import { FileSourceConfig } from "./FileSourceConfig"; -import { FileFilterManager } from "../../managers/file-filter-manager"; +import { FileFilterManager } from "@/managers/file-filter-manager"; /** * FileSource - Independent event source for file-based tasks diff --git a/src/dataflow/sources/IcsSource.ts b/src/dataflow/sources/IcsSource.ts index 573f3a2d..e2d05903 100644 --- a/src/dataflow/sources/IcsSource.ts +++ b/src/dataflow/sources/IcsSource.ts @@ -7,8 +7,8 @@ import { App, EventRef } from "obsidian"; import { Events, emit, Seq } from "../events/Events"; -import type { IcsManager } from "../../managers/ics-manager"; -import type { Task } from "../../types/task"; +import type { IcsManager } from "@/managers/ics-manager"; +import type { Task } from "@/types/task"; export class IcsSource { private eventRefs: EventRef[] = []; diff --git a/src/dataflow/workers/ProjectDataWorkerManager.ts b/src/dataflow/workers/ProjectDataWorkerManager.ts index 6ccc0142..64d0fadd 100644 --- a/src/dataflow/workers/ProjectDataWorkerManager.ts +++ b/src/dataflow/workers/ProjectDataWorkerManager.ts @@ -6,8 +6,8 @@ */ import { Vault, MetadataCache } from "obsidian"; -import { ProjectConfigManager } from "../../managers/project-config-manager"; -import { ProjectDataCache, CachedProjectData } from "../../cache/project-data-cache"; +import { ProjectConfigManager } from "@/managers/project-config-manager"; +import { ProjectDataCache, CachedProjectData } from "@/cache/project-data-cache"; import { ProjectDataResponse, WorkerResponse, diff --git a/src/dataflow/workers/TaskIndex.worker.ts b/src/dataflow/workers/TaskIndex.worker.ts index 49a0814e..13249e7d 100644 --- a/src/dataflow/workers/TaskIndex.worker.ts +++ b/src/dataflow/workers/TaskIndex.worker.ts @@ -17,7 +17,7 @@ import { MarkdownTaskParser } from "../core/ConfigurableTaskParser"; import { getConfig } from "../../common/task-parser-config"; import { FileMetadataTaskParser } from "../../parsers/file-metadata-parser"; import { CanvasParser } from "../core/CanvasParser"; -import { SupportedFileType } from "../../utils/file/file-type-detector"; +import { SupportedFileType } from "@/utils/file/file-type-detector"; /** * Enhanced task parsing using configurable parser diff --git a/src/dataflow/workers/task-index-message.ts b/src/dataflow/workers/task-index-message.ts index b4f510fb..1a5bede2 100644 --- a/src/dataflow/workers/task-index-message.ts +++ b/src/dataflow/workers/task-index-message.ts @@ -4,8 +4,8 @@ import { CachedMetadata, FileStats, ListItemCache } from "obsidian"; import { Task } from "../../types/task"; -import { MetadataFormat } from "../../utils/task/task-operations"; -import { FileParsingConfiguration, FileMetadataInheritanceConfig } from "../../common/setting-definition"; +import { MetadataFormat } from "@/utils/task/task-operations"; +import { FileParsingConfiguration, FileMetadataInheritanceConfig } from "@/common/setting-definition"; /** * Command to parse tasks from a file diff --git a/src/editor-extensions/autocomplete/parent-task-updater.ts b/src/editor-extensions/autocomplete/parent-task-updater.ts index 3dbd21e3..fefc6eca 100644 --- a/src/editor-extensions/autocomplete/parent-task-updater.ts +++ b/src/editor-extensions/autocomplete/parent-task-updater.ts @@ -5,13 +5,13 @@ import { Transaction, TransactionSpec, } from "@codemirror/state"; -import { getTabSize } from "../../utils"; -import { taskStatusChangeAnnotation } from "../task-operations/status-switcher"; -import TaskProgressBarPlugin from "../../index"; +import { getTabSize } from "@/utils"; +import { taskStatusChangeAnnotation } from "@/editor-extensions/task-operations/status-switcher"; +import TaskProgressBarPlugin from "@/index"; import { isLastWorkflowStageOrNotWorkflow, workflowChangeAnnotation, -} from "../workflow/workflow-handler"; +} from "@/editor-extensions/workflow/workflow-handler"; /** * Creates an editor extension that automatically updates parent tasks based on child task status changes diff --git a/src/editor-extensions/core/quick-capture-panel.ts b/src/editor-extensions/core/quick-capture-panel.ts index 593f97d0..bc41618e 100644 --- a/src/editor-extensions/core/quick-capture-panel.ts +++ b/src/editor-extensions/core/quick-capture-panel.ts @@ -21,11 +21,11 @@ import { EmbeddableMarkdownEditor, } from "./markdown-editor"; import TaskProgressBarPlugin from "../../index"; -import { saveCapture, processDateTemplates } from "../../utils/file/file-operations"; -import { t } from "../../translations/helper"; -import "../../styles/quick-capture.css"; -import { FileSuggest } from "../../components/AutoComplete"; -import { QuickCaptureSuggest } from "../autocomplete/task-metadata-suggest"; +import { saveCapture, processDateTemplates } from "@/utils/file/file-operations"; +import { t } from "@/translations/helper"; +import "@/styles/quick-capture.css"; +import { FileSuggest } from "@/components/ui/inputs/AutoComplete"; +import { QuickCaptureSuggest } from "@/editor-extensions/autocomplete/task-metadata-suggest"; /** * Sanitize filename by replacing unsafe characters with safe alternatives diff --git a/src/editor-extensions/core/task-filter-panel.ts b/src/editor-extensions/core/task-filter-panel.ts index f0f0752a..ab69e46a 100644 --- a/src/editor-extensions/core/task-filter-panel.ts +++ b/src/editor-extensions/core/task-filter-panel.ts @@ -24,15 +24,15 @@ import { Decoration, DecorationSet, } from "@codemirror/view"; -import TaskProgressBarPlugin from "../../index"; +import TaskProgressBarPlugin from "@/index"; import { parseAdvancedFilterQuery, evaluateFilterNode, parsePriorityFilterValue, -} from "../../utils/task/filter-compatibility"; -import { t } from "../../translations/helper"; -import { Task as TaskIndexTask } from "../../types/task"; -import "../../styles/task-filter.css"; +} from "@/utils/task/filter-compatibility"; +import { t } from "@/translations/helper"; +import { Task as TaskIndexTask } from "@/types/task"; +import "@/styles/task-filter.css"; // Effect to toggle the filter panel export const toggleTaskFilter = StateEffect.define(); diff --git a/src/editor-extensions/date-time/date-picker.ts b/src/editor-extensions/date-time/date-picker.ts index 573eb48a..460bdf4a 100644 --- a/src/editor-extensions/date-time/date-picker.ts +++ b/src/editor-extensions/date-time/date-picker.ts @@ -22,7 +22,8 @@ import { Annotation } from "@codemirror/state"; // @ts-ignore - This import is necessary but TypeScript can't find it import { syntaxTree, tokenClassNodeProp } from "@codemirror/language"; import { t } from "../../translations/helper"; -import { DatePickerPopover, DatePickerModal } from "../../components/date-picker"; +import { DatePickerPopover } from "@/components/ui/date-picker/DatePickerPopover"; +import { DatePickerModal } from "@/components/ui/date-picker/DatePickerModal"; export const dateChangeAnnotation = Annotation.define(); class DatePickerWidget extends WidgetType { diff --git a/src/editor-extensions/date-time/task-timer.ts b/src/editor-extensions/date-time/task-timer.ts index 1622f43e..2d28fc2e 100644 --- a/src/editor-extensions/date-time/task-timer.ts +++ b/src/editor-extensions/date-time/task-timer.ts @@ -8,11 +8,11 @@ import { EditorState, Range, StateField, Transaction, Facet } from "@codemirror/ import { MetadataCache, editorInfoField, editorEditorField, MarkdownView } from "obsidian"; import type TaskProgressBarPlugin from "../../index"; import { TaskTimerSettings } from "../../common/setting-definition"; -import { TaskTimerMetadataDetector } from "../../services/timer-metadata-service"; -import { TaskTimerManager, TimerState } from "../../managers/timer-manager"; -import { TaskTimerFormatter } from "../../services/timer-format-service"; -import { taskStatusChangeAnnotation } from "../task-operations/status-switcher"; -import "../../styles/task-timer.css"; +import { TaskTimerMetadataDetector } from "@/services/timer-metadata-service"; +import { TaskTimerManager, TimerState } from "@/managers/timer-manager"; +import { TaskTimerFormatter } from "@/services/timer-format-service"; +import { taskStatusChangeAnnotation } from "@/editor-extensions/task-operations/status-switcher"; +import "@/styles/task-timer.css"; // Extension configuration for StateField access interface TaskTimerConfig { diff --git a/src/editor-extensions/task-operations/completion-monitor.ts b/src/editor-extensions/task-operations/completion-monitor.ts index 86ea6b85..7b886e5c 100644 --- a/src/editor-extensions/task-operations/completion-monitor.ts +++ b/src/editor-extensions/task-operations/completion-monitor.ts @@ -1,9 +1,8 @@ import { App, debounce, editorInfoField } from "obsidian"; import { EditorState, Transaction, Text } from "@codemirror/state"; -import TaskProgressBarPlugin from "../../index"; // Adjust path if needed -import { parseTaskLine } from "../../utils/task/task-operations"; // Adjust path if needed -import { taskStatusChangeAnnotation } from "./status-switcher"; -import { Task } from "../../types/task"; +import TaskProgressBarPlugin from "@/index"; // Adjust path if needed +import { parseTaskLine } from "@/utils/task/task-operations"; // Adjust path if needed +import { Task } from "@/types/task"; const debounceTrigger = debounce((app: App, task: Task) => { app.workspace.trigger("task-genius:task-completed", task); diff --git a/src/editor-extensions/task-operations/gutter-marker.ts b/src/editor-extensions/task-operations/gutter-marker.ts index d1008518..59067a78 100644 --- a/src/editor-extensions/task-operations/gutter-marker.ts +++ b/src/editor-extensions/task-operations/gutter-marker.ts @@ -4,19 +4,19 @@ */ import { EditorView } from "@codemirror/view"; -import { gutter, GutterMarker } from "../core/extended-gutter"; +import { gutter, GutterMarker } from "@/editor-extensions/core/extended-gutter"; import { Extension } from "@codemirror/state"; import { App, Platform, ExtraButtonComponent } from "obsidian"; -import { Task } from "../../types/task"; -import TaskProgressBarPlugin from "../../index"; -import { TaskDetailsModal } from "../../components/task-edit/TaskDetailsModal"; -import { TaskDetailsPopover } from "../../components/task-edit/TaskDetailsPopover"; -import { MarkdownTaskParser } from "../../dataflow/core/ConfigurableTaskParser"; +import { Task } from "@/types/task"; +import TaskProgressBarPlugin from "@/index"; +import { TaskDetailsModal } from "@/components/features/task/edit/TaskDetailsModal"; +import { TaskDetailsPopover } from "@/components/features/task/edit/TaskDetailsPopover"; +import { MarkdownTaskParser } from "@/dataflow/core/ConfigurableTaskParser"; // @ts-ignore - This import is necessary but TypeScript can't find it import { syntaxTree, tokenClassNodeProp } from "@codemirror/language"; -import "../../styles/task-gutter.css"; -import { getConfig } from "../../common/task-parser-config"; -import { TaskParserConfig } from "../../types/TaskParserConfig"; +import "@/styles/task-gutter.css"; +import { getConfig } from "@/common/task-parser-config"; +import { TaskParserConfig } from "@/types/TaskParserConfig"; const taskRegex = /^(([\s>]*)?(-|\d+\.|\*|\+)\s\[(.)\])\s+(.*)$/m; diff --git a/src/editor-extensions/task-operations/mark-cleanup.ts b/src/editor-extensions/task-operations/mark-cleanup.ts index 9a18ebb0..60c88754 100644 --- a/src/editor-extensions/task-operations/mark-cleanup.ts +++ b/src/editor-extensions/task-operations/mark-cleanup.ts @@ -1,6 +1,6 @@ import { EditorView } from "@codemirror/view"; import { Extension, Transaction } from "@codemirror/state"; -import { clearAllMarks } from "../../components/MarkdownRenderer"; +import { clearAllMarks } from "@/components/ui/renderers/MarkdownRenderer"; /** * Extension to handle cleanup of task marks when text is selected and deleted diff --git a/src/editor-extensions/task-operations/status-cycler.ts b/src/editor-extensions/task-operations/status-cycler.ts index 3d180bbf..c1da1f3b 100644 --- a/src/editor-extensions/task-operations/status-cycler.ts +++ b/src/editor-extensions/task-operations/status-cycler.ts @@ -7,9 +7,9 @@ import { } from "@codemirror/state"; import TaskProgressBarPlugin from "../../index"; import { taskStatusChangeAnnotation } from "./status-switcher"; -import { getTasksAPI } from "../../utils"; +import { getTasksAPI } from "@/utils"; import { priorityChangeAnnotation } from "../ui-widgets/priority-picker"; -import { parseTaskLine } from "../../utils/task/task-operations"; +import { parseTaskLine } from "@/utils/task/task-operations"; /** * Creates an editor extension that cycles through task statuses when a user clicks on a task marker diff --git a/src/editor-extensions/task-operations/status-switcher.ts b/src/editor-extensions/task-operations/status-switcher.ts index 72de6397..ccc9c5bd 100644 --- a/src/editor-extensions/task-operations/status-switcher.ts +++ b/src/editor-extensions/task-operations/status-switcher.ts @@ -16,11 +16,11 @@ import { Keymap, Menu, } from "obsidian"; -import TaskProgressBarPlugin from "../../index"; +import TaskProgressBarPlugin from "@/index"; import { Annotation, EditorSelection } from "@codemirror/state"; // @ts-ignore - This import is necessary but TypeScript can't find it import { syntaxTree, tokenClassNodeProp } from "@codemirror/language"; -import { getTasksAPI } from "../../utils"; +import { getTasksAPI } from "@/utils"; export type TaskState = string; export const taskStatusChangeAnnotation = Annotation.define(); diff --git a/src/editor-extensions/ui-widgets/progress-bar-widget.ts b/src/editor-extensions/ui-widgets/progress-bar-widget.ts index a0b03516..ce802575 100644 --- a/src/editor-extensions/ui-widgets/progress-bar-widget.ts +++ b/src/editor-extensions/ui-widgets/progress-bar-widget.ts @@ -11,11 +11,11 @@ import { App, Vault } from "obsidian"; import { EditorState, Range, Text } from "@codemirror/state"; // @ts-ignore - This import is necessary but TypeScript can't find it import { foldable, syntaxTree, tokenClassNodeProp } from "@codemirror/language"; -import { RegExpCursor } from "../core/regex-cursor"; -import TaskProgressBarPlugin, { showPopoverWithProgressBar } from "../../index"; -import { shouldHideProgressBarInLivePriview } from "../../utils"; +import { RegExpCursor } from "@/editor-extensions/core/regex-cursor"; +import TaskProgressBarPlugin, { showPopoverWithProgressBar } from "@/index"; +import { shouldHideProgressBarInLivePriview } from "@/utils"; import "../../styles/progressbar.css"; -import { extractTaskAndGoalInfo } from "../../core/goal/edit-mode"; +import { extractTaskAndGoalInfo } from "@/core/goal/edit-mode"; interface Tasks { completed: number; diff --git a/src/editor-extensions/workflow/workflow-enter-handler.ts b/src/editor-extensions/workflow/workflow-enter-handler.ts index 365f9263..e37b38f9 100644 --- a/src/editor-extensions/workflow/workflow-enter-handler.ts +++ b/src/editor-extensions/workflow/workflow-enter-handler.ts @@ -1,6 +1,6 @@ import { EditorView } from "@codemirror/view"; import { App, editorInfoField, Menu } from "obsidian"; -import TaskProgressBarPlugin from "../../index"; +import TaskProgressBarPlugin from "@/index"; import { Prec } from "@codemirror/state"; import { keymap } from "@codemirror/view"; import { @@ -9,10 +9,10 @@ import { determineNextStage, generateWorkflowTaskText, createWorkflowStageTransition, -} from "./workflow-handler"; -import { t } from "../../translations/helper"; -import { buildIndentString } from "../../utils"; -import { taskStatusChangeAnnotation } from "../task-operations/status-switcher"; +} from "@/editor-extensions/workflow/workflow-handler"; +import { t } from "@/translations/helper"; +import { buildIndentString } from "@/utils"; +import { taskStatusChangeAnnotation } from "@/editor-extensions/task-operations/status-switcher"; /** * Show workflow menu at cursor position diff --git a/src/editor-extensions/workflow/workflow-handler.ts b/src/editor-extensions/workflow/workflow-handler.ts index 10e8292c..75819a3c 100644 --- a/src/editor-extensions/workflow/workflow-handler.ts +++ b/src/editor-extensions/workflow/workflow-handler.ts @@ -7,17 +7,17 @@ import { Text, } from "@codemirror/state"; import { Annotation } from "@codemirror/state"; -import TaskProgressBarPlugin from "../../index"; -import { taskStatusChangeAnnotation } from "../task-operations/status-switcher"; -import { priorityChangeAnnotation } from "../ui-widgets/priority-picker"; -import { buildIndentString, getTabSize } from "../../utils"; +import TaskProgressBarPlugin from "@/index"; +import { taskStatusChangeAnnotation } from "@/editor-extensions/task-operations/status-switcher"; +import { priorityChangeAnnotation } from "@/editor-extensions/ui-widgets/priority-picker"; +import { buildIndentString, getTabSize } from "@/utils"; // @ts-ignore import { foldable } from "@codemirror/language"; -import { t } from "../../translations/helper"; +import { t } from "@/translations/helper"; import { WorkflowDefinition, WorkflowStage, -} from "../../common/setting-definition"; +} from "@/common/setting-definition"; // Annotation that marks a transaction as a workflow change export const workflowChangeAnnotation = Annotation.define(); @@ -711,7 +711,7 @@ export function updateWorkflowContextMenu( convertItem.setIcon("convert"); convertItem.onClick(() => { // Import the conversion function - import("../../commands/workflowCommands").then( + import("@/commands/workflowCommands").then( ({ convertTaskToWorkflowCommand }) => { convertTaskToWorkflowCommand( false, @@ -729,7 +729,7 @@ export function updateWorkflowContextMenu( startItem.setTitle(t("Start workflow here")); startItem.setIcon("play"); startItem.onClick(() => { - import("../../commands/workflowCommands").then( + import("@/commands/workflowCommands").then( ({ startWorkflowHereCommand }) => { startWorkflowHereCommand( false, @@ -747,7 +747,7 @@ export function updateWorkflowContextMenu( quickItem.setTitle(t("Create quick workflow")); quickItem.setIcon("zap"); quickItem.onClick(() => { - import("../../commands/workflowCommands").then( + import("@/commands/workflowCommands").then( ({ createQuickWorkflowCommand }) => { createQuickWorkflowCommand( false, diff --git a/src/index.ts b/src/index.ts index e3e5bbfb..93f6363e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -12,8 +12,8 @@ import { } from "obsidian"; import { taskProgressBarExtension } from "./editor-extensions/ui-widgets/progress-bar-widget"; import { taskTimerExtension } from "./editor-extensions/date-time/task-timer"; -import { updateProgressBarInElement } from "./components/readModeProgressbarWidget"; -import { applyTaskTextMarks } from "./components/readModeTextMark"; +import { updateProgressBarInElement } from "./components/features/read-mode/ReadModeProgressBarWidget"; +import { applyTaskTextMarks } from "./components/features/read-mode/ReadModeTextMark"; import { DEFAULT_SETTINGS, TaskProgressBarSettings, @@ -68,7 +68,7 @@ import { Task } from "./types/task"; import { QuickCaptureModal } from "./components/features/quick-capture/modals/QuickCaptureModal"; import { MinimalQuickCaptureModal } from "./components/features/quick-capture/modals/MinimalQuickCaptureModal"; import { MinimalQuickCaptureSuggest } from "./components/features/quick-capture/suggest/MinimalQuickCaptureSuggest"; -import { SuggestManager } from "./components/suggest"; +import { SuggestManager } from "./components/ui/suggest"; import { MarkdownView } from "obsidian"; import { Notice } from "obsidian"; import { t } from "./translations/helper"; @@ -86,7 +86,7 @@ import { TASK_SPECIFIC_VIEW_TYPE } from "./pages/TaskSpecificView"; import { TimelineSidebarView, TIMELINE_SIDEBAR_VIEW_TYPE, -} from "./components/timeline-sidebar/TimelineSidebarView"; +} from "./components/features/timeline-sidebar/TimelineSidebarView"; import { getStatusIcon, getTaskGeniusIcon } from "./icon"; import { RewardManager } from "./managers/reward-manager"; import { HabitManager } from "./managers/habit-manager"; @@ -107,7 +107,7 @@ import { SettingsChangeDetector } from "./services/settings-change-detector"; import { OnboardingView, ONBOARDING_VIEW_TYPE, -} from "./components/onboarding/OnboardingView"; +} from "./components/features/onboarding/OnboardingView"; import { TaskTimerExporter } from "./services/timer-export-service"; import { TaskTimerManager } from "./managers/timer-manager"; import { McpServerManager } from "./mcp/McpServerManager"; diff --git a/src/setting.ts b/src/setting.ts index 989a7e21..1516665c 100644 --- a/src/setting.ts +++ b/src/setting.ts @@ -32,14 +32,14 @@ import { renderTimelineSidebarSettingsTab, renderIndexSettingsTab, IcsSettingsComponent, -} from "./components/settings"; -import { renderFileFilterSettingsTab } from "./components/settings/FileFilterSettingsTab"; -import { renderTimeParsingSettingsTab } from "./components/settings/TimeParsingSettingsTab"; -import { SettingsSearchComponent } from "./components/settings/SettingsSearchComponent"; -import { renderMcpIntegrationSettingsTab } from "./components/settings/McpIntegrationSettingsTab"; -import { IframeModal } from "./components/IframeModal"; -import { renderTaskTimerSettingTab } from "./components/settings/TaskTimerSettingTab"; -import { renderBasesSettingsTab } from "./components/settings/BasesSettingsTab"; +} from "./components/features/settings"; +import { renderFileFilterSettingsTab } from "./components/features/settings/tabs/FileFilterSettingsTab"; +import { renderTimeParsingSettingsTab } from "./components/features/settings/tabs/TimeParsingSettingsTab"; +import { SettingsSearchComponent } from "./components//features/settings/components/SettingsSearchComponent"; +import { renderMcpIntegrationSettingsTab } from "./components/features/settings/tabs/McpIntegrationSettingsTab"; +import { IframeModal } from "@/components/ui/modals/IframeModal"; +import { renderTaskTimerSettingTab } from "./components/features/settings/tabs/TaskTimerSettingsTab"; +import { renderBasesSettingsTab } from "./components/features/settings/tabs/BasesSettingsTab"; export class TaskProgressBarSettingTab extends PluginSettingTab { plugin: TaskProgressBarPlugin; diff --git a/src/utils/file/file-type-detector.ts b/src/utils/file/file-type-detector.ts index 18d98ef2..05680f6f 100644 --- a/src/utils/file/file-type-detector.ts +++ b/src/utils/file/file-type-detector.ts @@ -3,7 +3,7 @@ */ import { TFile } from "obsidian"; -import { FileFilterManager } from "../../managers/file-filter-manager"; +import { FileFilterManager } from "@/managers/file-filter-manager"; /** * Supported file types for task parsing diff --git a/src/utils/task/task-filter-utils.ts b/src/utils/task/task-filter-utils.ts index f5c00990..b6e830b2 100644 --- a/src/utils/task/task-filter-utils.ts +++ b/src/utils/task/task-filter-utils.ts @@ -5,12 +5,12 @@ import { getViewSettingOrDefault, } from "../../common/setting-definition"; import TaskProgressBarPlugin from "../../index"; -import { sortTasks } from "../../commands/sortTaskCommands"; +import { sortTasks } from "@/commands/sortTaskCommands"; import { Filter, FilterGroup, RootFilterState, -} from "../../components/task-filter/ViewTaskFilter"; +} from "@/components/features/task/filter/ViewTaskFilter"; import { hasProject } from "./task-operations"; // 从ViewTaskFilter.ts导入相关接口 diff --git a/tsconfig.json b/tsconfig.json index 1b5a8899..b4477f72 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,9 @@ { "compilerOptions": { "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + }, "inlineSourceMap": true, "inlineSources": true, "module": "ESNext",