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 @@