mirror of
https://github.com/decaf-dev/obsidian-vault-explorer.git
synced 2026-07-22 10:10:31 +00:00
refactor: change to type-only import
This commit is contained in:
parent
2099586ffa
commit
bba710b495
74 changed files with 1388 additions and 1036 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import { LOG_LEVEL_WARN } from "./logger/constants";
|
||||
import { VaultExplorerPluginSettings, TExplorerView } from "./types";
|
||||
import { type VaultExplorerPluginSettings, TExplorerView } from "./types";
|
||||
|
||||
export const VAULT_EXPLORER_VIEW = "vault-explorer";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import Logger from "js-logger";
|
||||
import { PluginEvent, EventCallback } from "./types";
|
||||
import { PluginEvent, type EventCallback } from "./types";
|
||||
|
||||
export default class EventManager {
|
||||
private static instance: EventManager;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
import Logger, { ILogLevel } from "js-logger";
|
||||
import { LOG_LEVEL_OFF, LOG_LEVEL_ERROR, LOG_LEVEL_WARN, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_TRACE } from "./constants";
|
||||
import { FormattedLogMessage, LogMessageHeader } from "./types";
|
||||
|
||||
import Logger, { type ILogLevel } from "js-logger";
|
||||
import {
|
||||
LOG_LEVEL_DEBUG,
|
||||
LOG_LEVEL_ERROR,
|
||||
LOG_LEVEL_INFO,
|
||||
LOG_LEVEL_OFF,
|
||||
LOG_LEVEL_TRACE,
|
||||
LOG_LEVEL_WARN,
|
||||
} from "./constants";
|
||||
import type { FormattedLogMessage, LogMessageHeader } from "./types";
|
||||
|
||||
export const logLevelToString = (level: ILogLevel) => {
|
||||
switch (level) {
|
||||
|
|
@ -20,7 +26,7 @@ export const logLevelToString = (level: ILogLevel) => {
|
|||
default:
|
||||
throw new Error("Unhandled log level");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const stringToLogLevel = (value: string) => {
|
||||
switch (value) {
|
||||
|
|
@ -39,16 +45,21 @@ export const stringToLogLevel = (value: string) => {
|
|||
default:
|
||||
throw new Error(`Unhandled log level: ${value}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const formatMessageForLogger = (...args: unknown[]): FormattedLogMessage => {
|
||||
export const formatMessageForLogger = (
|
||||
...args: unknown[]
|
||||
): FormattedLogMessage => {
|
||||
const head: unknown = args[0];
|
||||
const body = args[1] as unknown as Record<string, unknown>;
|
||||
if (typeof args[0] == "object") {
|
||||
const headers = head as LogMessageHeader;
|
||||
const { fileName, functionName, message } = headers;
|
||||
return { message: `[${fileName}:${functionName}] ${message}`, data: body };
|
||||
return {
|
||||
message: `[${fileName}:${functionName}] ${message}`,
|
||||
data: body,
|
||||
};
|
||||
} else {
|
||||
return { message: String(head), data: body };
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
21
src/main.ts
21
src/main.ts
|
|
@ -1,26 +1,25 @@
|
|||
import { Plugin, TAbstractFile, TFile, TFolder } from "obsidian";
|
||||
|
||||
import VaultExplorerView from "./obsidian/vault-explorer-view";
|
||||
import VaultExplorerSettingsTab from "./obsidian/vault-explorer-settings-tab";
|
||||
import VaultExplorerView from "./obsidian/vault-explorer-view";
|
||||
|
||||
import { VaultExplorerPluginSettings } from "./types";
|
||||
import Logger from "js-logger";
|
||||
import {
|
||||
DEFAULT_SETTINGS,
|
||||
HOVER_LINK_SOURCE_ID,
|
||||
VAULT_EXPLORER_VIEW,
|
||||
} from "./constants";
|
||||
import _ from "lodash";
|
||||
import EventManager from "./event/event-manager";
|
||||
import { preformMigrations } from "./migrations";
|
||||
import Logger from "js-logger";
|
||||
import { formatMessageForLogger, stringToLogLevel } from "./logger";
|
||||
import { moveFocus } from "./focus-utils";
|
||||
import { PluginEvent } from "./event/types";
|
||||
import { isVersionLessThan } from "./utils";
|
||||
import License from "./svelte/shared/services/license";
|
||||
import { clearSMICache } from "./svelte/app/services/smi-cache";
|
||||
import store from "./svelte/shared/services/store";
|
||||
import { moveFocus } from "./focus-utils";
|
||||
import { formatMessageForLogger, stringToLogLevel } from "./logger";
|
||||
import { preformMigrations } from "./migrations";
|
||||
import "./styles.css";
|
||||
import { clearSMICache } from "./svelte/app/services/smi-cache";
|
||||
import License from "./svelte/shared/services/license";
|
||||
import store from "./svelte/shared/services/store";
|
||||
import type { VaultExplorerPluginSettings } from "./types";
|
||||
import { isVersionLessThan } from "./utils";
|
||||
|
||||
export default class VaultExplorerPlugin extends Plugin {
|
||||
settings: VaultExplorerPluginSettings = DEFAULT_SETTINGS;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,11 @@
|
|||
import Migrate_0_4_0 from "./migrate_0_4_0";
|
||||
import Migrate_1_1_0 from "./migrate_1_1_0";
|
||||
import Migrate_1_0_0 from "./migrate_1_0_0";
|
||||
import Migrate_1_2_1 from "./migrate_1_2_1";
|
||||
import Migrate_1_3_0 from "./migrate_1_3_0";
|
||||
import Migrate_1_6_0 from "./migrate_1_6_0";
|
||||
import Migrate_1_6_1 from "./migrate_1_6_1";
|
||||
import Migrate_1_9_0 from "./migrate_1_9_0";
|
||||
import Migrate_1_10_0 from "./migrate_1_10_0";
|
||||
import Migrate_1_13_0 from "./migrate_1_13_0";
|
||||
import Migrate_1_14_0 from "./migrate_1_14_0";
|
||||
import Migrate_1_15_0 from "./migrate_1_15_0";
|
||||
import Migrate_1_17_0 from "./migrate_1_17_0";
|
||||
import Migrate_1_13_0 from "./migrate_1_13_0";
|
||||
import Migrate_1_10_0 from "./migrate_1_10_0";
|
||||
import Migrate_1_1_0 from "./migrate_1_1_0";
|
||||
import Migrate_1_21_0 from "./migrate_1_21_0";
|
||||
import Migrate_1_22_0 from "./migrate_1_22_0";
|
||||
import Migrate_1_23_0 from "./migrate_1_23_0";
|
||||
|
|
@ -18,8 +13,12 @@ import Migrate_1_23_1 from "./migrate_1_23_1";
|
|||
import Migrate_1_24_0 from "./migrate_1_24_0";
|
||||
import Migrate_1_25_0 from "./migrate_1_25_0";
|
||||
import Migrate_1_26_0 from "./migrate_1_26_0";
|
||||
import Migrate_1_2_1 from "./migrate_1_2_1";
|
||||
import Migrate_1_3_0 from "./migrate_1_3_0";
|
||||
import Migrate_1_6_0 from "./migrate_1_6_0";
|
||||
import Migrate_1_6_1 from "./migrate_1_6_1";
|
||||
import Migrate_1_9_0 from "./migrate_1_9_0";
|
||||
|
||||
import { TMigration } from "./types";
|
||||
import { isVersionLessThan } from "src/utils";
|
||||
import Migrate_1_27_0 from "./migrate_1_27_0";
|
||||
import Migrate_1_29_0 from "./migrate_1_29_0";
|
||||
|
|
@ -34,6 +33,7 @@ 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";
|
||||
import Migrate_1_46_0 from "./migrate_1_46_0";
|
||||
import type { TMigration } from "./types";
|
||||
|
||||
const migrations: TMigration[] = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
import { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5";
|
||||
import { VaultExplorerPluginSettings_0_3_3 } from "src/types/types-0.3.3";
|
||||
import type { VaultExplorerPluginSettings_0_3_3 } from "src/types/types-0.3.3";
|
||||
import type { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
export default class Migrate_0_4_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_0_3_3;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_0_3_3;
|
||||
const newData: VaultExplorerPluginSettings_0_5_5 = {
|
||||
...typedData,
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
properties: {
|
||||
...typedData.filters.properties,
|
||||
groups: []
|
||||
}
|
||||
groups: [],
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1";
|
||||
import { LOG_LEVEL_WARN } from "src/logger/constants";
|
||||
import type { VaultExplorerPluginSettings_0_5_5 } from "src/types/types-0.5.5";
|
||||
import type { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
export default class Migrate_1_0_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_0_5_5;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_0_5_5;
|
||||
const newData: VaultExplorerPluginSettings_1_0_1 = {
|
||||
...typedData,
|
||||
logLevel: LOG_LEVEL_WARN,
|
||||
|
|
@ -13,18 +13,18 @@ export default class Migrate_1_0_0 implements MigrationInterface {
|
|||
...typedData.filters,
|
||||
properties: {
|
||||
...typedData.filters.properties,
|
||||
groups: typedData.filters.properties.groups.map(group => {
|
||||
groups: typedData.filters.properties.groups.map((group) => {
|
||||
const { id, name, filters, isEnabled } = group;
|
||||
return {
|
||||
id,
|
||||
name,
|
||||
filters,
|
||||
isEnabled
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
isEnabled,
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,35 @@
|
|||
import { FilterRuleType_1_12_1, VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1";
|
||||
import {
|
||||
FilterRuleType_1_12_1,
|
||||
type VaultExplorerPluginSettings_1_12_1,
|
||||
} from "src/types/types-1.12.1";
|
||||
import type { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1";
|
||||
|
||||
export default class Migrate_1_10_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_9_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_9_1;
|
||||
const newData: VaultExplorerPluginSettings_1_12_1 = {
|
||||
...typedData,
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
custom: {
|
||||
...typedData.filters.custom,
|
||||
groups: typedData.filters.custom.groups.map(group => {
|
||||
const rules = group.rules.map(rule => {
|
||||
groups: typedData.filters.custom.groups.map((group) => {
|
||||
const rules = group.rules.map((rule) => {
|
||||
return {
|
||||
...rule,
|
||||
type: FilterRuleType_1_12_1.PROPERTY as any,
|
||||
propertyType: rule.type as any,
|
||||
}
|
||||
};
|
||||
});
|
||||
return {
|
||||
...group,
|
||||
rules
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
rules,
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
};
|
||||
delete (newData.filters as any).folder;
|
||||
delete (newData.filters as any).properties;
|
||||
for (const group of newData.filters.custom.groups as any) {
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
import { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1";
|
||||
import type { VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1";
|
||||
import type { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_12_1 } from "src/types/types-1.12.1";
|
||||
|
||||
export default class Migrate_1_13_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_12_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_12_1;
|
||||
const newData: VaultExplorerPluginSettings_1_13_1 = {
|
||||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
enableClockUpdates: true
|
||||
enableClockUpdates: true,
|
||||
},
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
custom: {
|
||||
...typedData.filters.custom,
|
||||
groups: typedData.filters.custom.groups.map(group => {
|
||||
groups: typedData.filters.custom.groups.map((group) => {
|
||||
return {
|
||||
...group,
|
||||
isSticky: false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
isSticky: false,
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,37 +1,37 @@
|
|||
import { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2";
|
||||
import type { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1";
|
||||
import type { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_13_1 } from "src/types/types-1.13.1";
|
||||
|
||||
export default class Migrate_1_14_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_13_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_13_1;
|
||||
const newData: VaultExplorerPluginSettings_1_14_2 = {
|
||||
...typedData,
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
search: {
|
||||
isEnabled: true,
|
||||
value: typedData.filters.search
|
||||
value: typedData.filters.search,
|
||||
},
|
||||
favorites: {
|
||||
isEnabled: true,
|
||||
value: typedData.filters.onlyFavorites
|
||||
value: typedData.filters.onlyFavorites,
|
||||
},
|
||||
timestamp: {
|
||||
isEnabled: true,
|
||||
value: typedData.filters.timestamp
|
||||
value: typedData.filters.timestamp,
|
||||
},
|
||||
sort: {
|
||||
isEnabled: true,
|
||||
value: typedData.filters.sort
|
||||
value: typedData.filters.sort,
|
||||
},
|
||||
custom: {
|
||||
isEnabled: true,
|
||||
...typedData.filters.custom
|
||||
...typedData.filters.custom,
|
||||
},
|
||||
},
|
||||
enableScrollButtons: true,
|
||||
}
|
||||
};
|
||||
delete (newData.filters as any).onlyFavorites;
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
import { VaultExplorerPluginSettings_1_16_0, ViewType_1_16_0 } from "src/types/types-1.16.0";
|
||||
import type { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2";
|
||||
import {
|
||||
type VaultExplorerPluginSettings_1_16_0,
|
||||
ViewType_1_16_0,
|
||||
} from "src/types/types-1.16.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2";
|
||||
|
||||
export default class Migrate_1_15_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_14_2;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_14_2;
|
||||
const newData: VaultExplorerPluginSettings_1_16_0 = {
|
||||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
order: [...typedData.views.order, ViewType_1_16_0.FEED],
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { TExplorerView } from "src/types";
|
||||
import type { VaultExplorerPluginSettings_1_16_0 } from "src/types/types-1.16.0";
|
||||
import type { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_16_0 } from "src/types/types-1.16.0";
|
||||
import { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0";
|
||||
|
||||
export default class Migrate_1_17_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
import type { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1";
|
||||
import {
|
||||
type VaultExplorerPluginSettings_1_2_0,
|
||||
ViewType_1_2_0,
|
||||
} from "src/types/types-1.2.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1";
|
||||
import { VaultExplorerPluginSettings_1_2_0, ViewType_1_2_0 } from "src/types/types-1.2.0";
|
||||
|
||||
export default class Migrate_1_1_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_0_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_0_1;
|
||||
const newData: VaultExplorerPluginSettings_1_2_0 = {
|
||||
...typedData,
|
||||
views: {
|
||||
currentView: typedData.currentView as unknown as ViewType_1_2_0,
|
||||
order: [ViewType_1_2_0.GRID, ViewType_1_2_0.LIST]
|
||||
}
|
||||
}
|
||||
order: [ViewType_1_2_0.GRID, ViewType_1_2_0.LIST],
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0";
|
||||
import type { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_20_0 } from "src/types/types-1.20.0";
|
||||
import { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2";
|
||||
|
||||
export default class Migrate_1_21_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2";
|
||||
import type { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_21_2 } from "src/types/types-1.21.2";
|
||||
import { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0";
|
||||
|
||||
export default class Migrate_1_22_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0";
|
||||
import type { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_22_0 } from "src/types/types-1.22.0";
|
||||
import { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0";
|
||||
|
||||
export default class Migrate_1_23_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0";
|
||||
import type { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_23_0 } from "src/types/types-1.23.0";
|
||||
import { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2";
|
||||
|
||||
export default class Migrate_1_23_1 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2";
|
||||
import type { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_23_2 } from "src/types/types-1.23.2";
|
||||
import { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2";
|
||||
|
||||
export default class Migrate_1_24_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2";
|
||||
import type { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_24_2 } from "src/types/types-1.24.2";
|
||||
import { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2";
|
||||
|
||||
export default class Migrate_1_25_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2";
|
||||
import type { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_25_2 } from "src/types/types-1.25.2";
|
||||
import { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3";
|
||||
|
||||
export default class Migrate_1_26_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3";
|
||||
import type { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_26_3 } from "src/types/types-1.26.3";
|
||||
import { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0";
|
||||
|
||||
export default class Migrate_1_27_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import { VaultExplorerPluginSettings } from "src/types";
|
||||
import type { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0";
|
||||
import type { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_28_0 } from "src/types/types-1.28.0";
|
||||
import { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0";
|
||||
|
||||
export default class Migrate_1_29_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import type { VaultExplorerPluginSettings_1_2_0 } from "src/types/types-1.2.0";
|
||||
import type { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_2_0 } from "src/types/types-1.2.0";
|
||||
import { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1";
|
||||
|
||||
export default class Migrate_1_2_1 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_2_0;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_2_0;
|
||||
const newData: VaultExplorerPluginSettings_1_2_1 = {
|
||||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
titleWrapping: "normal"
|
||||
}
|
||||
}
|
||||
titleWrapping: "normal",
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5";
|
||||
import type { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0";
|
||||
import type { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_29_0 } from "src/types/types-1.29.0";
|
||||
|
||||
export default class Migrate_1_30_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5";
|
||||
import type { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_30_5 } from "src/types/types-1.30.5";
|
||||
import { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2";
|
||||
|
||||
export default class Migrate_1_31_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2";
|
||||
import type { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_32_2 } from "src/types/types-1.32.2";
|
||||
import { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3";
|
||||
|
||||
export default class Migrate_1_33_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0";
|
||||
import type { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_36_3 } from "src/types/types-1.36.3";
|
||||
import { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0";
|
||||
|
||||
export default class Migrate_1_37_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0";
|
||||
import type { VaultExplorerPluginSettings_1_37_2 } from "src/types/types-1-37-0";
|
||||
import type { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0";
|
||||
|
||||
export default class Migrate_1_38_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0";
|
||||
import type { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0";
|
||||
import {
|
||||
TExplorerView_1_39_0,
|
||||
VaultExplorerPluginSettings_1_39_0,
|
||||
type VaultExplorerPluginSettings_1_39_0,
|
||||
} from "src/types/types-1.39.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
export default class Migrate_1_39_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,25 +1,32 @@
|
|||
import type { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1";
|
||||
import type {
|
||||
PropertyFilterGroup_1_5_0,
|
||||
PropertyFilter_1_5_0,
|
||||
VaultExplorerPluginSettings_1_5_0,
|
||||
} from "src/types/types-1.5.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_2_1 } from "src/types/types-1.2.1";
|
||||
import { PropertyFilterGroup_1_5_0, PropertyFilter_1_5_0, VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0";
|
||||
|
||||
export default class Migrate_1_3_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_2_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_2_1;
|
||||
const groups = typedData.filters.properties.groups;
|
||||
|
||||
const updatedGroups: PropertyFilterGroup_1_5_0[] = groups.map(group => {
|
||||
const updatedFilters: PropertyFilter_1_5_0[] = group.filters.map(filter => {
|
||||
const updatedGroups: PropertyFilterGroup_1_5_0[] = groups.map(
|
||||
(group) => {
|
||||
const updatedFilters: PropertyFilter_1_5_0[] =
|
||||
group.filters.map((filter) => {
|
||||
return {
|
||||
...filter,
|
||||
type: filter.type as any,
|
||||
matchWhenPropertyDNE: false,
|
||||
};
|
||||
});
|
||||
return {
|
||||
...filter,
|
||||
type: filter.type as any,
|
||||
matchWhenPropertyDNE: false
|
||||
}
|
||||
});
|
||||
return {
|
||||
...group,
|
||||
filters: updatedFilters
|
||||
...group,
|
||||
filters: updatedFilters,
|
||||
};
|
||||
}
|
||||
});
|
||||
);
|
||||
|
||||
const newData: VaultExplorerPluginSettings_1_5_0 = {
|
||||
...typedData,
|
||||
|
|
@ -28,9 +35,9 @@ export default class Migrate_1_3_0 implements MigrationInterface {
|
|||
properties: {
|
||||
...typedData.filters.properties,
|
||||
groups: updatedGroups,
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_39_0 } from "src/types/types-1.39.0";
|
||||
import type { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_39_0 } from "src/types/types-1.39.0";
|
||||
import { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2";
|
||||
|
||||
export default class Migrate_1_40_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_40_2 } from "src/types/types-1.40.2";
|
||||
import type { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1";
|
||||
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>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { VaultExplorerPluginSettings_1_41_1 } from "src/types/types-1.41.1";
|
||||
import type { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6";
|
||||
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>) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { TExplorerView } from "src/types";
|
||||
import { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0";
|
||||
import type { VaultExplorerPluginSettings_1_44_6 } from "src/types/types-1.44.6";
|
||||
import type { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
export default class Migrate_1_45_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { TExplorerView, type VaultExplorerPluginSettings } from "src/types";
|
||||
import type { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { TExplorerView, VaultExplorerPluginSettings } from "src/types";
|
||||
import { VaultExplorerPluginSettings_1_45_0 } from "src/types/types-1.45.0";
|
||||
|
||||
export default class Migrate_1_46_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import type { VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0";
|
||||
import type { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_5_0 } from "src/types/types-1.5.0";
|
||||
import { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0";
|
||||
|
||||
export default class Migrate_1_6_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_5_0;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_5_0;
|
||||
const newData: VaultExplorerPluginSettings_1_6_0 = {
|
||||
...typedData,
|
||||
properties: {
|
||||
...typedData.properties,
|
||||
creationDate: "",
|
||||
modifiedDate: ""
|
||||
}
|
||||
}
|
||||
modifiedDate: "",
|
||||
},
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import type { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0";
|
||||
import type { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_6_0 } from "src/types/types-1.6.0";
|
||||
import { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1";
|
||||
|
||||
export default class Migrate_1_6_1 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_6_0;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_6_0;
|
||||
const newData: VaultExplorerPluginSettings_1_8_1 = {
|
||||
...typedData,
|
||||
properties: {
|
||||
...typedData.properties,
|
||||
createdDate: "",
|
||||
modifiedDate: ""
|
||||
}
|
||||
}
|
||||
modifiedDate: "",
|
||||
},
|
||||
};
|
||||
delete (newData.properties as any).creationDate;
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,33 @@
|
|||
import type { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1";
|
||||
import type { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
import { VaultExplorerPluginSettings_1_8_1 } from "src/types/types-1.8.1";
|
||||
import { VaultExplorerPluginSettings_1_9_1 } from "src/types/types-1.9.1";
|
||||
|
||||
export default class Migrate_1_9_0 implements MigrationInterface {
|
||||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = (data as unknown) as VaultExplorerPluginSettings_1_8_1;
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_8_1;
|
||||
const newData: VaultExplorerPluginSettings_1_9_1 = {
|
||||
...typedData,
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
custom: {
|
||||
selectedGroupId: typedData.filters.properties.selectedGroupId,
|
||||
groups: typedData.filters.properties.groups.map(group => {
|
||||
const rules = group.filters.map(filter => {
|
||||
selectedGroupId:
|
||||
typedData.filters.properties.selectedGroupId,
|
||||
groups: typedData.filters.properties.groups.map((group) => {
|
||||
const rules = group.filters.map((filter) => {
|
||||
return {
|
||||
...filter,
|
||||
valueData: "",
|
||||
type: filter.type as any
|
||||
}
|
||||
type: filter.type as any,
|
||||
};
|
||||
});
|
||||
return {
|
||||
...group,
|
||||
rules
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
rules,
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
};
|
||||
delete (newData.filters as any).properties;
|
||||
for (const group of newData.filters.custom.groups as any) {
|
||||
delete group.filters;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { App } from "obsidian";
|
||||
import { ObsidianProperty, ObsidianPropertyType } from "./types";
|
||||
import type { ObsidianProperty, ObsidianPropertyType } from "./types";
|
||||
|
||||
/**
|
||||
* Gets all Obsidian properties
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
import Logger from "js-logger";
|
||||
import { App, PluginSettingTab, Setting, SliderComponent } from "obsidian";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import {
|
||||
getDropdownOptionsForProperties,
|
||||
getObsidianPropertiesByType,
|
||||
} from "./utils";
|
||||
import { stringToLogLevel } from "src/logger";
|
||||
import {
|
||||
LOG_LEVEL_DEBUG,
|
||||
LOG_LEVEL_ERROR,
|
||||
|
|
@ -12,21 +9,25 @@ import {
|
|||
LOG_LEVEL_TRACE,
|
||||
LOG_LEVEL_WARN,
|
||||
} from "src/logger/constants";
|
||||
import Logger from "js-logger";
|
||||
import { stringToLogLevel } from "src/logger";
|
||||
import {
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import type {
|
||||
CollapseStyle,
|
||||
CoverImageFit,
|
||||
TExplorerView,
|
||||
VaultExplorerPluginSettings,
|
||||
} from "src/types";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import LicenseKeyApp from "../svelte/license-key-app/index.svelte";
|
||||
import ImageSourceApp from "../svelte/image-source-app/index.svelte";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import {
|
||||
getDropdownOptionsForProperties,
|
||||
getObsidianPropertiesByType,
|
||||
} from "./utils";
|
||||
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import { TExplorerView } from "src/types";
|
||||
import ImageSourceApp from "../svelte/image-source-app/index.svelte";
|
||||
import LicenseKeyApp from "../svelte/license-key-app/index.svelte";
|
||||
|
||||
import "./styles.css";
|
||||
import { clearSMICache } from "src/svelte/app/services/smi-cache";
|
||||
import "./styles.css";
|
||||
|
||||
export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
||||
plugin: VaultExplorerPlugin;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,19 @@
|
|||
<script lang="ts">
|
||||
import { onMount } from "svelte";
|
||||
import { CollapseStyle } from "src/types";
|
||||
import { HOVER_LINK_SOURCE_ID } from "src/constants";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { formatAsBearTimeString } from "../services/time-string";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import Spacer from "src/svelte/shared/components/spacer.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import type { CollapseStyle } from "src/types";
|
||||
import { onMount } from "svelte";
|
||||
import { SCREEN_SIZE_LG, SCREEN_SIZE_MD } from "../constants";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import { formatAsBearTimeString } from "../services/time-string";
|
||||
import {
|
||||
removeBoldMarkdown,
|
||||
removeCodeBlocks,
|
||||
|
|
@ -20,14 +28,6 @@
|
|||
removeNewLines,
|
||||
removeWikiLinks,
|
||||
} from "../services/utils/content-utils";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { HOVER_LINK_SOURCE_ID } from "src/constants";
|
||||
import { SCREEN_SIZE_LG, SCREEN_SIZE_MD } from "../constants";
|
||||
import Spacer from "src/svelte/shared/components/spacer.svelte";
|
||||
|
||||
export let displayName: string;
|
||||
export let baseName: string;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts">
|
||||
import { FileRenderData } from "../types";
|
||||
import type { FileRenderData } from "../types";
|
||||
import FeedCard from "./feed-card.svelte";
|
||||
|
||||
export let data: FileRenderData[] = [];
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
<script lang="ts">
|
||||
import { TFilterGroup } from "src/types";
|
||||
import _ from "lodash";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import FilterGroup from "./filter-group.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import type { TFilterGroup } from "src/types";
|
||||
import FilterGroup from "./filter-group.svelte";
|
||||
|
||||
export let groups: TFilterGroup[] = [];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
<script lang="ts">
|
||||
import Tag from "../../shared/components/tag.svelte";
|
||||
import Property from "../../shared/components/property.svelte";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import store from "../../shared/services/store";
|
||||
import Wrap from "src/svelte/shared/components/wrap.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import Logger from "js-logger";
|
||||
import { HOVER_LINK_SOURCE_ID } from "src/constants";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import { getDomainFromUrl } from "../services/utils/url-utils";
|
||||
import Spacer from "src/svelte/shared/components/spacer.svelte";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import Divider from "src/svelte/shared/components/divider.svelte";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import Spacer from "src/svelte/shared/components/spacer.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import Wrap from "src/svelte/shared/components/wrap.svelte";
|
||||
import type { CoverImageFit } from "src/types";
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import Property from "../../shared/components/property.svelte";
|
||||
import Tag from "../../shared/components/tag.svelte";
|
||||
import store from "../../shared/services/store";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { fetchSocialMediaImage } from "../services/fetch-social-media-image";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import {
|
||||
getSMICacheEntry,
|
||||
isSMICacheEntryExpired,
|
||||
putSMICacheEntry,
|
||||
} from "../services/smi-cache";
|
||||
import { CoverImageFit } from "src/types";
|
||||
import Logger from "js-logger";
|
||||
import { getDomainFromUrl } from "../services/utils/url-utils";
|
||||
|
||||
type SocialMediaImageResult = {
|
||||
status: "SUCCESS" | "NOT_FOUND" | "EXPIRED" | "NO_IMAGE";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts">
|
||||
import { FileRenderData } from "../types";
|
||||
import type { FileRenderData } from "../types";
|
||||
import GridCard from "./grid-card.svelte";
|
||||
|
||||
export let data: FileRenderData[];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang="ts">
|
||||
import ListItem from "./list-item.svelte";
|
||||
|
||||
import { FileRenderData } from "../types";
|
||||
import type { FileRenderData } from "../types";
|
||||
|
||||
export let data: FileRenderData[];
|
||||
export let startIndex: number;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang="ts">
|
||||
import { Menu } from "obsidian";
|
||||
import IconButton from "src/svelte/shared/components/icon-button.svelte";
|
||||
import { SortFilterOption } from "src/types";
|
||||
import type { SortFilterOption } from "src/types";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
|
||||
export let value: SortFilterOption;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
<script lang="ts">
|
||||
import { onMount } from "svelte";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { FileRenderData } from "../types";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import Tag from "src/svelte/shared/components/tag.svelte";
|
||||
import Wrap from "src/svelte/shared/components/wrap.svelte";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import { HOVER_LINK_SOURCE_ID } from "src/constants";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import Tag from "src/svelte/shared/components/tag.svelte";
|
||||
import Wrap from "src/svelte/shared/components/wrap.svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { onMount } from "svelte";
|
||||
import { openContextMenu } from "../services/context-menu";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { openInCurrentTab } from "../services/open-file";
|
||||
import type { FileRenderData } from "../types";
|
||||
|
||||
interface TColumn {
|
||||
key: string;
|
||||
|
|
|
|||
|
|
@ -2,66 +2,67 @@
|
|||
// ============================================
|
||||
// Imports
|
||||
// ============================================
|
||||
import Stack from "../shared/components/stack.svelte";
|
||||
import Flex from "../shared/components/flex.svelte";
|
||||
import TabList from "../shared/components/tab-list.svelte";
|
||||
import Tab from "../shared/components/tab.svelte";
|
||||
import Logger from "js-logger";
|
||||
import _ from "lodash";
|
||||
import { TFile } from "obsidian";
|
||||
import {
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import CustomFilterModal from "src/obsidian/custom-filter-modal";
|
||||
import type {
|
||||
CoverImageFit,
|
||||
TCustomFilter,
|
||||
TFeedView,
|
||||
TGridView,
|
||||
TListView,
|
||||
TSearchFilter,
|
||||
TSortFilter,
|
||||
TExplorerView,
|
||||
CoverImageFit,
|
||||
TGridView,
|
||||
TFeedView,
|
||||
TTableView,
|
||||
TListView,
|
||||
} from "src/types";
|
||||
import store from "../shared/services/store";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import GridView from "./components/grid-view.svelte";
|
||||
import ListView from "./components/list-view.svelte";
|
||||
import { filterBySearch } from "./services/filters/search-filter";
|
||||
import { filterByGroups } from "./services/filters/custom/filter-by-groups";
|
||||
import { formatFileDataForRender } from "./services/render-data";
|
||||
import _ from "lodash";
|
||||
|
||||
import { TExplorerView, } from "src/types";
|
||||
import { onMount } from "svelte";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { getDisplayNameForView } from "./services/display-name";
|
||||
import Flex from "../shared/components/flex.svelte";
|
||||
import IconButton from "../shared/components/icon-button.svelte";
|
||||
import Spacer from "../shared/components/spacer.svelte";
|
||||
import Stack from "../shared/components/stack.svelte";
|
||||
import TabList from "../shared/components/tab-list.svelte";
|
||||
import Tab from "../shared/components/tab.svelte";
|
||||
import Wrap from "../shared/components/wrap.svelte";
|
||||
import License from "../shared/services/license";
|
||||
import store from "../shared/services/store";
|
||||
import {
|
||||
getStartOfLastWeekMillis,
|
||||
getStartOfTodayMillis,
|
||||
getStartOfThisWeekMillis,
|
||||
getStartOfTodayMillis,
|
||||
} from "../shared/services/time-utils";
|
||||
import { FileRenderData } from "./types";
|
||||
import Logger from "js-logger";
|
||||
import FeedView from "./components/feed-view.svelte";
|
||||
import FilterGroupList from "./components/filter-group-list.svelte";
|
||||
import GridView from "./components/grid-view.svelte";
|
||||
import ListView from "./components/list-view.svelte";
|
||||
import PaginationIndicator from "./components/pagination-indicator.svelte";
|
||||
import SearchFilter from "./components/search-filter.svelte";
|
||||
import SortFilter from "./components/sort-filter.svelte";
|
||||
import TableView from "./components/table-view.svelte";
|
||||
import { DEBOUNCE_INPUT_TIME, SCREEN_SIZE_MD } from "./constants";
|
||||
import FeedView from "./components/feed-view.svelte";
|
||||
import PaginationIndicator from "./components/pagination-indicator.svelte";
|
||||
import Wrap from "../shared/components/wrap.svelte";
|
||||
import {
|
||||
RandomFileSortCache,
|
||||
randomFileSortStore,
|
||||
} from "./services/random-file-sort-store";
|
||||
import {
|
||||
FileContentCache,
|
||||
fileContentStore,
|
||||
} from "./services/file-content-store";
|
||||
import { fileStore, LoadedFile } from "./services/file-store";
|
||||
import IconButton from "../shared/components/icon-button.svelte";
|
||||
import CustomFilterModal from "src/obsidian/custom-filter-modal";
|
||||
import FilterGroupList from "./components/filter-group-list.svelte";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import { getDisplayNameForView } from "./services/display-name";
|
||||
import {
|
||||
favoritesStore,
|
||||
TFavoritesCache,
|
||||
type TFavoritesCache,
|
||||
} from "./services/favorites-store";
|
||||
import TableView from "./components/table-view.svelte";
|
||||
import Spacer from "../shared/components/spacer.svelte";
|
||||
import License from "../shared/services/license";
|
||||
import {
|
||||
type FileContentCache,
|
||||
fileContentStore,
|
||||
} from "./services/file-content-store";
|
||||
import { fileStore, type LoadedFile } from "./services/file-store";
|
||||
import { filterByGroups } from "./services/filters/custom/filter-by-groups";
|
||||
import { filterBySearch } from "./services/filters/search-filter";
|
||||
import {
|
||||
type RandomFileSortCache,
|
||||
randomFileSortStore,
|
||||
} from "./services/random-file-sort-store";
|
||||
import { formatFileDataForRender } from "./services/render-data";
|
||||
import type { FileRenderData } from "./types";
|
||||
|
||||
// ============================================
|
||||
// Variables
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { App, Menu, Notice } from "obsidian";
|
||||
import { CoverImageFit, VaultExplorerPluginSettings } from "src/types";
|
||||
import type { CoverImageFit, VaultExplorerPluginSettings } from "src/types";
|
||||
|
||||
export const openContextMenu = (
|
||||
e: MouseEvent,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import Logger from "js-logger";
|
||||
import _ from "lodash";
|
||||
import { App, normalizePath, Notice } from "obsidian";
|
||||
import { VaultExplorerPluginSettings } from "src/types";
|
||||
import { Writable, writable } from "svelte/store";
|
||||
import type { VaultExplorerPluginSettings } from "src/types";
|
||||
import { type Writable, writable } from "svelte/store";
|
||||
import { parseItems, stringifyItems } from "./utils/json-utils";
|
||||
|
||||
interface FavoritesItem {
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
import { FrontMatterCache } from "obsidian";
|
||||
import {
|
||||
TFilterRule,
|
||||
TFilterGroup,
|
||||
DatePropertyFilterValue,
|
||||
PropertyFilterRule,
|
||||
FilterRuleType,
|
||||
import type { FrontMatterCache } from "obsidian";
|
||||
import type {
|
||||
ContentFilterRule,
|
||||
FileNameFilterRule,
|
||||
FolderFilterRule,
|
||||
ContentFilterRule,
|
||||
PropertyFilterRule,
|
||||
TFilterGroup,
|
||||
TFilterRule,
|
||||
} from "src/types";
|
||||
|
||||
import { loadPropertyValue } from "src/svelte/shared/services/load-property-value";
|
||||
import { matchTextPropertyFilter } from "./match-text-property-filter";
|
||||
import { matchCheckboxPropertyFilter } from "./match-checkbox-property-filter";
|
||||
import { matchListPropertyFilter } from "./match-list-property-filter";
|
||||
import { matchDatePropertyFilter } from "./match-date-property-filter";
|
||||
import { matchNumberPropertyFilter } from "./match-number-property-filter";
|
||||
import {
|
||||
getDateDaysAgo,
|
||||
getDateDaysAhead,
|
||||
} from "src/svelte/shared/services/time-utils";
|
||||
import { matchFileNameFilter } from "./match-file-name-filter";
|
||||
import { matchContentFilter } from "./match-content-filter";
|
||||
import { matchFolderFilter } from "./match-folder-filter";
|
||||
import { DatePropertyFilterValue, FilterRuleType } from "src/types";
|
||||
import { removeFrontmatter } from "../../utils/content-utils";
|
||||
import { matchCheckboxPropertyFilter } from "./match-checkbox-property-filter";
|
||||
import { matchContentFilter } from "./match-content-filter";
|
||||
import { matchDatePropertyFilter } from "./match-date-property-filter";
|
||||
import { matchFileNameFilter } from "./match-file-name-filter";
|
||||
import { matchFolderFilter } from "./match-folder-filter";
|
||||
import { matchListPropertyFilter } from "./match-list-property-filter";
|
||||
import { matchNumberPropertyFilter } from "./match-number-property-filter";
|
||||
import { matchTextPropertyFilter } from "./match-text-property-filter";
|
||||
|
||||
export const filterByGroups = (
|
||||
fileName: string,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { FileRenderData } from "../../types";
|
||||
import type { FileRenderData } from "../../types";
|
||||
|
||||
//TODO add tests
|
||||
export const filterBySearch = (file: FileRenderData, value: string) => {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import Logger from "js-logger";
|
||||
import { App } from "obsidian";
|
||||
import type { App } from "obsidian";
|
||||
import { writable } from "svelte/store";
|
||||
|
||||
export type RandomFileSortCache = Map<string, number>;
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
import { App, FrontMatterCache, TFile } from "obsidian";
|
||||
import {
|
||||
CoverImageFit,
|
||||
PropertyType,
|
||||
VaultExplorerPluginSettings,
|
||||
} from "src/types";
|
||||
import { FileRenderData } from "../types";
|
||||
import Logger from "js-logger";
|
||||
import { App, type FrontMatterCache, TFile } from "obsidian";
|
||||
import {
|
||||
FileTextProperties,
|
||||
type FileTextProperties,
|
||||
loadPropertyValue,
|
||||
loadTextProperties,
|
||||
} from "src/svelte/shared/services/load-property-value";
|
||||
import {
|
||||
isDateSupported,
|
||||
getTimeMillis,
|
||||
isDateSupported,
|
||||
} from "src/svelte/shared/services/time-utils";
|
||||
import { isImageExtension } from "./utils/image-utils";
|
||||
import { removeFrontmatter } from "./utils/content-utils";
|
||||
import { getURIForWikiLinkTarget } from "./utils/wiki-link-utils";
|
||||
import { isUrl, isWikiLink } from "./link-utils/link-validators";
|
||||
import {
|
||||
type CoverImageFit,
|
||||
PropertyType,
|
||||
type VaultExplorerPluginSettings,
|
||||
} from "src/types";
|
||||
import type { FileRenderData } from "../types";
|
||||
import {
|
||||
getFirstExternalEmbed,
|
||||
getFirstInternalEmbed,
|
||||
} from "./link-utils/link-getters";
|
||||
import {
|
||||
getExternalEmbedTarget,
|
||||
getInternalEmbedTarget,
|
||||
getWikiLinkTarget,
|
||||
} from "./link-utils/link-target-getters";
|
||||
import {
|
||||
getFirstExternalEmbed,
|
||||
getFirstInternalEmbed,
|
||||
} from "./link-utils/link-getters";
|
||||
import { isUrl, isWikiLink } from "./link-utils/link-validators";
|
||||
import { removeFrontmatter } from "./utils/content-utils";
|
||||
import { isImageExtension } from "./utils/image-utils";
|
||||
import { getURIForWikiLinkTarget } from "./utils/wiki-link-utils";
|
||||
|
||||
/**
|
||||
* Formats the file's data for rendering
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { DBSchema, openDB } from "idb";
|
||||
import { type DBSchema, openDB } from "idb";
|
||||
import Logger from "js-logger";
|
||||
import { Notice } from "obsidian";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { CoverImageFit } from "src/types";
|
||||
import type { CoverImageFit } from "src/types";
|
||||
|
||||
export interface FileRenderData {
|
||||
id: string;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<script lang="ts">
|
||||
import {
|
||||
ContentFilterCondition,
|
||||
FilterCondition,
|
||||
FilterOperator,
|
||||
type FilterCondition,
|
||||
type FilterOperator,
|
||||
FilterRuleType,
|
||||
} from "src/types";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
|
|
@ -15,10 +15,10 @@
|
|||
export let condition: FilterCondition;
|
||||
export let isEnabled: boolean;
|
||||
|
||||
import { createEventDispatcher } from "svelte";
|
||||
import License from "src/svelte/shared/services/license";
|
||||
import PremiumLink from "src/svelte/shared/components/premium-link.svelte";
|
||||
import PremiumMessage from "src/svelte/shared/components/premium-message.svelte";
|
||||
import License from "src/svelte/shared/services/license";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
let hasValidLicenseKey = false;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts">
|
||||
import { FilterCondition, FilterOperator, FilterRuleType } from "src/types";
|
||||
import { type FilterCondition, type FilterOperator, FilterRuleType } from "src/types";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
|
||||
export let index: number;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<script lang="ts">
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import PropertyFilter from "./property-filter.svelte";
|
||||
import { TFilterRule, FilterRuleType, PropertyType } from "src/types";
|
||||
import { type TFilterRule, FilterRuleType, PropertyType } from "src/types";
|
||||
import ContentFilter from "./content-filter.svelte";
|
||||
import FolderFilter from "./folder-filter.svelte";
|
||||
import FileNameFilter from "./file-name-filter.svelte";
|
||||
import FolderFilter from "./folder-filter.svelte";
|
||||
import PropertyFilter from "./property-filter.svelte";
|
||||
|
||||
export let rules: TFilterRule[] = [];
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
<script lang="ts">
|
||||
import { Menu } from "obsidian";
|
||||
import IconButton from "src/svelte/shared/components/icon-button.svelte";
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import Switch from "src/svelte/shared/components/switch.svelte";
|
||||
import {
|
||||
CheckboxFilterCondition,
|
||||
DateFilterCondition,
|
||||
FilterCondition,
|
||||
FilterOperator,
|
||||
ListFilterCondition,
|
||||
NumberFilterCondition,
|
||||
TextFilterCondition,
|
||||
PropertyType,
|
||||
FilterRuleType,
|
||||
FolderFilterCondition,
|
||||
FileNameFilterCondition,
|
||||
ContentFilterCondition,
|
||||
} from "src/types";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
import Wrap from "src/svelte/shared/components/wrap.svelte";
|
||||
import License from "src/svelte/shared/services/license";
|
||||
import { Menu } from "obsidian";
|
||||
import {
|
||||
CheckboxFilterCondition,
|
||||
ContentFilterCondition,
|
||||
DateFilterCondition,
|
||||
FileNameFilterCondition,
|
||||
type FilterCondition,
|
||||
type FilterOperator,
|
||||
FilterRuleType,
|
||||
FolderFilterCondition,
|
||||
ListFilterCondition,
|
||||
NumberFilterCondition,
|
||||
PropertyType,
|
||||
TextFilterCondition,
|
||||
} from "src/types";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
import {
|
||||
getDisplayNameForFilterCondition,
|
||||
getDisplayNameForFilterRuleType,
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<script lang="ts">
|
||||
import { FilterCondition, FilterOperator, FilterRuleType } from "src/types";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { TFolder } from "obsidian";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import SearchSelect from "src/svelte/shared/components/search-select.svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { type FilterCondition, type FilterOperator, FilterRuleType } from "src/types";
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
|
||||
export let index: number;
|
||||
export let id: string;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
<script lang="ts">
|
||||
import Stack from "src/svelte/shared/components/stack.svelte";
|
||||
import { TFilterGroup } from "src/types";
|
||||
import { tick } from "svelte";
|
||||
import Flex from "src/svelte/shared/components/flex.svelte";
|
||||
import type { TFilterGroup } from "src/types";
|
||||
import GroupListItem from "./group-list-item.svelte";
|
||||
|
||||
export let groups: TFilterGroup[];
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
<script lang="ts">
|
||||
import { getAllObsidianProperties } from "src/obsidian/utils";
|
||||
import {
|
||||
CheckboxFilterCondition,
|
||||
DateFilterCondition,
|
||||
FilterCondition,
|
||||
FilterOperator,
|
||||
TextFilterCondition,
|
||||
DatePropertyFilterValue,
|
||||
PropertyType,
|
||||
type FilterCondition,
|
||||
type FilterOperator,
|
||||
FilterRuleType,
|
||||
PropertyType,
|
||||
TextFilterCondition,
|
||||
} from "src/types";
|
||||
import { getAllObsidianProperties } from "src/obsidian/utils";
|
||||
|
||||
export let index: number;
|
||||
export let id: string;
|
||||
|
|
@ -31,12 +31,12 @@
|
|||
obsidianProperties = getAllObsidianProperties(plugin.app);
|
||||
});
|
||||
|
||||
import { createEventDispatcher } from "svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import { ObsidianProperty } from "src/obsidian/types";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
import type { ObsidianProperty } from "src/obsidian/types";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
import { getDisplayNameForDatePropertyFilterValue } from "../services/display-name-utils";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,33 +1,32 @@
|
|||
<script lang="ts">
|
||||
import Logger from "js-logger";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { onMount } from "svelte";
|
||||
import store from "../shared/services/store";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import {
|
||||
CheckboxFilterCondition,
|
||||
ContentFilterCondition,
|
||||
DateFilterCondition,
|
||||
DatePropertyFilterValue,
|
||||
FileNameFilterCondition,
|
||||
FilterRuleType,
|
||||
FolderFilterCondition,
|
||||
ListFilterCondition,
|
||||
NumberFilterCondition,
|
||||
TextFilterCondition,
|
||||
DatePropertyFilterValue,
|
||||
PropertyType,
|
||||
FilterRuleType,
|
||||
ContentFilterCondition,
|
||||
FolderFilterCondition,
|
||||
FileNameFilterCondition,
|
||||
TFilterRule,
|
||||
TFilterGroup,
|
||||
TextFilterCondition,
|
||||
type TFilterGroup,
|
||||
type TFilterRule,
|
||||
} from "src/types";
|
||||
import { generateRandomId } from "../shared/services/random";
|
||||
import { createPropertyFilter } from "./services/utils";
|
||||
import GroupList from "./components/group-list.svelte";
|
||||
import { onMount } from "svelte";
|
||||
import Divider from "../shared/components/divider.svelte";
|
||||
import Logger from "js-logger";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import IconButton from "../shared/components/icon-button.svelte";
|
||||
import Stack from "../shared/components/stack.svelte";
|
||||
import Spacer from "../shared/components/spacer.svelte";
|
||||
import Stack from "../shared/components/stack.svelte";
|
||||
import { generateRandomId } from "../shared/services/random";
|
||||
import store from "../shared/services/store";
|
||||
import FilterRuleList from "./components/filter-rule-list.svelte";
|
||||
import { createPropertyFilter } from "./services/utils";
|
||||
|
||||
let selectedGroupId: string = "";
|
||||
let groups: TFilterGroup[] = [];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,16 @@
|
|||
import { CheckboxFilterCondition, ContentFilterCondition, DateFilterCondition, DatePropertyFilterValue, FileNameFilterCondition, FilterCondition, FilterRuleType, FolderFilterCondition, ListFilterCondition, NumberFilterCondition, TextFilterCondition } from "src/types";
|
||||
import {
|
||||
CheckboxFilterCondition,
|
||||
ContentFilterCondition,
|
||||
DateFilterCondition,
|
||||
DatePropertyFilterValue,
|
||||
FileNameFilterCondition,
|
||||
type FilterCondition,
|
||||
FilterRuleType,
|
||||
FolderFilterCondition,
|
||||
ListFilterCondition,
|
||||
NumberFilterCondition,
|
||||
TextFilterCondition,
|
||||
} from "src/types";
|
||||
|
||||
export const getDisplayNameForFilterRuleType = (type: FilterRuleType) => {
|
||||
switch (type) {
|
||||
|
|
@ -13,9 +25,11 @@ export const getDisplayNameForFilterRuleType = (type: FilterRuleType) => {
|
|||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const getDisplayNameForDatePropertyFilterValue = (value: DatePropertyFilterValue) => {
|
||||
export const getDisplayNameForDatePropertyFilterValue = (
|
||||
value: DatePropertyFilterValue
|
||||
) => {
|
||||
switch (value) {
|
||||
case DatePropertyFilterValue.TODAY:
|
||||
return "today";
|
||||
|
|
@ -36,7 +50,7 @@ export const getDisplayNameForDatePropertyFilterValue = (value: DatePropertyFilt
|
|||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const getDisplayNameForFilterCondition = (type: FilterCondition) => {
|
||||
switch (type) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import {
|
|||
FilterRuleType,
|
||||
PropertyType,
|
||||
TextFilterCondition,
|
||||
TextPropertyFilterRule,
|
||||
type TextPropertyFilterRule,
|
||||
} from "src/types";
|
||||
import { generateRandomId } from "../../shared/services/random";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { CoverImageSourceType } from "src/types";
|
||||
import type { CoverImageSourceType } from "src/types";
|
||||
|
||||
export const getDisplayNameForImageSource = (type: CoverImageSourceType) => {
|
||||
switch (type) {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<script lang="ts">
|
||||
import store from "../shared/services/store";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import { CoverImageSource, CoverImageSourceType } from "src/types";
|
||||
import { getDisplayNameForImageSource } from "./display-name";
|
||||
import Icon from "../shared/components/icon.svelte";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import type { CoverImageSource, CoverImageSourceType } from "src/types";
|
||||
import Icon from "../shared/components/icon.svelte";
|
||||
import store from "../shared/services/store";
|
||||
import { getDisplayNameForImageSource } from "./display-name";
|
||||
|
||||
let plugin: VaultExplorerPlugin | null = null;
|
||||
let coverImageSources: CoverImageSource[] = [];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<script lang="ts">
|
||||
import { createEventDispatcher, getContext } from "svelte";
|
||||
import { onMount } from "svelte";
|
||||
import { Writable } from "svelte/store";
|
||||
import { createEventDispatcher, getContext, onMount } from "svelte";
|
||||
import type { Writable } from "svelte/store";
|
||||
import { generateRandomId } from "../services/random";
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
|
@ -105,3 +104,4 @@
|
|||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
</style>
|
||||
``
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import Logger from "js-logger";
|
||||
import { App, FrontMatterCache } from "obsidian";
|
||||
import { App, type FrontMatterCache } from "obsidian";
|
||||
import { getObsidianPropertiesByType } from "src/obsidian/utils";
|
||||
import { PropertyType } from "src/types";
|
||||
import { isDateSupported } from "./time-utils";
|
||||
import { getObsidianPropertiesByType } from "src/obsidian/utils";
|
||||
|
||||
export type FileTextProperties = Record<string, string>[];
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -2,7 +2,7 @@ import { preformMigrations } from "src/migrations";
|
|||
import { isVaultExplorerPluginSettings } from "src/types/index.guard";
|
||||
import {
|
||||
TextFilterCondition_0_3_3,
|
||||
VaultExplorerPluginSettings_0_3_3,
|
||||
type VaultExplorerPluginSettings_0_3_3,
|
||||
} from "src/types/types-0.3.3";
|
||||
import {
|
||||
CheckboxFilterCondition_0_5_5,
|
||||
|
|
@ -11,7 +11,7 @@ import {
|
|||
NumberFilterCondition_0_5_5,
|
||||
PropertyFilterType_0_5_5,
|
||||
TextFilterCondition_0_5_5,
|
||||
VaultExplorerPluginSettings_0_5_5,
|
||||
type VaultExplorerPluginSettings_0_5_5,
|
||||
} from "src/types/types-0.5.5";
|
||||
|
||||
describe("preformMigrations", () => {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { FrontMatterCache } from "obsidian";
|
||||
import { PropertyType } from "src/types";
|
||||
import type { FrontMatterCache } from "obsidian";
|
||||
import { loadPropertyValue } from "src/svelte/shared/services/load-property-value";
|
||||
import { PropertyType } from "src/types";
|
||||
|
||||
describe("loadPropertyValue", () => {
|
||||
it("returns null if frontmatter is undefined", () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue