From beebf1d448dc8deeb9561d2caccd577c4b589516 Mon Sep 17 00:00:00 2001 From: DecafDev <40307803+decaf-dev@users.noreply.github.com> Date: Fri, 13 Sep 2024 15:29:00 -0600 Subject: [PATCH 1/3] feat: make feed appear before table --- src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.ts b/src/constants.ts index 8075c94..78ccd33 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -90,8 +90,8 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { viewOrder: [ TExplorerView.GRID, TExplorerView.LIST, - TExplorerView.TABLE, TExplorerView.FEED, + TExplorerView.TABLE, ], configDir: ".vaultexplorer", pluginVersion: null, From 8fdddc4c41d1e390bc5dae3bed4855223e200f2b Mon Sep 17 00:00:00 2001 From: DecafDev <40307803+decaf-dev@users.noreply.github.com> Date: Fri, 13 Sep 2024 15:30:13 -0600 Subject: [PATCH 2/3] feat: make feed view available to everyone --- src/svelte/app/components/feed-view.svelte | 38 ++++++---------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/src/svelte/app/components/feed-view.svelte b/src/svelte/app/components/feed-view.svelte index b9e8d2b..ad2c769 100644 --- a/src/svelte/app/components/feed-view.svelte +++ b/src/svelte/app/components/feed-view.svelte @@ -1,23 +1,13 @@
- {#if !hasValidLicenseKey} -
- - -
- {/if} - {#if hasValidLicenseKey} - {#each filteredItems as fileRenderData (fileRenderData.id)} - - {/each} - {/if} + {#each filteredItems as fileRenderData (fileRenderData.id)} + + {/each}
From d39291822114386be50332ef037306ad7504edb0 Mon Sep 17 00:00:00 2001 From: DecafDev <40307803+decaf-dev@users.noreply.github.com> Date: Fri, 13 Sep 2024 16:15:47 -0600 Subject: [PATCH 3/3] Add delete to context menu (#360) * chore: bump version * refactor: remove unused code * feat: add delete to context menu * feat: add confirm delete setting --- manifest.json | 2 +- package.json | 2 +- src/constants.ts | 1 + src/migrations/index.ts | 6 + src/migrations/migrate_1_41_0.ts | 4 +- src/migrations/migrate_1_42_0.ts | 4 +- src/migrations/migrate_1_45_0.ts | 30 ++ src/obsidian/vault-explorer-settings-tab.ts | 18 +- src/svelte/app/components/feed-card.svelte | 15 +- src/svelte/app/components/feed-view.svelte | 2 + src/svelte/app/components/grid-card.svelte | 23 +- src/svelte/app/components/grid-view.svelte | 2 + src/svelte/app/components/list-item.svelte | 11 +- src/svelte/app/components/list-view.svelte | 2 + src/svelte/app/components/table-view.svelte | 15 +- src/svelte/app/index.svelte | 28 +- src/svelte/app/services/context-menu.ts | 57 +++- src/types/index.guard.ts | 1 + src/types/index.ts | 1 + src/types/types-1.36.3.ts | 2 - src/types/types-1.38.0.ts | 2 - src/types/types-1.40.2.ts | 2 - src/types/types-1.41.1.ts | 2 - src/types/types-1.44.6.ts | 310 ++++++++++++++++++++ versions.json | 3 +- 25 files changed, 493 insertions(+), 52 deletions(-) create mode 100644 src/migrations/migrate_1_45_0.ts create mode 100644 src/types/types-1.44.6.ts diff --git a/manifest.json b/manifest.json index 839c296..d7c1f57 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "vault-explorer", "name": "Vault Explorer", - "version": "1.44.6", + "version": "1.45.0", "minAppVersion": "1.4.13", "description": "Explore your vault in visual format", "author": "DecafDev", diff --git a/package.json b/package.json index 09b0227..6baa5cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-vault-explorer", - "version": "1.44.6", + "version": "1.45.0", "description": "Explore your vault in visual format", "main": "main.js", "scripts": { diff --git a/src/constants.ts b/src/constants.ts index 78ccd33..c7aff15 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -80,6 +80,7 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = { isEnabled: false, }, }, + confirmBeforeDelete: true, currentView: TExplorerView.GRID, titleWrapping: "normal", enableClockUpdates: true, diff --git a/src/migrations/index.ts b/src/migrations/index.ts index 463cdfa..b1e5a4a 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -32,6 +32,7 @@ import Migrate_1_39_0 from "./migrate_1_39_0"; import Migrate_1_40_0 from "./migrate_1_40_0"; import Migrate_1_41_0 from "./migrate_1_41_0"; import Migrate_1_42_0 from "./migrate_1_42_0"; +import Migrate_1_45_0 from "./migrate_1_45_0"; const migrations: TMigration[] = [ { @@ -189,6 +190,11 @@ const migrations: TMigration[] = [ to: "1.42.0", migrate: Migrate_1_42_0, }, + { + from: "1.44.6", + to: "1.45.0", + migrate: Migrate_1_45_0, + }, ]; export const preformMigrations = ( diff --git a/src/migrations/migrate_1_41_0.ts b/src/migrations/migrate_1_41_0.ts index 2ad34f2..6fd0cc0 100644 --- a/src/migrations/migrate_1_41_0.ts +++ b/src/migrations/migrate_1_41_0.ts @@ -1,11 +1,11 @@ -import { VaultExplorerPluginSettings } from "src/types"; import MigrationInterface from "./migration_interface"; import { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2"; +import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; export default class Migrate_1_41_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_40_2; - const newData: VaultExplorerPluginSettings = { + const newData: VaultExplorerPluginSettings_1_41_1 = { ...typedData, properties: { ...typedData.properties, diff --git a/src/migrations/migrate_1_42_0.ts b/src/migrations/migrate_1_42_0.ts index 7e66544..c013eaa 100644 --- a/src/migrations/migrate_1_42_0.ts +++ b/src/migrations/migrate_1_42_0.ts @@ -1,11 +1,11 @@ -import { VaultExplorerPluginSettings } from "src/types"; import MigrationInterface from "./migration_interface"; import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1"; +import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; export default class Migrate_1_42_0 implements MigrationInterface { migrate(data: Record) { const typedData = data as unknown as VaultExplorerPluginSettings_1_41_1; - const newData: VaultExplorerPluginSettings = { + const newData: VaultExplorerPluginSettings_1_44_6 = { ...typedData, properties: { ...typedData.properties, diff --git a/src/migrations/migrate_1_45_0.ts b/src/migrations/migrate_1_45_0.ts new file mode 100644 index 0000000..0b2541f --- /dev/null +++ b/src/migrations/migrate_1_45_0.ts @@ -0,0 +1,30 @@ +import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6"; +import MigrationInterface from "./migration_interface"; +import { TExplorerView, VaultExplorerPluginSettings } from "src/types"; + +export default class Migrate_1_45_0 implements MigrationInterface { + migrate(data: Record) { + const typedData = data as unknown as VaultExplorerPluginSettings_1_44_6; + + let viewOrder = []; + if (typedData.views.grid.isEnabled) { + viewOrder.push(TExplorerView.GRID); + } + if (typedData.views.list.isEnabled) { + viewOrder.push(TExplorerView.LIST); + } + if (typedData.views.feed.isEnabled) { + viewOrder.push(TExplorerView.FEED); + } + if (typedData.views.table.isEnabled) { + viewOrder.push(TExplorerView.TABLE); + } + + const newData: VaultExplorerPluginSettings = { + ...typedData, + confirmBeforeDelete: true, + viewOrder, + }; + return newData as unknown as Record; + } +} diff --git a/src/obsidian/vault-explorer-settings-tab.ts b/src/obsidian/vault-explorer-settings-tab.ts index 57c696e..548896f 100644 --- a/src/obsidian/vault-explorer-settings-tab.ts +++ b/src/obsidian/vault-explorer-settings-tab.ts @@ -46,10 +46,6 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { this.app, "datetime" ); - const checkboxProperties = getObsidianPropertiesByType( - this.app, - "checkbox" - ); new Setting(containerEl).setName("General").setHeading(); @@ -108,6 +104,20 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab { }) ); + new Setting(containerEl).setName("Context menu").setHeading(); + + new Setting(containerEl) + .setName("Confirm before delete") + .setDesc("Ask for confirmation before deleting a file.") + .addToggle((toggle) => + toggle + .setValue(this.plugin.settings.confirmBeforeDelete) + .onChange(async (value) => { + this.plugin.settings.confirmBeforeDelete = value; + await this.plugin.saveSettings(); + }) + ); + new Setting(containerEl).setName("Filters").setHeading(); new Setting(containerEl).setName("Search filter").addToggle((toggle) => diff --git a/src/svelte/app/components/feed-card.svelte b/src/svelte/app/components/feed-card.svelte index ccfc82d..d496e55 100644 --- a/src/svelte/app/components/feed-card.svelte +++ b/src/svelte/app/components/feed-card.svelte @@ -1,5 +1,5 @@