Skip to content

Commit

Permalink
Merge pull request #361 from decaf-dev/dev
Browse files Browse the repository at this point in the history
1.45.0
  • Loading branch information
decaf-dev authored Sep 13, 2024
2 parents 83b431b + d392918 commit 7dfd619
Show file tree
Hide file tree
Showing 25 changed files with 504 additions and 81 deletions.
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
3 changes: 2 additions & 1 deletion src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
isEnabled: false,
},
},
confirmBeforeDelete: true,
currentView: TExplorerView.GRID,
titleWrapping: "normal",
enableClockUpdates: true,
Expand All @@ -90,8 +91,8 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
viewOrder: [
TExplorerView.GRID,
TExplorerView.LIST,
TExplorerView.TABLE,
TExplorerView.FEED,
TExplorerView.TABLE,
],
configDir: ".vaultexplorer",
pluginVersion: null,
Expand Down
6 changes: 6 additions & 0 deletions src/migrations/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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[] = [
{
Expand Down Expand Up @@ -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 = (
Expand Down
4 changes: 2 additions & 2 deletions src/migrations/migrate_1_41_0.ts
Original file line number Diff line number Diff line change
@@ -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<string, unknown>) {
const typedData = data as unknown as VaultExplorerPluginSettings_1_40_2;
const newData: VaultExplorerPluginSettings = {
const newData: VaultExplorerPluginSettings_1_41_1 = {
...typedData,
properties: {
...typedData.properties,
Expand Down
4 changes: 2 additions & 2 deletions src/migrations/migrate_1_42_0.ts
Original file line number Diff line number Diff line change
@@ -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<string, unknown>) {
const typedData = data as unknown as VaultExplorerPluginSettings_1_41_1;
const newData: VaultExplorerPluginSettings = {
const newData: VaultExplorerPluginSettings_1_44_6 = {
...typedData,
properties: {
...typedData.properties,
Expand Down
30 changes: 30 additions & 0 deletions src/migrations/migrate_1_45_0.ts
Original file line number Diff line number Diff line change
@@ -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<string, unknown>) {
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<string, unknown>;
}
}
18 changes: 14 additions & 4 deletions src/obsidian/vault-explorer-settings-tab.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down Expand Up @@ -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) =>
Expand Down
15 changes: 11 additions & 4 deletions src/svelte/app/components/feed-card.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script lang="ts">
import { createEventDispatcher, onMount } from "svelte";
import { onMount } from "svelte";
import { CollapseStyle } from "src/types";
import EventManager from "src/event/event-manager";
import VaultExplorerPlugin from "src/main";
Expand Down Expand Up @@ -35,6 +35,7 @@
export let path: string;
export let createdMillis: number;
export let content: string | null;
export let enablePremiumFeatures: boolean;
let ref: HTMLElement | null = null;
let enableFileIcons = false;
Expand All @@ -45,8 +46,6 @@
let collapseStyle: CollapseStyle = "no-new-lines";
let currentLineClamp: number = lineClampLarge;
const dispatch = createEventDispatcher();
let plugin: VaultExplorerPlugin;
store.plugin.subscribe((p) => {
plugin = p;
Expand Down Expand Up @@ -147,7 +146,15 @@
function handleCardContextMenu(e: Event) {
const nativeEvent = e as MouseEvent;
openContextMenu(plugin, path, nativeEvent, {});
const { app, settings } = plugin;
openContextMenu(
nativeEvent,
path,
app,
settings,
enablePremiumFeatures,
{},
);
}
function handleCardMouseOver(e: MouseEvent) {
Expand Down
40 changes: 12 additions & 28 deletions src/svelte/app/components/feed-view.svelte
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
<script lang="ts">
import PremiumLink from "src/svelte/shared/components/premium-link.svelte";
import PremiumMessage from "src/svelte/shared/components/premium-message.svelte";
import { FileRenderData } from "../types";
import License from "src/svelte/shared/services/license";
import FeedCard from "./feed-card.svelte";
export let hasValidLicenseKey = false;
export let data: FileRenderData[] = [];
export let startIndex;
export let pageLength;
export let enablePremiumFeatures: boolean;
let filteredItems: FileRenderData[] = [];
License.getInstance()
.getHasValidKeyStore()
.subscribe((hasValidKey) => {
hasValidLicenseKey = hasValidKey;
});
$: {
if (startIndex < data.length) {
filteredItems = Array.from({ length: pageLength }, (_, i) => {
Expand All @@ -31,22 +22,15 @@
</script>

<div class="vault-explorer-feed-view">
{#if !hasValidLicenseKey}
<div>
<PremiumMessage />
<PremiumLink />
</div>
{/if}
{#if hasValidLicenseKey}
{#each filteredItems as fileRenderData (fileRenderData.id)}
<FeedCard
displayName={fileRenderData.displayName}
extension={fileRenderData.extension}
baseName={fileRenderData.baseName}
path={fileRenderData.path}
content={fileRenderData.content}
createdMillis={fileRenderData.createdMillis}
/>
{/each}
{/if}
{#each filteredItems as fileRenderData (fileRenderData.id)}
<FeedCard
{enablePremiumFeatures}
displayName={fileRenderData.displayName}
extension={fileRenderData.extension}
baseName={fileRenderData.baseName}
path={fileRenderData.path}
content={fileRenderData.content}
createdMillis={fileRenderData.createdMillis}
/>
{/each}
</div>
23 changes: 17 additions & 6 deletions src/svelte/app/components/grid-card.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
export let custom2: string | null;
export let custom3: string | null;
export let coverImageFit: CoverImageFit;
export let enablePremiumFeatures: boolean;
let plugin: VaultExplorerPlugin;
let enableFileIcons: boolean = false;
Expand Down Expand Up @@ -108,12 +109,22 @@
const nativeEvent = e as MouseEvent;
const showCoverImageOptions = path.endsWith(".md");
openContextMenu(plugin, path, nativeEvent, {
coverImageFit: showCoverImageOptions ? coverImageFit : undefined,
onCoverImageFitChange: showCoverImageOptions
? handleCoverImageFitChange
: undefined,
});
const { app, settings } = plugin;
openContextMenu(
nativeEvent,
path,
app,
settings,
enablePremiumFeatures,
{
coverImageFit: showCoverImageOptions
? coverImageFit
: undefined,
onCoverImageFitChange: showCoverImageOptions
? handleCoverImageFitChange
: undefined,
},
);
}
function handleCardMouseOver(e: MouseEvent) {
Expand Down
2 changes: 2 additions & 0 deletions src/svelte/app/components/grid-view.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
export let data: FileRenderData[];
export let startIndex: number;
export let pageLength: number;
export let enablePremiumFeatures: boolean;
let filteredItems: FileRenderData[] = [];
Expand All @@ -24,6 +25,7 @@
<div class="vault-explorer-grid-view__container">
{#each filteredItems as fileRenderData (fileRenderData.id)}
<GridCard
{enablePremiumFeatures}
displayName={fileRenderData.displayName}
path={fileRenderData.path}
coverImageFit={fileRenderData.coverImageFit}
Expand Down
11 changes: 10 additions & 1 deletion src/svelte/app/components/list-item.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
export let tags: string[] | null;
export let showTags: boolean;
export let isSmallScreenSize: boolean;
export let enablePremiumFeatures: boolean;
let enableFileIcons: boolean = false;
let ref: HTMLElement | null = null;
Expand Down Expand Up @@ -75,7 +76,15 @@
function handleItemContextMenu(e: Event) {
const nativeEvent = e as MouseEvent;
openContextMenu(plugin, path, nativeEvent, {});
const { app, settings } = plugin;
openContextMenu(
nativeEvent,
path,
app,
settings,
enablePremiumFeatures,
{},
);
}
function handleItemMouseOver(e: MouseEvent) {
Expand Down
2 changes: 2 additions & 0 deletions src/svelte/app/components/list-view.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
export let pageLength: number;
export let showTags: boolean;
export let isSmallScreenSize: boolean;
export let enablePremiumFeatures: boolean;
let filteredItems: FileRenderData[] = [];
Expand All @@ -26,6 +27,7 @@
<div class="vault-explorer-list-view">
{#each filteredItems as fileRenderData (fileRenderData.id)}
<ListItem
{enablePremiumFeatures}
{showTags}
displayName={fileRenderData.displayName}
extension={fileRenderData.extension}
Expand Down
15 changes: 11 additions & 4 deletions src/svelte/app/components/table-view.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script lang="ts">
import { createEventDispatcher, onMount } from "svelte";
import { onMount } from "svelte";
import { openContextMenu } from "../services/context-menu";
import { formatAsBearTimeString } from "../services/time-string";
import { FileRenderData } from "../types";
Expand All @@ -25,6 +25,7 @@
export let data: FileRenderData[];
export let startIndex: number;
export let pageLength: number;
export let enablePremiumFeatures: boolean;
let filteredItems: FileRenderData[] = [];
let plugin: VaultExplorerPlugin | null = null;
Expand Down Expand Up @@ -54,8 +55,6 @@
},
];
const dispatch = createEventDispatcher();
store.plugin.subscribe((p) => {
plugin = p;
enableFileIcons = plugin.settings.enableFileIcons;
Expand Down Expand Up @@ -103,7 +102,15 @@
if (plugin === null) return;
const nativeEvent = e as MouseEvent;
openContextMenu(plugin, path, nativeEvent, {});
const { app, settings } = plugin;
openContextMenu(
nativeEvent,
path,
app,
settings,
enablePremiumFeatures,
{},
);
}
function getValue(item: FileRenderData, column: TColumn): unknown {
Expand Down
Loading

0 comments on commit 7dfd619

Please sign in to comment.