Skip to content

Commit 7dfd619

Browse files
authored
Merge pull request #361 from decaf-dev/dev
1.45.0
2 parents 83b431b + d392918 commit 7dfd619

25 files changed

+504
-81
lines changed

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "vault-explorer",
33
"name": "Vault Explorer",
4-
"version": "1.44.6",
4+
"version": "1.45.0",
55
"minAppVersion": "1.4.13",
66
"description": "Explore your vault in visual format",
77
"author": "DecafDev",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "obsidian-vault-explorer",
3-
"version": "1.44.6",
3+
"version": "1.45.0",
44
"description": "Explore your vault in visual format",
55
"main": "main.js",
66
"scripts": {

src/constants.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
8080
isEnabled: false,
8181
},
8282
},
83+
confirmBeforeDelete: true,
8384
currentView: TExplorerView.GRID,
8485
titleWrapping: "normal",
8586
enableClockUpdates: true,
@@ -90,8 +91,8 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
9091
viewOrder: [
9192
TExplorerView.GRID,
9293
TExplorerView.LIST,
93-
TExplorerView.TABLE,
9494
TExplorerView.FEED,
95+
TExplorerView.TABLE,
9596
],
9697
configDir: ".vaultexplorer",
9798
pluginVersion: null,

src/migrations/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Migrate_1_39_0 from "./migrate_1_39_0";
3232
import Migrate_1_40_0 from "./migrate_1_40_0";
3333
import Migrate_1_41_0 from "./migrate_1_41_0";
3434
import Migrate_1_42_0 from "./migrate_1_42_0";
35+
import Migrate_1_45_0 from "./migrate_1_45_0";
3536

3637
const migrations: TMigration[] = [
3738
{
@@ -189,6 +190,11 @@ const migrations: TMigration[] = [
189190
to: "1.42.0",
190191
migrate: Migrate_1_42_0,
191192
},
193+
{
194+
from: "1.44.6",
195+
to: "1.45.0",
196+
migrate: Migrate_1_45_0,
197+
},
192198
];
193199

194200
export const preformMigrations = (

src/migrations/migrate_1_41_0.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { VaultExplorerPluginSettings } from "src/types";
21
import MigrationInterface from "./migration_interface";
32
import { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2";
3+
import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1";
44

55
export default class Migrate_1_41_0 implements MigrationInterface {
66
migrate(data: Record<string, unknown>) {
77
const typedData = data as unknown as VaultExplorerPluginSettings_1_40_2;
8-
const newData: VaultExplorerPluginSettings = {
8+
const newData: VaultExplorerPluginSettings_1_41_1 = {
99
...typedData,
1010
properties: {
1111
...typedData.properties,

src/migrations/migrate_1_42_0.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { VaultExplorerPluginSettings } from "src/types";
21
import MigrationInterface from "./migration_interface";
32
import { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1";
3+
import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6";
44

55
export default class Migrate_1_42_0 implements MigrationInterface {
66
migrate(data: Record<string, unknown>) {
77
const typedData = data as unknown as VaultExplorerPluginSettings_1_41_1;
8-
const newData: VaultExplorerPluginSettings = {
8+
const newData: VaultExplorerPluginSettings_1_44_6 = {
99
...typedData,
1010
properties: {
1111
...typedData.properties,

src/migrations/migrate_1_45_0.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6";
2+
import MigrationInterface from "./migration_interface";
3+
import { TExplorerView, VaultExplorerPluginSettings } from "src/types";
4+
5+
export default class Migrate_1_45_0 implements MigrationInterface {
6+
migrate(data: Record<string, unknown>) {
7+
const typedData = data as unknown as VaultExplorerPluginSettings_1_44_6;
8+
9+
let viewOrder = [];
10+
if (typedData.views.grid.isEnabled) {
11+
viewOrder.push(TExplorerView.GRID);
12+
}
13+
if (typedData.views.list.isEnabled) {
14+
viewOrder.push(TExplorerView.LIST);
15+
}
16+
if (typedData.views.feed.isEnabled) {
17+
viewOrder.push(TExplorerView.FEED);
18+
}
19+
if (typedData.views.table.isEnabled) {
20+
viewOrder.push(TExplorerView.TABLE);
21+
}
22+
23+
const newData: VaultExplorerPluginSettings = {
24+
...typedData,
25+
confirmBeforeDelete: true,
26+
viewOrder,
27+
};
28+
return newData as unknown as Record<string, unknown>;
29+
}
30+
}

src/obsidian/vault-explorer-settings-tab.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
4646
this.app,
4747
"datetime"
4848
);
49-
const checkboxProperties = getObsidianPropertiesByType(
50-
this.app,
51-
"checkbox"
52-
);
5349

5450
new Setting(containerEl).setName("General").setHeading();
5551

@@ -108,6 +104,20 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
108104
})
109105
);
110106

107+
new Setting(containerEl).setName("Context menu").setHeading();
108+
109+
new Setting(containerEl)
110+
.setName("Confirm before delete")
111+
.setDesc("Ask for confirmation before deleting a file.")
112+
.addToggle((toggle) =>
113+
toggle
114+
.setValue(this.plugin.settings.confirmBeforeDelete)
115+
.onChange(async (value) => {
116+
this.plugin.settings.confirmBeforeDelete = value;
117+
await this.plugin.saveSettings();
118+
})
119+
);
120+
111121
new Setting(containerEl).setName("Filters").setHeading();
112122

113123
new Setting(containerEl).setName("Search filter").addToggle((toggle) =>

src/svelte/app/components/feed-card.svelte

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import { createEventDispatcher, onMount } from "svelte";
2+
import { onMount } from "svelte";
33
import { CollapseStyle } from "src/types";
44
import EventManager from "src/event/event-manager";
55
import VaultExplorerPlugin from "src/main";
@@ -35,6 +35,7 @@
3535
export let path: string;
3636
export let createdMillis: number;
3737
export let content: string | null;
38+
export let enablePremiumFeatures: boolean;
3839
3940
let ref: HTMLElement | null = null;
4041
let enableFileIcons = false;
@@ -45,8 +46,6 @@
4546
let collapseStyle: CollapseStyle = "no-new-lines";
4647
let currentLineClamp: number = lineClampLarge;
4748
48-
const dispatch = createEventDispatcher();
49-
5049
let plugin: VaultExplorerPlugin;
5150
store.plugin.subscribe((p) => {
5251
plugin = p;
@@ -147,7 +146,15 @@
147146
148147
function handleCardContextMenu(e: Event) {
149148
const nativeEvent = e as MouseEvent;
150-
openContextMenu(plugin, path, nativeEvent, {});
149+
const { app, settings } = plugin;
150+
openContextMenu(
151+
nativeEvent,
152+
path,
153+
app,
154+
settings,
155+
enablePremiumFeatures,
156+
{},
157+
);
151158
}
152159
153160
function handleCardMouseOver(e: MouseEvent) {
Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
11
<script lang="ts">
2-
import PremiumLink from "src/svelte/shared/components/premium-link.svelte";
3-
import PremiumMessage from "src/svelte/shared/components/premium-message.svelte";
42
import { FileRenderData } from "../types";
5-
import License from "src/svelte/shared/services/license";
63
import FeedCard from "./feed-card.svelte";
74
8-
export let hasValidLicenseKey = false;
95
export let data: FileRenderData[] = [];
106
export let startIndex;
117
export let pageLength;
8+
export let enablePremiumFeatures: boolean;
129
1310
let filteredItems: FileRenderData[] = [];
1411
15-
License.getInstance()
16-
.getHasValidKeyStore()
17-
.subscribe((hasValidKey) => {
18-
hasValidLicenseKey = hasValidKey;
19-
});
20-
2112
$: {
2213
if (startIndex < data.length) {
2314
filteredItems = Array.from({ length: pageLength }, (_, i) => {
@@ -31,22 +22,15 @@
3122
</script>
3223

3324
<div class="vault-explorer-feed-view">
34-
{#if !hasValidLicenseKey}
35-
<div>
36-
<PremiumMessage />
37-
<PremiumLink />
38-
</div>
39-
{/if}
40-
{#if hasValidLicenseKey}
41-
{#each filteredItems as fileRenderData (fileRenderData.id)}
42-
<FeedCard
43-
displayName={fileRenderData.displayName}
44-
extension={fileRenderData.extension}
45-
baseName={fileRenderData.baseName}
46-
path={fileRenderData.path}
47-
content={fileRenderData.content}
48-
createdMillis={fileRenderData.createdMillis}
49-
/>
50-
{/each}
51-
{/if}
25+
{#each filteredItems as fileRenderData (fileRenderData.id)}
26+
<FeedCard
27+
{enablePremiumFeatures}
28+
displayName={fileRenderData.displayName}
29+
extension={fileRenderData.extension}
30+
baseName={fileRenderData.baseName}
31+
path={fileRenderData.path}
32+
content={fileRenderData.content}
33+
createdMillis={fileRenderData.createdMillis}
34+
/>
35+
{/each}
5236
</div>

0 commit comments

Comments
 (0)