mirror of
https://github.com/decaf-dev/obsidian-vault-explorer.git
synced 2026-07-22 05:11:41 +00:00
chore: format with prettier
This commit is contained in:
parent
6e68f4e905
commit
4f1bb2c8c1
130 changed files with 1847 additions and 1156 deletions
|
|
@ -3,5 +3,5 @@ export default {
|
|||
info: jest.fn(),
|
||||
warn: jest.fn(),
|
||||
error: jest.fn(),
|
||||
debug: jest.fn(),
|
||||
debug: jest.fn()
|
||||
};
|
||||
|
|
|
|||
|
|
@ -13,46 +13,60 @@ const DATE_TIME_SHORT_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/;
|
|||
*/
|
||||
const DATE_TIME_FULL_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
|
||||
|
||||
export const moment = jest.fn((date: string, _formats: string[], _strict?: boolean) => {
|
||||
const parsedDate = new Date(date);
|
||||
const mockMoment: unknown = {
|
||||
isValid: jest.fn(() => DATE_REGEX.test(date) || DATE_TIME_SHORT_REGEX.test(date) || DATE_TIME_FULL_REGEX.test(date)),
|
||||
startOf: jest.fn((unit) => {
|
||||
if (unit === "day") {
|
||||
parsedDate.setUTCHours(0, 0, 0, 0);
|
||||
}
|
||||
return mockMoment;
|
||||
}),
|
||||
set: jest.fn(({ hour, minute, second }) => {
|
||||
parsedDate.setUTCHours(hour, minute, second);
|
||||
return mockMoment;
|
||||
}),
|
||||
valueOf: jest.fn(() => parsedDate.getTime()),
|
||||
isSame: jest.fn((other, unit) => {
|
||||
if (unit === 'day') {
|
||||
const otherDate = new Date(other);
|
||||
return (
|
||||
parsedDate.getUTCFullYear() === otherDate.getUTCFullYear() &&
|
||||
parsedDate.getUTCMonth() === otherDate.getUTCMonth() &&
|
||||
parsedDate.getUTCDate() === otherDate.getUTCDate()
|
||||
);
|
||||
}
|
||||
return parsedDate.getTime() === new Date(other).getTime();
|
||||
}),
|
||||
isBefore: jest.fn((other, unit) => {
|
||||
if (unit === 'day') {
|
||||
const otherDate = new Date(other);
|
||||
return parsedDate < otherDate && parsedDate.getUTCDate() !== otherDate.getUTCDate();
|
||||
}
|
||||
return parsedDate.getTime() < new Date(other).getTime();
|
||||
}),
|
||||
isAfter: jest.fn((other, unit) => {
|
||||
if (unit === 'day') {
|
||||
const otherDate = new Date(other);
|
||||
return parsedDate > otherDate && parsedDate.getUTCDate() !== otherDate.getUTCDate();
|
||||
}
|
||||
return parsedDate.getTime() > new Date(other).getTime();
|
||||
}),
|
||||
};
|
||||
return mockMoment;
|
||||
});
|
||||
export const moment = jest.fn(
|
||||
(date: string, _formats: string[], _strict?: boolean) => {
|
||||
const parsedDate = new Date(date);
|
||||
const mockMoment: unknown = {
|
||||
isValid: jest.fn(
|
||||
() =>
|
||||
DATE_REGEX.test(date) ||
|
||||
DATE_TIME_SHORT_REGEX.test(date) ||
|
||||
DATE_TIME_FULL_REGEX.test(date)
|
||||
),
|
||||
startOf: jest.fn((unit) => {
|
||||
if (unit === "day") {
|
||||
parsedDate.setUTCHours(0, 0, 0, 0);
|
||||
}
|
||||
return mockMoment;
|
||||
}),
|
||||
set: jest.fn(({ hour, minute, second }) => {
|
||||
parsedDate.setUTCHours(hour, minute, second);
|
||||
return mockMoment;
|
||||
}),
|
||||
valueOf: jest.fn(() => parsedDate.getTime()),
|
||||
isSame: jest.fn((other, unit) => {
|
||||
if (unit === "day") {
|
||||
const otherDate = new Date(other);
|
||||
return (
|
||||
parsedDate.getUTCFullYear() ===
|
||||
otherDate.getUTCFullYear() &&
|
||||
parsedDate.getUTCMonth() === otherDate.getUTCMonth() &&
|
||||
parsedDate.getUTCDate() === otherDate.getUTCDate()
|
||||
);
|
||||
}
|
||||
return parsedDate.getTime() === new Date(other).getTime();
|
||||
}),
|
||||
isBefore: jest.fn((other, unit) => {
|
||||
if (unit === "day") {
|
||||
const otherDate = new Date(other);
|
||||
return (
|
||||
parsedDate < otherDate &&
|
||||
parsedDate.getUTCDate() !== otherDate.getUTCDate()
|
||||
);
|
||||
}
|
||||
return parsedDate.getTime() < new Date(other).getTime();
|
||||
}),
|
||||
isAfter: jest.fn((other, unit) => {
|
||||
if (unit === "day") {
|
||||
const otherDate = new Date(other);
|
||||
return (
|
||||
parsedDate > otherDate &&
|
||||
parsedDate.getUTCDate() !== otherDate.getUTCDate()
|
||||
);
|
||||
}
|
||||
return parsedDate.getTime() > new Date(other).getTime();
|
||||
})
|
||||
};
|
||||
return mockMoment;
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -29,12 +29,12 @@ const rebuildPlugin = {
|
|||
);
|
||||
} catch (err) {}
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
const context = await esbuild.context({
|
||||
banner: {
|
||||
js: banner,
|
||||
js: banner
|
||||
},
|
||||
entryPoints: ["src/main.ts"],
|
||||
bundle: true,
|
||||
|
|
@ -52,7 +52,7 @@ const context = await esbuild.context({
|
|||
"@lezer/common",
|
||||
"@lezer/highlight",
|
||||
"@lezer/lr",
|
||||
...builtins,
|
||||
...builtins
|
||||
],
|
||||
format: "cjs",
|
||||
target: "es2018",
|
||||
|
|
@ -64,9 +64,9 @@ const context = await esbuild.context({
|
|||
rebuildPlugin,
|
||||
esbuildSvelte({
|
||||
compilerOptions: { css: "external" },
|
||||
preprocess: sveltePreprocess(),
|
||||
}),
|
||||
],
|
||||
preprocess: sveltePreprocess()
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
if (prod) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@ module.exports = {
|
|||
preset: "ts-jest",
|
||||
testEnvironment: "node",
|
||||
moduleNameMapper: {
|
||||
"^src/(.*)$": "<rootDir>/src/$1",
|
||||
},
|
||||
"^src/(.*)$": "<rootDir>/src/$1"
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -14,22 +14,22 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
|
|||
modifiedDate: "",
|
||||
custom1: "",
|
||||
custom2: "",
|
||||
custom3: "",
|
||||
custom3: ""
|
||||
},
|
||||
filters: {
|
||||
search: {
|
||||
isEnabled: true,
|
||||
value: "",
|
||||
value: ""
|
||||
},
|
||||
sort: {
|
||||
isEnabled: true,
|
||||
value: "file-name-asc",
|
||||
value: "file-name-asc"
|
||||
},
|
||||
custom: {
|
||||
isEnabled: true,
|
||||
selectedGroupId: "",
|
||||
groups: [],
|
||||
},
|
||||
groups: []
|
||||
}
|
||||
},
|
||||
views: {
|
||||
grid: {
|
||||
|
|
@ -39,27 +39,27 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
|
|||
coverImageSources: [
|
||||
{
|
||||
type: "image-property",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "url-property",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "frontmatter",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "body",
|
||||
isEnabled: true,
|
||||
},
|
||||
isEnabled: true
|
||||
}
|
||||
],
|
||||
loadSocialMediaImage: true,
|
||||
loadSocialMediaImage: true
|
||||
},
|
||||
list: {
|
||||
isEnabled: true,
|
||||
order: 1,
|
||||
showTags: true,
|
||||
showTags: true
|
||||
},
|
||||
feed: {
|
||||
isEnabled: true,
|
||||
|
|
@ -68,12 +68,12 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
|
|||
collapseStyle: "no-new-lines",
|
||||
lineClampLarge: 5,
|
||||
lineClampMedium: 3,
|
||||
lineClampSmall: 2,
|
||||
lineClampSmall: 2
|
||||
},
|
||||
table: {
|
||||
isEnabled: false,
|
||||
order: 3,
|
||||
},
|
||||
order: 3
|
||||
}
|
||||
},
|
||||
confirmBeforeDelete: true,
|
||||
currentView: TExplorerView.GRID,
|
||||
|
|
@ -85,5 +85,5 @@ export const DEFAULT_SETTINGS: VaultExplorerPluginSettings = {
|
|||
pageSize: 25,
|
||||
configDir: ".vaultexplorer",
|
||||
pluginVersion: null,
|
||||
logLevel: LOG_LEVEL_WARN,
|
||||
logLevel: LOG_LEVEL_WARN
|
||||
};
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ export default class EventManager {
|
|||
Logger.trace({
|
||||
fileName: "event-manager.ts",
|
||||
functionName: "emit",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
if (!this.eventListeners[eventName]) {
|
||||
|
|
@ -48,7 +48,7 @@ export default class EventManager {
|
|||
{
|
||||
fileName: "event-manager.ts",
|
||||
functionName: "emit",
|
||||
message: "no event listeners found for event. returning...",
|
||||
message: "no event listeners found for event. returning..."
|
||||
},
|
||||
{ eventName }
|
||||
);
|
||||
|
|
@ -59,7 +59,7 @@ export default class EventManager {
|
|||
{
|
||||
fileName: "event-manager.ts",
|
||||
functionName: "emit",
|
||||
message: "emiting event",
|
||||
message: "emiting event"
|
||||
},
|
||||
{ eventName }
|
||||
);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ export enum PluginEvent {
|
|||
FILE_ICONS_SETTING_CHANGE = "file-icons-setting-change",
|
||||
LOAD_BODY_TAGS_SETTING_CHANGE = "load-body-tags-setting-change",
|
||||
LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE = "load-social-media-image-setting-change",
|
||||
SHOW_TAGS_SETTING_CHANGE = "show-tags-setting-change",
|
||||
SHOW_TAGS_SETTING_CHANGE = "show-tags-setting-change"
|
||||
}
|
||||
|
||||
export type EventCallback = (...data: unknown[]) => void;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
export const moveFocus = (direction: "previous" | "next") => {
|
||||
const focusedEl = document.activeElement;
|
||||
if (focusedEl instanceof HTMLElement) {
|
||||
const rootEl = focusedEl.closest('.vault-explorer, .vault-explorer-property-filter-app');
|
||||
const rootEl = focusedEl.closest(
|
||||
".vault-explorer, .vault-explorer-property-filter-app"
|
||||
);
|
||||
if (!rootEl) return;
|
||||
|
||||
const inputEls = rootEl.querySelectorAll('a, button, input, select, textarea, [role="button"], [role="link"]')
|
||||
const inputEls = rootEl.querySelectorAll(
|
||||
'a, button, input, select, textarea, [role="button"], [role="link"]'
|
||||
);
|
||||
const focusableEls = Array.from(inputEls).filter(isElementTabble);
|
||||
const currentIndex = focusableEls.indexOf(focusedEl);
|
||||
|
||||
const newIndex = direction === "previous" ? currentIndex - 1 : currentIndex + 1;
|
||||
const newIndex =
|
||||
direction === "previous" ? currentIndex - 1 : currentIndex + 1;
|
||||
if (newIndex >= 0 && newIndex < focusableEls.length) {
|
||||
(focusableEls[newIndex] as HTMLElement).focus();
|
||||
} else if (newIndex > focusableEls.length - 1) {
|
||||
|
|
@ -19,6 +24,9 @@ export const moveFocus = (direction: "previous" | "next") => {
|
|||
}
|
||||
|
||||
function isElementTabble(element: Element) {
|
||||
return element.getAttribute('disabled') == null && element.getAttribute('tabindex') !== '-1';
|
||||
return (
|
||||
element.getAttribute("disabled") == null &&
|
||||
element.getAttribute("tabindex") !== "-1"
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import {
|
|||
LOG_LEVEL_INFO,
|
||||
LOG_LEVEL_OFF,
|
||||
LOG_LEVEL_TRACE,
|
||||
LOG_LEVEL_WARN,
|
||||
LOG_LEVEL_WARN
|
||||
} from "./constants";
|
||||
import type { FormattedLogMessage, LogMessageHeader } from "./types";
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ export const formatMessageForLogger = (
|
|||
const { fileName, functionName, message } = headers;
|
||||
return {
|
||||
message: `[${fileName}:${functionName}] ${message}`,
|
||||
data: body,
|
||||
data: body
|
||||
};
|
||||
} else {
|
||||
return { message: String(head), data: body };
|
||||
|
|
|
|||
12
src/main.ts
12
src/main.ts
|
|
@ -7,7 +7,7 @@ import Logger from "js-logger";
|
|||
import {
|
||||
DEFAULT_SETTINGS,
|
||||
HOVER_LINK_SOURCE_ID,
|
||||
VAULT_EXPLORER_VIEW,
|
||||
VAULT_EXPLORER_VIEW
|
||||
} from "./constants";
|
||||
import EventManager from "./event/event-manager";
|
||||
import { PluginEvent } from "./event/types";
|
||||
|
|
@ -44,13 +44,13 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
name: "Open vault explorer view",
|
||||
callback: async () => {
|
||||
this.openVaultExplorerView();
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
this.registerEvents();
|
||||
this.registerHoverLinkSource(HOVER_LINK_SOURCE_ID, {
|
||||
display: this.manifest.name,
|
||||
defaultMod: true,
|
||||
defaultMod: true
|
||||
});
|
||||
this.addSettingTab(new VaultExplorerSettingsTab(this.app, this));
|
||||
|
||||
|
|
@ -223,13 +223,13 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
Logger.trace({
|
||||
fileName: "main.ts",
|
||||
functionName: "saveSettings",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
Logger.debug(
|
||||
{
|
||||
fileName: "main.ts",
|
||||
functionName: "saveSettings",
|
||||
message: "saving settings",
|
||||
message: "saving settings"
|
||||
},
|
||||
this.settings
|
||||
);
|
||||
|
|
@ -244,7 +244,7 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
} else {
|
||||
this.app.workspace.getLeaf("tab").setViewState({
|
||||
type: VAULT_EXPLORER_VIEW,
|
||||
active: true,
|
||||
active: true
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,168 +39,168 @@ const migrations: TMigration[] = [
|
|||
{
|
||||
from: "0.3.3",
|
||||
to: "0.4.0",
|
||||
migrate: Migrate_0_4_0,
|
||||
migrate: Migrate_0_4_0
|
||||
},
|
||||
{
|
||||
from: "0.5.5",
|
||||
to: "1.0.0",
|
||||
migrate: Migrate_1_0_0,
|
||||
migrate: Migrate_1_0_0
|
||||
},
|
||||
{
|
||||
from: "1.0.1",
|
||||
to: "1.1.0",
|
||||
migrate: Migrate_1_1_0,
|
||||
migrate: Migrate_1_1_0
|
||||
},
|
||||
{
|
||||
from: "1.2.0",
|
||||
to: "1.2.1",
|
||||
migrate: Migrate_1_2_1,
|
||||
migrate: Migrate_1_2_1
|
||||
},
|
||||
{
|
||||
from: "1.2.1",
|
||||
to: "1.3.0",
|
||||
migrate: Migrate_1_3_0,
|
||||
migrate: Migrate_1_3_0
|
||||
},
|
||||
{
|
||||
from: "1.5.0",
|
||||
to: "1.6.0",
|
||||
migrate: Migrate_1_6_0,
|
||||
migrate: Migrate_1_6_0
|
||||
},
|
||||
{
|
||||
from: "1.6.0",
|
||||
to: "1.6.1",
|
||||
migrate: Migrate_1_6_1,
|
||||
migrate: Migrate_1_6_1
|
||||
},
|
||||
{
|
||||
from: "1.8.1",
|
||||
to: "1.9.0",
|
||||
migrate: Migrate_1_9_0,
|
||||
migrate: Migrate_1_9_0
|
||||
},
|
||||
{
|
||||
from: "1.9.1",
|
||||
to: "1.10.0",
|
||||
migrate: Migrate_1_10_0,
|
||||
migrate: Migrate_1_10_0
|
||||
},
|
||||
{
|
||||
from: "1.12.1",
|
||||
to: "1.13.0",
|
||||
migrate: Migrate_1_13_0,
|
||||
migrate: Migrate_1_13_0
|
||||
},
|
||||
{
|
||||
from: "1.13.1",
|
||||
to: "1.14.0",
|
||||
migrate: Migrate_1_14_0,
|
||||
migrate: Migrate_1_14_0
|
||||
},
|
||||
{
|
||||
from: "1.14.2",
|
||||
to: "1.15.0",
|
||||
migrate: Migrate_1_15_0,
|
||||
migrate: Migrate_1_15_0
|
||||
},
|
||||
{
|
||||
from: "1.16.0",
|
||||
to: "1.17.0",
|
||||
migrate: Migrate_1_17_0,
|
||||
migrate: Migrate_1_17_0
|
||||
},
|
||||
{
|
||||
from: "1.20.0",
|
||||
to: "1.21.0",
|
||||
migrate: Migrate_1_21_0,
|
||||
migrate: Migrate_1_21_0
|
||||
},
|
||||
{
|
||||
from: "1.21.2",
|
||||
to: "1.22.0",
|
||||
migrate: Migrate_1_22_0,
|
||||
migrate: Migrate_1_22_0
|
||||
},
|
||||
{
|
||||
from: "1.22.0",
|
||||
to: "1.23.0",
|
||||
migrate: Migrate_1_23_0,
|
||||
migrate: Migrate_1_23_0
|
||||
},
|
||||
{
|
||||
from: "1.23.0",
|
||||
to: "1.23.1",
|
||||
migrate: Migrate_1_23_1,
|
||||
migrate: Migrate_1_23_1
|
||||
},
|
||||
{
|
||||
from: "1.23.2",
|
||||
to: "1.24.0",
|
||||
migrate: Migrate_1_24_0,
|
||||
migrate: Migrate_1_24_0
|
||||
},
|
||||
{
|
||||
from: "1.24.2",
|
||||
to: "1.25.0",
|
||||
migrate: Migrate_1_25_0,
|
||||
migrate: Migrate_1_25_0
|
||||
},
|
||||
{
|
||||
from: "1.25.2",
|
||||
to: "1.26.0",
|
||||
migrate: Migrate_1_26_0,
|
||||
migrate: Migrate_1_26_0
|
||||
},
|
||||
{
|
||||
from: "1.26.3",
|
||||
to: "1.27.0",
|
||||
migrate: Migrate_1_27_0,
|
||||
migrate: Migrate_1_27_0
|
||||
},
|
||||
{
|
||||
from: "1.28.0",
|
||||
to: "1.29.0",
|
||||
migrate: Migrate_1_29_0,
|
||||
migrate: Migrate_1_29_0
|
||||
},
|
||||
{
|
||||
from: "1.29.0",
|
||||
to: "1.30.0",
|
||||
migrate: Migrate_1_30_0,
|
||||
migrate: Migrate_1_30_0
|
||||
},
|
||||
{
|
||||
from: "1.30.5",
|
||||
to: "1.31.0",
|
||||
migrate: Migrate_1_31_0,
|
||||
migrate: Migrate_1_31_0
|
||||
},
|
||||
{
|
||||
from: "1.32.2",
|
||||
to: "1.33.0",
|
||||
migrate: Migrate_1_33_0,
|
||||
migrate: Migrate_1_33_0
|
||||
},
|
||||
{
|
||||
from: "1.36.3",
|
||||
to: "1.37.0",
|
||||
migrate: Migrate_1_37_0,
|
||||
migrate: Migrate_1_37_0
|
||||
},
|
||||
{
|
||||
from: "1.37.2",
|
||||
to: "1.38.0",
|
||||
migrate: Migrate_1_38_0,
|
||||
migrate: Migrate_1_38_0
|
||||
},
|
||||
{
|
||||
from: "1.38.0",
|
||||
to: "1.39.0",
|
||||
migrate: Migrate_1_39_0,
|
||||
migrate: Migrate_1_39_0
|
||||
},
|
||||
{
|
||||
from: "1.39.0",
|
||||
to: "1.40.0",
|
||||
migrate: Migrate_1_40_0,
|
||||
migrate: Migrate_1_40_0
|
||||
},
|
||||
{
|
||||
from: "1.40.2",
|
||||
to: "1.41.0",
|
||||
migrate: Migrate_1_41_0,
|
||||
migrate: Migrate_1_41_0
|
||||
},
|
||||
{
|
||||
from: "1.41.1",
|
||||
to: "1.42.0",
|
||||
migrate: Migrate_1_42_0,
|
||||
migrate: Migrate_1_42_0
|
||||
},
|
||||
{
|
||||
from: "1.44.6",
|
||||
to: "1.45.0",
|
||||
migrate: Migrate_1_45_0,
|
||||
migrate: Migrate_1_45_0
|
||||
},
|
||||
{
|
||||
from: "1.45.0",
|
||||
to: "1.46.0",
|
||||
migrate: Migrate_1_46_0,
|
||||
},
|
||||
migrate: Migrate_1_46_0
|
||||
}
|
||||
];
|
||||
|
||||
export const preformMigrations = (
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ export default class Migrate_0_4_0 implements MigrationInterface {
|
|||
...typedData.filters,
|
||||
properties: {
|
||||
...typedData.filters.properties,
|
||||
groups: [],
|
||||
},
|
||||
},
|
||||
groups: []
|
||||
}
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@ export default class Migrate_1_0_0 implements MigrationInterface {
|
|||
id,
|
||||
name,
|
||||
filters,
|
||||
isEnabled,
|
||||
isEnabled
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import {
|
||||
FilterRuleType_1_12_1,
|
||||
type VaultExplorerPluginSettings_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";
|
||||
|
|
@ -19,16 +19,16 @@ export default class Migrate_1_10_0 implements MigrationInterface {
|
|||
return {
|
||||
...rule,
|
||||
type: FilterRuleType_1_12_1.PROPERTY as any,
|
||||
propertyType: rule.type as any,
|
||||
propertyType: rule.type as any
|
||||
};
|
||||
});
|
||||
return {
|
||||
...group,
|
||||
rules,
|
||||
rules
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
delete (newData.filters as any).folder;
|
||||
delete (newData.filters as any).properties;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ export default class Migrate_1_13_0 implements MigrationInterface {
|
|||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
enableClockUpdates: true,
|
||||
enableClockUpdates: true
|
||||
},
|
||||
filters: {
|
||||
...typedData.filters,
|
||||
|
|
@ -18,11 +18,11 @@ export default class Migrate_1_13_0 implements MigrationInterface {
|
|||
groups: typedData.filters.custom.groups.map((group) => {
|
||||
return {
|
||||
...group,
|
||||
isSticky: false,
|
||||
isSticky: false
|
||||
};
|
||||
}),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,26 +11,26 @@ export default class Migrate_1_14_0 implements MigrationInterface {
|
|||
...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,
|
||||
enableScrollButtons: true
|
||||
};
|
||||
delete (newData.filters as any).onlyFavorites;
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { VaultExplorerPluginSettings_1_14_2 } from "src/types/types-1.14.2";
|
||||
import {
|
||||
type VaultExplorerPluginSettings_1_16_0,
|
||||
ViewType_1_16_0,
|
||||
ViewType_1_16_0
|
||||
} from "src/types/types-1.16.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
|
|
@ -12,8 +12,8 @@ export default class Migrate_1_15_0 implements MigrationInterface {
|
|||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
order: [...typedData.views.order, ViewType_1_16_0.FEED],
|
||||
},
|
||||
order: [...typedData.views.order, ViewType_1_16_0.FEED]
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,32 +10,32 @@ export default class Migrate_1_17_0 implements MigrationInterface {
|
|||
...typedData,
|
||||
views: {
|
||||
dashboard: {
|
||||
isEnabled: false,
|
||||
isEnabled: false
|
||||
},
|
||||
grid: {
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
list: {
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
table: {
|
||||
isEnabled: false,
|
||||
isEnabled: false
|
||||
},
|
||||
feed: {
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
recommended: {
|
||||
isEnabled: false,
|
||||
isEnabled: false
|
||||
},
|
||||
related: {
|
||||
isEnabled: false,
|
||||
},
|
||||
isEnabled: false
|
||||
}
|
||||
},
|
||||
viewOrder: typedData.views.order as unknown as TExplorerView[],
|
||||
enableClockUpdates: typedData.views.enableClockUpdates,
|
||||
currentView: typedData.views
|
||||
.currentView as unknown as TExplorerView,
|
||||
titleWrapping: typedData.views.titleWrapping,
|
||||
titleWrapping: typedData.views.titleWrapping
|
||||
};
|
||||
delete (newData as any).views.order;
|
||||
delete (newData as any).views.currentView;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { VaultExplorerPluginSettings_1_0_1 } from "src/types/types-1.0.1";
|
||||
import {
|
||||
type VaultExplorerPluginSettings_1_2_0,
|
||||
ViewType_1_2_0,
|
||||
ViewType_1_2_0
|
||||
} from "src/types/types-1.2.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
|
|
@ -12,8 +12,8 @@ export default class Migrate_1_1_0 implements MigrationInterface {
|
|||
...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>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_21_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_20_0;
|
||||
const newData: VaultExplorerPluginSettings_1_21_2 = {
|
||||
...typedData,
|
||||
enableFileIcons: true,
|
||||
enableFileIcons: true
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ export default class Migrate_1_22_0 implements MigrationInterface {
|
|||
...typedData,
|
||||
properties: {
|
||||
...typedData.properties,
|
||||
imageUrl: "",
|
||||
imageUrl: ""
|
||||
},
|
||||
filterGroupsWidth: 300,
|
||||
filterGroupsWrapping: "nowrap",
|
||||
filterGroupsWrapping: "nowrap"
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ export default class Migrate_1_23_0 implements MigrationInterface {
|
|||
...typedData.views,
|
||||
grid: {
|
||||
...typedData.views.grid,
|
||||
fetchSocialMediaImage: false,
|
||||
},
|
||||
},
|
||||
fetchSocialMediaImage: false
|
||||
}
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_23_1 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_23_0;
|
||||
const newData: VaultExplorerPluginSettings_1_23_2 = {
|
||||
...typedData,
|
||||
filterGroupsWidth: "100%",
|
||||
filterGroupsWidth: "100%"
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@ export default class Migrate_1_24_0 implements MigrationInterface {
|
|||
grid: {
|
||||
...typedData.views.grid,
|
||||
loadSocialMediaImage:
|
||||
typedData.views.grid.fetchSocialMediaImage,
|
||||
typedData.views.grid.fetchSocialMediaImage
|
||||
},
|
||||
feed: {
|
||||
...typedData.views.feed,
|
||||
collapseContent: true,
|
||||
},
|
||||
},
|
||||
collapseContent: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
delete (newData as any).views.grid.fetchSocialMediaImage;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_25_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_24_2;
|
||||
const newData: VaultExplorerPluginSettings_1_25_2 = {
|
||||
...typedData,
|
||||
fileInteractionStyle: "content",
|
||||
fileInteractionStyle: "content"
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_26_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_25_2;
|
||||
const newData: VaultExplorerPluginSettings_1_26_3 = {
|
||||
...typedData,
|
||||
configDir: ".vaultexplorer",
|
||||
configDir: ".vaultexplorer"
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ export default class Migrate_1_27_0 implements MigrationInterface {
|
|||
collapseStyle: "no-new-lines",
|
||||
lineClampLarge: 5,
|
||||
lineClampMedium: 3,
|
||||
lineClampSmall: 2,
|
||||
},
|
||||
},
|
||||
lineClampSmall: 2
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
delete (newData as any).views.feed.collapseContent;
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@ export default class Migrate_1_29_0 implements MigrationInterface {
|
|||
...typedData.views,
|
||||
list: {
|
||||
...typedData.views.list,
|
||||
showTags: true,
|
||||
showTags: true
|
||||
},
|
||||
grid: {
|
||||
...typedData.views.grid,
|
||||
loadSocialMediaImage: true,
|
||||
},
|
||||
},
|
||||
loadSocialMediaImage: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ export default class Migrate_1_2_1 implements MigrationInterface {
|
|||
...typedData,
|
||||
views: {
|
||||
...typedData.views,
|
||||
titleWrapping: "normal",
|
||||
},
|
||||
titleWrapping: "normal"
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ export default class Migrate_1_30_0 implements MigrationInterface {
|
|||
...typedData.views,
|
||||
grid: {
|
||||
...typedData.views.grid,
|
||||
coverImageSource: "frontmatter-and-body",
|
||||
},
|
||||
},
|
||||
coverImageSource: "frontmatter-and-body"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_31_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_30_5;
|
||||
const newData: VaultExplorerPluginSettings_1_32_2 = {
|
||||
...typedData,
|
||||
shouldWrapFilterGroups: typedData.filterGroupsWrapping === "wrap",
|
||||
shouldWrapFilterGroups: typedData.filterGroupsWrapping === "wrap"
|
||||
};
|
||||
|
||||
delete (newData as any).filterGroupsWrapping;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default class Migrate_1_33_0 implements MigrationInterface {
|
|||
migrate(data: Record<string, unknown>) {
|
||||
const typedData = data as unknown as VaultExplorerPluginSettings_1_32_2;
|
||||
const newData: VaultExplorerPluginSettings_1_36_3 = {
|
||||
...typedData,
|
||||
...typedData
|
||||
};
|
||||
|
||||
delete (newData as any).fileInteractionStyle;
|
||||
|
|
|
|||
|
|
@ -14,27 +14,27 @@ export default class Migrate_1_37_0 implements MigrationInterface {
|
|||
coverImageSources: [
|
||||
{
|
||||
type: "image-property",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "url-property",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "frontmatter",
|
||||
isEnabled: true,
|
||||
isEnabled: true
|
||||
},
|
||||
{
|
||||
type: "body",
|
||||
isEnabled: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
isEnabled: true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
properties: {
|
||||
...typedData.properties,
|
||||
image: typedData.properties.imageUrl,
|
||||
},
|
||||
image: typedData.properties.imageUrl
|
||||
}
|
||||
};
|
||||
|
||||
delete (newData as any).enableScrollButtons;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_38_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_37_2;
|
||||
const newData: VaultExplorerPluginSettings_1_38_0 = {
|
||||
...typedData,
|
||||
loadBodyTags: true,
|
||||
loadBodyTags: true
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { VaultExplorerPluginSettings_1_38_0 } from "src/types/types-1.38.0";
|
||||
import {
|
||||
TExplorerView_1_39_0,
|
||||
type VaultExplorerPluginSettings_1_39_0,
|
||||
type VaultExplorerPluginSettings_1_39_0
|
||||
} from "src/types/types-1.39.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
|
|
@ -14,14 +14,14 @@ export default class Migrate_1_39_0 implements MigrationInterface {
|
|||
TExplorerView_1_39_0.GRID,
|
||||
TExplorerView_1_39_0.LIST,
|
||||
TExplorerView_1_39_0.TABLE,
|
||||
TExplorerView_1_39_0.FEED,
|
||||
TExplorerView_1_39_0.FEED
|
||||
],
|
||||
views: {
|
||||
...typedData.views,
|
||||
table: {
|
||||
isEnabled: true,
|
||||
},
|
||||
},
|
||||
isEnabled: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ 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,
|
||||
VaultExplorerPluginSettings_1_5_0
|
||||
} from "src/types/types-1.5.0";
|
||||
import MigrationInterface from "./migration_interface";
|
||||
|
||||
|
|
@ -18,12 +18,12 @@ export default class Migrate_1_3_0 implements MigrationInterface {
|
|||
return {
|
||||
...filter,
|
||||
type: filter.type as any,
|
||||
matchWhenPropertyDNE: false,
|
||||
matchWhenPropertyDNE: false
|
||||
};
|
||||
});
|
||||
return {
|
||||
...group,
|
||||
filters: updatedFilters,
|
||||
filters: updatedFilters
|
||||
};
|
||||
}
|
||||
);
|
||||
|
|
@ -34,9 +34,9 @@ export default class Migrate_1_3_0 implements MigrationInterface {
|
|||
...typedData.filters,
|
||||
properties: {
|
||||
...typedData.filters.properties,
|
||||
groups: updatedGroups,
|
||||
},
|
||||
},
|
||||
groups: updatedGroups
|
||||
}
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export default class Migrate_1_40_0 implements MigrationInterface {
|
|||
const typedData = data as unknown as VaultExplorerPluginSettings_1_39_0;
|
||||
const newData: VaultExplorerPluginSettings_1_40_2 = {
|
||||
...typedData,
|
||||
shouldCollapseFilters: false,
|
||||
shouldCollapseFilters: false
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@ export default class Migrate_1_41_0 implements MigrationInterface {
|
|||
...typedData,
|
||||
properties: {
|
||||
...typedData.properties,
|
||||
coverImageFit: "",
|
||||
coverImageFit: ""
|
||||
},
|
||||
views: {
|
||||
...typedData.views,
|
||||
grid: {
|
||||
...typedData.views.grid,
|
||||
coverImageFit: "cover",
|
||||
},
|
||||
},
|
||||
coverImageFit: "cover"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ export default class Migrate_1_42_0 implements MigrationInterface {
|
|||
image: typedData.properties.image || "image",
|
||||
coverImageFit:
|
||||
typedData.properties.coverImageFit || "image-fit",
|
||||
url: typedData.properties.url || "url",
|
||||
},
|
||||
url: typedData.properties.url || "url"
|
||||
}
|
||||
};
|
||||
delete (newData as any).filterGroupsWidth;
|
||||
delete (newData as any).shouldWrapFilterGroups;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ export default class Migrate_1_45_0 implements MigrationInterface {
|
|||
const newData: VaultExplorerPluginSettings_1_45_0 = {
|
||||
...typedData,
|
||||
confirmBeforeDelete: true,
|
||||
viewOrder,
|
||||
viewOrder
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,25 +13,25 @@ export default class Migrate_1_46_0 implements MigrationInterface {
|
|||
grid: {
|
||||
...typedData.views.grid,
|
||||
isEnabled: true,
|
||||
order: 0,
|
||||
order: 0
|
||||
},
|
||||
list: {
|
||||
...typedData.views.list,
|
||||
isEnabled: true,
|
||||
order: 1,
|
||||
order: 1
|
||||
},
|
||||
feed: {
|
||||
...typedData.views.feed,
|
||||
isEnabled: true,
|
||||
order: 2,
|
||||
order: 2
|
||||
},
|
||||
table: {
|
||||
...typedData.views.table,
|
||||
isEnabled: true,
|
||||
order: 3,
|
||||
},
|
||||
order: 3
|
||||
}
|
||||
},
|
||||
currentView: TExplorerView.GRID,
|
||||
currentView: TExplorerView.GRID
|
||||
};
|
||||
delete (newData as any).views.recommended;
|
||||
delete (newData as any).views.related;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ export default class Migrate_1_6_0 implements MigrationInterface {
|
|||
properties: {
|
||||
...typedData.properties,
|
||||
creationDate: "",
|
||||
modifiedDate: "",
|
||||
},
|
||||
modifiedDate: ""
|
||||
}
|
||||
};
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ export default class Migrate_1_6_1 implements MigrationInterface {
|
|||
properties: {
|
||||
...typedData.properties,
|
||||
createdDate: "",
|
||||
modifiedDate: "",
|
||||
},
|
||||
modifiedDate: ""
|
||||
}
|
||||
};
|
||||
delete (newData.properties as any).creationDate;
|
||||
return newData as unknown as Record<string, unknown>;
|
||||
|
|
|
|||
|
|
@ -17,16 +17,16 @@ export default class Migrate_1_9_0 implements MigrationInterface {
|
|||
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) {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
export default abstract class MigrationInterface {
|
||||
abstract migrate(previous: Record<string, unknown>): Record<string, unknown>;
|
||||
abstract migrate(
|
||||
previous: Record<string, unknown>
|
||||
): Record<string, unknown>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export default class CustomFilterModal extends Modal {
|
|||
const { contentEl } = this;
|
||||
|
||||
this.component = new CustomFilterApp({
|
||||
target: contentEl,
|
||||
target: contentEl
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,4 +4,12 @@ export interface ObsidianProperty {
|
|||
count: number;
|
||||
}
|
||||
|
||||
export type ObsidianPropertyType = "text" | "multitext" | "date" | "datetime" | "checkbox" | "tags" | "aliases" | "number";
|
||||
export type ObsidianPropertyType =
|
||||
| "text"
|
||||
| "multitext"
|
||||
| "date"
|
||||
| "datetime"
|
||||
| "checkbox"
|
||||
| "tags"
|
||||
| "aliases"
|
||||
| "number";
|
||||
|
|
|
|||
|
|
@ -7,17 +7,17 @@ import {
|
|||
LOG_LEVEL_INFO,
|
||||
LOG_LEVEL_OFF,
|
||||
LOG_LEVEL_TRACE,
|
||||
LOG_LEVEL_WARN,
|
||||
LOG_LEVEL_WARN
|
||||
} from "src/logger/constants";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import type {
|
||||
CollapseStyle,
|
||||
CoverImageFit,
|
||||
VaultExplorerPluginSettings,
|
||||
VaultExplorerPluginSettings
|
||||
} from "src/types";
|
||||
import {
|
||||
getDropdownOptionsForProperties,
|
||||
getObsidianPropertiesByType,
|
||||
getObsidianPropertiesByType
|
||||
} from "./utils";
|
||||
|
||||
import EventManager from "src/event/event-manager";
|
||||
|
|
@ -94,7 +94,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
"50": "50",
|
||||
"100": "100",
|
||||
"250": "250",
|
||||
"500": "500",
|
||||
"500": "500"
|
||||
})
|
||||
.setValue(this.plugin.settings.pageSize.toString())
|
||||
.onChange(async (value) => {
|
||||
|
|
@ -231,7 +231,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
new Setting(containerEl).setName("Grid view").setHeading();
|
||||
|
||||
this.imageSourceApp = new ImageSourceApp({
|
||||
target: containerEl,
|
||||
target: containerEl
|
||||
});
|
||||
|
||||
new Setting(containerEl)
|
||||
|
|
@ -261,7 +261,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
cb
|
||||
.addOptions({
|
||||
cover: "Cover",
|
||||
contain: "Contain",
|
||||
contain: "Contain"
|
||||
})
|
||||
.setValue(this.plugin.settings.views.grid.coverImageFit)
|
||||
.onChange(async (value) => {
|
||||
|
|
@ -315,7 +315,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
cb
|
||||
.addOptions({
|
||||
"no-new-lines": "No new lines",
|
||||
"no-extra-new-lines": "No extra new lines",
|
||||
"no-extra-new-lines": "No extra new lines"
|
||||
})
|
||||
.setValue(this.plugin.settings.views.feed.collapseStyle)
|
||||
.onChange(async (value) => {
|
||||
|
|
@ -441,7 +441,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
dropdown
|
||||
.addOptions(
|
||||
getDropdownOptionsForProperties(textProperties, {
|
||||
image: "image",
|
||||
image: "image"
|
||||
})
|
||||
)
|
||||
.setValue(this.plugin.settings.properties.image)
|
||||
|
|
@ -463,7 +463,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
dropdown
|
||||
.addOptions(
|
||||
getDropdownOptionsForProperties(textProperties, {
|
||||
"image-fit": "image-fit",
|
||||
"image-fit": "image-fit"
|
||||
})
|
||||
)
|
||||
.setValue(this.plugin.settings.properties.coverImageFit)
|
||||
|
|
@ -485,7 +485,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
dropdown
|
||||
.addOptions(
|
||||
getDropdownOptionsForProperties(textProperties, {
|
||||
url: "url",
|
||||
url: "url"
|
||||
})
|
||||
)
|
||||
.setValue(this.plugin.settings.properties.url)
|
||||
|
|
@ -500,10 +500,10 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
|
||||
const creationDateDesc = new DocumentFragment();
|
||||
creationDateDesc.createDiv({
|
||||
text: "Property used to store a creation date. This must be a date or datetime property.",
|
||||
text: "Property used to store a creation date. This must be a date or datetime property."
|
||||
});
|
||||
creationDateDesc.createDiv({
|
||||
text: "If set, the property will be preferred over the file's creation date.",
|
||||
text: "If set, the property will be preferred over the file's creation date."
|
||||
});
|
||||
|
||||
new Setting(containerEl)
|
||||
|
|
@ -514,7 +514,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
.addOptions(
|
||||
getDropdownOptionsForProperties([
|
||||
...dateProperties,
|
||||
...dateTimeProperties,
|
||||
...dateTimeProperties
|
||||
])
|
||||
)
|
||||
.setValue(this.plugin.settings.properties.createdDate)
|
||||
|
|
@ -529,10 +529,10 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
|
||||
const modificationDateDesc = new DocumentFragment();
|
||||
modificationDateDesc.createDiv({
|
||||
text: "Property used to store a modification date. This must be a date or datetime property.",
|
||||
text: "Property used to store a modification date. This must be a date or datetime property."
|
||||
});
|
||||
modificationDateDesc.createDiv({
|
||||
text: "If set, the property will be preferred over the file's modification date.",
|
||||
text: "If set, the property will be preferred over the file's modification date."
|
||||
});
|
||||
|
||||
new Setting(containerEl)
|
||||
|
|
@ -543,7 +543,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
.addOptions(
|
||||
getDropdownOptionsForProperties([
|
||||
...dateProperties,
|
||||
...dateTimeProperties,
|
||||
...dateTimeProperties
|
||||
])
|
||||
)
|
||||
.setValue(this.plugin.settings.properties.modifiedDate)
|
||||
|
|
@ -638,7 +638,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
[LOG_LEVEL_WARN]: "Warn",
|
||||
[LOG_LEVEL_INFO]: "Info",
|
||||
[LOG_LEVEL_DEBUG]: "Debug",
|
||||
[LOG_LEVEL_TRACE]: "Trace",
|
||||
[LOG_LEVEL_TRACE]: "Trace"
|
||||
});
|
||||
cb.setValue(this.plugin.settings.logLevel).onChange(
|
||||
async (value) => {
|
||||
|
|
@ -653,11 +653,11 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
|
||||
const configFolderDesc = new DocumentFragment();
|
||||
configFolderDesc.createDiv({
|
||||
text: "Set the plugin configuration folder.",
|
||||
text: "Set the plugin configuration folder."
|
||||
});
|
||||
configFolderDesc.createDiv({
|
||||
text: "Restart Obsidian after changing this setting.",
|
||||
cls: "mod-warning",
|
||||
cls: "mod-warning"
|
||||
});
|
||||
|
||||
new Setting(containerEl)
|
||||
|
|
@ -695,7 +695,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
[TExplorerView.GRID]: { ...settings.views.grid },
|
||||
[TExplorerView.LIST]: { ...settings.views.list },
|
||||
[TExplorerView.FEED]: { ...settings.views.feed },
|
||||
[TExplorerView.TABLE]: { ...settings.views.table },
|
||||
[TExplorerView.TABLE]: { ...settings.views.table }
|
||||
};
|
||||
|
||||
const maxOrder = Math.max(
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ export default class VaultExplorerView extends ItemView {
|
|||
const containerEl = this.containerEl.children[1];
|
||||
|
||||
this.component = new VaultExplorerApp({
|
||||
target: containerEl,
|
||||
target: containerEl
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export const openContextMenu = (
|
|||
settings: VaultExplorerPluginSettings,
|
||||
{
|
||||
coverImageFit,
|
||||
onCoverImageFitChange,
|
||||
onCoverImageFitChange
|
||||
}: {
|
||||
coverImageFit?: CoverImageFit;
|
||||
onCoverImageFitChange?: (
|
||||
|
|
@ -71,7 +71,7 @@ const deleteFile = async (app: App, filePath: string) => {
|
|||
|
||||
const openToTheRight = (app: App, filePath: string) => {
|
||||
app.workspace.openLinkText("", filePath, "split", {
|
||||
active: false,
|
||||
active: false
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -80,8 +80,8 @@ const openInNewTab = (app: App, filePath: string) => {
|
|||
type: "markdown",
|
||||
active: false,
|
||||
state: {
|
||||
file: filePath,
|
||||
},
|
||||
file: filePath
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class FavoritesStore {
|
|||
Logger.trace({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
const directoryExists = await app.vault.adapter.exists(
|
||||
|
|
@ -80,7 +80,7 @@ class FavoritesStore {
|
|||
{
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "loaded favorites cache",
|
||||
message: "loaded favorites cache"
|
||||
},
|
||||
{ cache }
|
||||
);
|
||||
|
|
@ -90,7 +90,7 @@ class FavoritesStore {
|
|||
{
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "error loading favorites cache",
|
||||
message: "error loading favorites cache"
|
||||
},
|
||||
error.message
|
||||
);
|
||||
|
|
@ -102,7 +102,7 @@ class FavoritesStore {
|
|||
Logger.trace({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "update",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
this.store.update((currentCache) => {
|
||||
|
|
@ -117,7 +117,7 @@ class FavoritesStore {
|
|||
Logger.trace({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "onFileRename",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
this.store.update((currentCache) => {
|
||||
|
|
@ -136,7 +136,7 @@ class FavoritesStore {
|
|||
Logger.trace({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "onFileDelete",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
this.store.update((currentCache) => {
|
||||
|
|
@ -151,7 +151,7 @@ class FavoritesStore {
|
|||
Logger.trace({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "save",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
if (!this.app) {
|
||||
|
|
@ -166,7 +166,7 @@ class FavoritesStore {
|
|||
const items = Array.from(cache.entries()).map(
|
||||
([filePath, isFavorite]) => ({
|
||||
filePath,
|
||||
isFavorite,
|
||||
isFavorite
|
||||
})
|
||||
);
|
||||
|
||||
|
|
@ -178,7 +178,7 @@ class FavoritesStore {
|
|||
{
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "save",
|
||||
message: "error saving favorites cache",
|
||||
message: "error saving favorites cache"
|
||||
},
|
||||
error.message
|
||||
);
|
||||
|
|
@ -190,7 +190,7 @@ class FavoritesStore {
|
|||
Logger.debug({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "createConfigDir",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
try {
|
||||
|
|
@ -202,7 +202,7 @@ class FavoritesStore {
|
|||
{
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "error creating config directory",
|
||||
message: "error creating config directory"
|
||||
},
|
||||
error.message
|
||||
);
|
||||
|
|
@ -216,7 +216,7 @@ class FavoritesStore {
|
|||
Logger.debug({
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "creating new file...",
|
||||
message: "creating new file..."
|
||||
});
|
||||
const rawData = stringifyItems([]);
|
||||
await app.vault.create(filePath, rawData);
|
||||
|
|
@ -227,7 +227,7 @@ class FavoritesStore {
|
|||
{
|
||||
fileName: "favorites-store.ts",
|
||||
functionName: "load",
|
||||
message: "error creating favorites file",
|
||||
message: "error creating favorites file"
|
||||
},
|
||||
error.message
|
||||
);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export const fetchSocialMediaImage = async (url: string) => {
|
|||
Logger.trace({
|
||||
fileName: "fetch-social-media-image.ts",
|
||||
functionName: "fetchSocialMediaImage",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
try {
|
||||
|
|
@ -13,8 +13,8 @@ export const fetchSocialMediaImage = async (url: string) => {
|
|||
url,
|
||||
method: "GET",
|
||||
headers: {
|
||||
Cookie: "", // Clear any cookies
|
||||
},
|
||||
Cookie: "" // Clear any cookies
|
||||
}
|
||||
});
|
||||
|
||||
const html = response.text;
|
||||
|
|
@ -52,7 +52,7 @@ export const fetchSocialMediaImage = async (url: string) => {
|
|||
{
|
||||
fileName: "social-media-image.ts",
|
||||
functionName: "fetchSocialMediaImage",
|
||||
message: "found image",
|
||||
message: "found image"
|
||||
},
|
||||
{ imageUrl }
|
||||
);
|
||||
|
|
@ -61,7 +61,7 @@ export const fetchSocialMediaImage = async (url: string) => {
|
|||
{
|
||||
fileName: "social-media-image.ts",
|
||||
functionName: "fetchSocialMediaImage",
|
||||
message: "no image found",
|
||||
message: "no image found"
|
||||
},
|
||||
{ url }
|
||||
);
|
||||
|
|
@ -73,7 +73,7 @@ export const fetchSocialMediaImage = async (url: string) => {
|
|||
{
|
||||
fileName: "social-media-image.ts",
|
||||
functionName: "fetchSocialMediaImage",
|
||||
message: "failed to fetch",
|
||||
message: "failed to fetch"
|
||||
},
|
||||
error
|
||||
);
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ function createFileContentStore() {
|
|||
const content = await app.vault.cachedRead(file);
|
||||
return {
|
||||
path: file.path,
|
||||
content,
|
||||
content
|
||||
};
|
||||
}
|
||||
return {
|
||||
path: file.path,
|
||||
content: null,
|
||||
content: null
|
||||
};
|
||||
})()
|
||||
);
|
||||
|
|
@ -93,7 +93,7 @@ function createFileContentStore() {
|
|||
onFileCreate: handleFileCreate,
|
||||
onFileModify: handleFileModify,
|
||||
onFileRename: handleFileRename,
|
||||
onFileDelete: handleFileDelete,
|
||||
onFileDelete: handleFileDelete
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ function createFileStore() {
|
|||
const files = app.vault.getFiles();
|
||||
const loadedFiles: LoadedFile[] = files.map((file) => ({
|
||||
id: generateRandomId(),
|
||||
file,
|
||||
file
|
||||
}));
|
||||
set(loadedFiles);
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ function createFileStore() {
|
|||
async function handleFileCreate(file: TFile) {
|
||||
const newLoadedFile: LoadedFile = {
|
||||
id: generateRandomId(),
|
||||
file,
|
||||
file
|
||||
};
|
||||
|
||||
update((loadedFiles) => {
|
||||
|
|
@ -39,7 +39,7 @@ function createFileStore() {
|
|||
if (loadedFile.file.path === oldPath) {
|
||||
return {
|
||||
...loadedFile,
|
||||
file: updatedFile,
|
||||
file: updatedFile
|
||||
};
|
||||
}
|
||||
return loadedFile;
|
||||
|
|
@ -60,7 +60,7 @@ function createFileStore() {
|
|||
subscribe,
|
||||
onFileCreate: handleFileCreate,
|
||||
onFileRename: handleFileRename,
|
||||
onFileDelete: handleFileDelete,
|
||||
onFileDelete: handleFileDelete
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@ import type {
|
|||
FolderFilterRule,
|
||||
PropertyFilterRule,
|
||||
TFilterGroup,
|
||||
TFilterRule,
|
||||
TFilterRule
|
||||
} from "src/types";
|
||||
|
||||
import { loadPropertyValue } from "src/svelte/shared/services/load-property-value";
|
||||
import {
|
||||
getDateDaysAgo,
|
||||
getDateDaysAhead,
|
||||
getDateDaysAhead
|
||||
} from "src/svelte/shared/services/time-utils";
|
||||
import { DatePropertyFilterValue, FilterRuleType } from "src/types";
|
||||
import { removeFrontmatter } from "../../utils/content-utils";
|
||||
|
|
@ -108,7 +108,7 @@ const filterByPropertyType = (
|
|||
type,
|
||||
matchWhenPropertyDNE,
|
||||
propertyType,
|
||||
propertyName,
|
||||
propertyName
|
||||
} = filter;
|
||||
|
||||
///The property is empty when the user has not chosen a property.
|
||||
|
|
@ -260,7 +260,7 @@ const filterByFolder = (
|
|||
const compare = filter.value.toLowerCase().trim();
|
||||
|
||||
const doesMatch = matchFolderFilter(value, compare, condition, {
|
||||
includeSubfolders,
|
||||
includeSubfolders
|
||||
});
|
||||
return doesMatch;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ export const matchCheckboxPropertyFilter = (
|
|||
return propertyValue === null;
|
||||
|
||||
default:
|
||||
throw new Error(`CheckboxFilterCondition not supported: ${condition}`);
|
||||
throw new Error(
|
||||
`CheckboxFilterCondition not supported: ${condition}`
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,12 +3,24 @@ import { ContentFilterCondition } from "src/types";
|
|||
export const matchContentFilter = (
|
||||
content: string,
|
||||
compare: string,
|
||||
condition: ContentFilterCondition,
|
||||
condition: ContentFilterCondition
|
||||
): boolean => {
|
||||
console.assert(content === content.toLowerCase(), `ContentFilter content "${content}" must be lowercase`);
|
||||
console.assert(/^\s/.test(content) === false, `ContentFilter content "${content}" must not contain whitespace`);
|
||||
console.assert(compare === compare.toLowerCase(), `ContentFilter compare "${compare}" must be lowercase`);
|
||||
console.assert(/\s$/.test(compare) === false, `ContentFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(
|
||||
content === content.toLowerCase(),
|
||||
`ContentFilter content "${content}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/^\s/.test(content) === false,
|
||||
`ContentFilter content "${content}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
compare === compare.toLowerCase(),
|
||||
`ContentFilter compare "${compare}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/\s$/.test(compare) === false,
|
||||
`ContentFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
|
||||
switch (condition) {
|
||||
case ContentFilterCondition.CONTAINS:
|
||||
|
|
@ -24,6 +36,8 @@ export const matchContentFilter = (
|
|||
return content !== "";
|
||||
|
||||
default:
|
||||
throw new Error(`ContentFilterCondition not supported: ${condition}`);
|
||||
throw new Error(
|
||||
`ContentFilterCondition not supported: ${condition}`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
import { getMomentDate, isDateSupported } from "src/svelte/shared/services/time-utils";
|
||||
import {
|
||||
getMomentDate,
|
||||
isDateSupported
|
||||
} from "src/svelte/shared/services/time-utils";
|
||||
import { DateFilterCondition } from "src/types";
|
||||
|
||||
export const matchDatePropertyFilter = (
|
||||
|
|
@ -8,9 +11,15 @@ export const matchDatePropertyFilter = (
|
|||
matchIfNull: boolean
|
||||
) => {
|
||||
if (propertyValue) {
|
||||
console.assert(isDateSupported(propertyValue), `DatePropertyFilter propertyValue "${propertyValue}" must be supported date format`);
|
||||
console.assert(
|
||||
isDateSupported(propertyValue),
|
||||
`DatePropertyFilter propertyValue "${propertyValue}" must be supported date format`
|
||||
);
|
||||
}
|
||||
console.assert(isDateSupported(compare), `DatePropertyFilter compare "${compare}" must be supported date format`);
|
||||
console.assert(
|
||||
isDateSupported(compare),
|
||||
`DatePropertyFilter compare "${compare}" must be supported date format`
|
||||
);
|
||||
|
||||
switch (condition) {
|
||||
case DateFilterCondition.IS: {
|
||||
|
|
@ -34,10 +43,12 @@ export const matchDatePropertyFilter = (
|
|||
|
||||
const propertyValueDate = getMomentDate(propertyValue);
|
||||
const compareDate = getMomentDate(compare);
|
||||
return propertyValueDate.isAfter(compareDate, "day") || propertyValueDate.isSame(compareDate, "day");
|
||||
return (
|
||||
propertyValueDate.isAfter(compareDate, "day") ||
|
||||
propertyValueDate.isSame(compareDate, "day")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
case DateFilterCondition.IS_BEFORE: {
|
||||
if (propertyValue === null) return matchIfNull;
|
||||
|
||||
|
|
@ -51,7 +62,10 @@ export const matchDatePropertyFilter = (
|
|||
|
||||
const propertyValueDate = getMomentDate(propertyValue);
|
||||
const compareDate = getMomentDate(compare);
|
||||
return propertyValueDate.isBefore(compareDate, "day") || propertyValueDate.isSame(compareDate, "day");
|
||||
return (
|
||||
propertyValueDate.isBefore(compareDate, "day") ||
|
||||
propertyValueDate.isSame(compareDate, "day")
|
||||
);
|
||||
}
|
||||
|
||||
case DateFilterCondition.EXISTS:
|
||||
|
|
@ -63,4 +77,4 @@ export const matchDatePropertyFilter = (
|
|||
default:
|
||||
throw new Error(`DateFilterCondition not supported: ${condition}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,13 +3,25 @@ import { FileNameFilterCondition } from "src/types";
|
|||
export const matchFileNameFilter = (
|
||||
fileName: string,
|
||||
compare: string,
|
||||
condition: FileNameFilterCondition,
|
||||
condition: FileNameFilterCondition
|
||||
): boolean => {
|
||||
console.assert(fileName === fileName.toLowerCase(), `FileNameFilter fileName "${fileName}" must be lowercase`);
|
||||
console.assert(/^\s/.test(fileName) === false, `FileNameFilter fileName "${fileName}" must not contain whitespace`);
|
||||
console.assert(
|
||||
fileName === fileName.toLowerCase(),
|
||||
`FileNameFilter fileName "${fileName}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/^\s/.test(fileName) === false,
|
||||
`FileNameFilter fileName "${fileName}" must not contain whitespace`
|
||||
);
|
||||
|
||||
console.assert(compare === compare.toLowerCase(), `FileNameFilter compare "${compare}" must be lowercase`);
|
||||
console.assert(/\s$/.test(compare) === false, `FileNameFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(
|
||||
compare === compare.toLowerCase(),
|
||||
`FileNameFilter compare "${compare}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/\s$/.test(compare) === false,
|
||||
`FileNameFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
|
||||
switch (condition) {
|
||||
case FileNameFilterCondition.IS:
|
||||
|
|
@ -33,6 +45,8 @@ export const matchFileNameFilter = (
|
|||
return fileName.endsWith(compare);
|
||||
|
||||
default:
|
||||
throw new Error(`FileNameFilterCondition not supported: ${condition}`);
|
||||
throw new Error(
|
||||
`FileNameFilterCondition not supported: ${condition}`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,10 +8,22 @@ export const matchFolderFilter = (
|
|||
includeSubfolders: boolean;
|
||||
}
|
||||
): boolean => {
|
||||
console.assert(filePath === filePath.toLowerCase(), `FolderFilter filePath "${filePath}" must be lowercase`);
|
||||
console.assert(/^\s/.test(filePath) === false, `FolderFilter filePath "${filePath}" must not contain whitespace`);
|
||||
console.assert(compare === compare.toLowerCase(), `FolderFilter compare "${compare}" must be lowercase`);
|
||||
console.assert(/\s$/.test(compare) === false, `FolderFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(
|
||||
filePath === filePath.toLowerCase(),
|
||||
`FolderFilter filePath "${filePath}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/^\s/.test(filePath) === false,
|
||||
`FolderFilter filePath "${filePath}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
compare === compare.toLowerCase(),
|
||||
`FolderFilter compare "${compare}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/\s$/.test(compare) === false,
|
||||
`FolderFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
|
||||
if (compare === "/") {
|
||||
return true;
|
||||
|
|
@ -31,6 +43,8 @@ export const matchFolderFilter = (
|
|||
return filePath !== compare;
|
||||
|
||||
default:
|
||||
throw new Error(`FolderFilterCondition not supported: ${condition}`);
|
||||
throw new Error(
|
||||
`FolderFilterCondition not supported: ${condition}`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,14 +7,35 @@ export const matchListPropertyFilter = (
|
|||
matchIfNull: boolean
|
||||
) => {
|
||||
if (propertyValue) {
|
||||
console.assert(propertyValue.every(value => value.length > 0), `ListPropertyFilter propertyValue "${propertyValue}" must not contain empty strings`);
|
||||
console.assert(propertyValue.every(value => value === value.toLowerCase()), `ListPropertyFilter propertyValue "${propertyValue}" must be lowercase`);
|
||||
console.assert(propertyValue.every(value => /^\s/.test(value) === false), `ListPropertyFilter propertyValue "${propertyValue}" must not contain whitespace`);
|
||||
console.assert(propertyValue.every(value => /\s$/.test(value) === false), `ListPropertyFilter propertyValue "${propertyValue}" must not contain whitespace`);
|
||||
console.assert(
|
||||
propertyValue.every((value) => value.length > 0),
|
||||
`ListPropertyFilter propertyValue "${propertyValue}" must not contain empty strings`
|
||||
);
|
||||
console.assert(
|
||||
propertyValue.every((value) => value === value.toLowerCase()),
|
||||
`ListPropertyFilter propertyValue "${propertyValue}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
propertyValue.every((value) => /^\s/.test(value) === false),
|
||||
`ListPropertyFilter propertyValue "${propertyValue}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
propertyValue.every((value) => /\s$/.test(value) === false),
|
||||
`ListPropertyFilter propertyValue "${propertyValue}" must not contain whitespace`
|
||||
);
|
||||
}
|
||||
console.assert(compare.every(value => value === value.toLowerCase()), `ListPropertyFilter compare "${compare}" must be lowercase`);
|
||||
console.assert(compare.every(value => /^\s/.test(value) === false), `ListPropertyFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(compare.every(value => /\s$/.test(value) === false), `ListPropertyFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(
|
||||
compare.every((value) => value === value.toLowerCase()),
|
||||
`ListPropertyFilter compare "${compare}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
compare.every((value) => /^\s/.test(value) === false),
|
||||
`ListPropertyFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
compare.every((value) => /\s$/.test(value) === false),
|
||||
`ListPropertyFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
|
||||
switch (condition) {
|
||||
case ListFilterCondition.CONTAINS:
|
||||
|
|
@ -38,4 +59,4 @@ export const matchListPropertyFilter = (
|
|||
default:
|
||||
throw new Error(`ListFilterCondition not supported: ${condition}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@ export const matchNumberPropertyFilter = (
|
|||
return propertyValue === null;
|
||||
|
||||
default:
|
||||
throw new Error(`NumberFilterCondition not supported: ${condition}`);
|
||||
throw new Error(
|
||||
`NumberFilterCondition not supported: ${condition}`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,13 +7,31 @@ export const matchTextPropertyFilter = (
|
|||
matchIfNull: boolean
|
||||
): boolean => {
|
||||
if (propertyValue) {
|
||||
console.assert(propertyValue === propertyValue.toLowerCase(), `TextFilter propertyValue "${propertyValue}" must be lowercase`);
|
||||
console.assert(/^\s/.test(propertyValue) === false, `TextFilter propertyValue "${propertyValue}" must not contain whitespace`);
|
||||
console.assert(/\s$/.test(propertyValue) === false, `TextFilter propertyValue "${propertyValue}" must not contain whitespace`);
|
||||
console.assert(
|
||||
propertyValue === propertyValue.toLowerCase(),
|
||||
`TextFilter propertyValue "${propertyValue}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/^\s/.test(propertyValue) === false,
|
||||
`TextFilter propertyValue "${propertyValue}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
/\s$/.test(propertyValue) === false,
|
||||
`TextFilter propertyValue "${propertyValue}" must not contain whitespace`
|
||||
);
|
||||
}
|
||||
console.assert(compare === compare.toLowerCase(), `TextFilter compare "${compare}" must be lowercase`);
|
||||
console.assert(/^\s/.test(compare) === false, `TextFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(/\s$/.test(compare) === false, `TextFilter compare "${compare}" must not contain whitespace`);
|
||||
console.assert(
|
||||
compare === compare.toLowerCase(),
|
||||
`TextFilter compare "${compare}" must be lowercase`
|
||||
);
|
||||
console.assert(
|
||||
/^\s/.test(compare) === false,
|
||||
`TextFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
console.assert(
|
||||
/\s$/.test(compare) === false,
|
||||
`TextFilter compare "${compare}" must not contain whitespace`
|
||||
);
|
||||
|
||||
switch (condition) {
|
||||
case TextFilterCondition.IS:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import {
|
||||
EXTERNAL_EMBED_REGEX as EXTERNAL_EMBED_REGEX,
|
||||
INTERNAL_EMBED_REGEX,
|
||||
INTERNAL_EMBED_REGEX
|
||||
} from "./constants";
|
||||
|
||||
export const getFirstInternalEmbed = (content: string) => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import {
|
||||
WIKI_LINK_REGEX,
|
||||
INTERNAL_EMBED_REGEX,
|
||||
EXTERNAL_EMBED_REGEX,
|
||||
EXTERNAL_EMBED_REGEX
|
||||
} from "./constants";
|
||||
|
||||
export const getWikiLinkTarget = (value: string) => {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import {
|
|||
INTERNAL_EMBED_REGEX,
|
||||
EXTERNAL_EMBED_REGEX,
|
||||
URL_REGEX,
|
||||
WIKI_LINK_REGEX,
|
||||
WIKI_LINK_REGEX
|
||||
} from "./constants";
|
||||
|
||||
export const isInternalEmbed = (value: string) => {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ export const openInCurrentTab = (
|
|||
plugin.app.workspace.setActiveLeaf(leaf);
|
||||
} else {
|
||||
plugin.app.workspace.openLinkText("", filePath, "tab", {
|
||||
active: true,
|
||||
active: true
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ function createRandomFileSortStore() {
|
|||
Logger.trace({
|
||||
fileName: "random-file-sort-store.ts",
|
||||
functionName: "load",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
const files = app.vault.getFiles();
|
||||
|
|
@ -59,7 +59,7 @@ function createRandomFileSortStore() {
|
|||
subscribe,
|
||||
onFileCreate: handleFileCreate,
|
||||
onFileRename: handleFileRename,
|
||||
onFileDelete: handleFileDelete,
|
||||
onFileDelete: handleFileDelete
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,26 +3,26 @@ import { App, type FrontMatterCache, TFile } from "obsidian";
|
|||
import {
|
||||
type FileTextProperties,
|
||||
loadPropertyValue,
|
||||
loadTextProperties,
|
||||
loadTextProperties
|
||||
} from "src/svelte/shared/services/load-property-value";
|
||||
import {
|
||||
getTimeMillis,
|
||||
isDateSupported,
|
||||
isDateSupported
|
||||
} from "src/svelte/shared/services/time-utils";
|
||||
import {
|
||||
type CoverImageFit,
|
||||
PropertyType,
|
||||
type VaultExplorerPluginSettings,
|
||||
type VaultExplorerPluginSettings
|
||||
} from "src/types";
|
||||
import type { FileRenderData } from "../types";
|
||||
import {
|
||||
getFirstExternalEmbed,
|
||||
getFirstInternalEmbed,
|
||||
getFirstInternalEmbed
|
||||
} from "./link-utils/link-getters";
|
||||
import {
|
||||
getExternalEmbedTarget,
|
||||
getInternalEmbedTarget,
|
||||
getWikiLinkTarget,
|
||||
getWikiLinkTarget
|
||||
} from "./link-utils/link-target-getters";
|
||||
import { isUrl, isWikiLink } from "./link-utils/link-validators";
|
||||
import { removeFrontmatter } from "./utils/content-utils";
|
||||
|
|
@ -45,7 +45,7 @@ export const formatFileDataForRender = ({
|
|||
settings,
|
||||
file,
|
||||
fileId,
|
||||
fileContent,
|
||||
fileContent
|
||||
}: {
|
||||
app: App;
|
||||
settings: VaultExplorerPluginSettings;
|
||||
|
|
@ -67,7 +67,7 @@ export const formatFileDataForRender = ({
|
|||
coverImageFit: coverImageFitProp,
|
||||
custom1: custom1Prop,
|
||||
custom2: custom2Prop,
|
||||
custom3: custom3Prop,
|
||||
custom3: custom3Prop
|
||||
} = settings.properties;
|
||||
|
||||
let tags: string[] | null = loadPropertyValue<string[]>(
|
||||
|
|
@ -240,7 +240,7 @@ export const formatFileDataForRender = ({
|
|||
modifiedMillis,
|
||||
custom1,
|
||||
custom2,
|
||||
custom3,
|
||||
custom3
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -31,17 +31,17 @@ export const getSMICacheEntry = async (websiteUrl: string) => {
|
|||
Logger.trace({
|
||||
fileName: "smi-cache.ts",
|
||||
functionName: "getSMICacheEntry",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
Logger.debug(
|
||||
{
|
||||
fileName: "grid-card.svelte",
|
||||
functionName: "getCachedSocialMediaUrl",
|
||||
message: "getting cached entry",
|
||||
message: "getting cached entry"
|
||||
},
|
||||
{
|
||||
websiteUrl,
|
||||
websiteUrl
|
||||
}
|
||||
);
|
||||
const db = await openDatabase();
|
||||
|
|
@ -58,18 +58,18 @@ export const putSMICacheEntry = async (url: string, smiUrl: string | null) => {
|
|||
Logger.trace({
|
||||
fileName: "smi-cache.ts",
|
||||
functionName: "putSMICacheEntry",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
|
||||
Logger.debug(
|
||||
{
|
||||
fileName: "smi-cache.ts",
|
||||
functionName: "putSMICacheEntry",
|
||||
message: "putting entry",
|
||||
message: "putting entry"
|
||||
},
|
||||
{
|
||||
url,
|
||||
smiUrl,
|
||||
smiUrl
|
||||
}
|
||||
);
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ export const putSMICacheEntry = async (url: string, smiUrl: string | null) => {
|
|||
await db.put(STORE_NAME, {
|
||||
url,
|
||||
smiUrl,
|
||||
timestamp: Date.now(),
|
||||
timestamp: Date.now()
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ export const clearSMICache = async () => {
|
|||
Logger.trace({
|
||||
fileName: "smi-cache.ts",
|
||||
functionName: "clearSMICache",
|
||||
message: "called",
|
||||
message: "called"
|
||||
});
|
||||
try {
|
||||
const db = await openDatabase();
|
||||
|
|
@ -98,7 +98,7 @@ export const clearSMICache = async () => {
|
|||
{
|
||||
fileName: "smi-cache.ts",
|
||||
functionName: "clearSMICache",
|
||||
message: "failed to clear cache",
|
||||
message: "failed to clear cache"
|
||||
},
|
||||
error.message
|
||||
);
|
||||
|
|
@ -109,6 +109,6 @@ const openDatabase = () => {
|
|||
return openDB<SocialMediaImageDB>(DATABASE_NAME, 1, {
|
||||
upgrade(db) {
|
||||
db.createObjectStore(STORE_NAME, { keyPath: "url" });
|
||||
},
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ const IMAGE_EXTENSIONS = [
|
|||
"webp",
|
||||
"svg",
|
||||
"avif",
|
||||
"bmp",
|
||||
"bmp"
|
||||
];
|
||||
|
||||
export const isImageExtension = (extension: string) => {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export const parseItems = <T>(rawData: string): T[] => {
|
|||
export const stringifyItems = (items: unknown[]) => {
|
||||
return JSON.stringify(
|
||||
{
|
||||
items,
|
||||
items
|
||||
},
|
||||
null,
|
||||
2
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import {
|
|||
FolderFilterCondition,
|
||||
ListFilterCondition,
|
||||
NumberFilterCondition,
|
||||
TextFilterCondition,
|
||||
TextFilterCondition
|
||||
} from "src/types";
|
||||
|
||||
export const getDisplayNameForFilterRuleType = (type: FilterRuleType) => {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import {
|
|||
FilterRuleType,
|
||||
PropertyType,
|
||||
TextFilterCondition,
|
||||
type TextPropertyFilterRule,
|
||||
type TextPropertyFilterRule
|
||||
} from "src/types";
|
||||
import { generateRandomId } from "../../shared/services/random";
|
||||
|
||||
|
|
@ -16,6 +16,6 @@ export const createPropertyFilter = (): TextPropertyFilterRule => {
|
|||
isEnabled: true,
|
||||
condition: TextFilterCondition.IS,
|
||||
value: "",
|
||||
matchWhenPropertyDNE: false,
|
||||
matchWhenPropertyDNE: false
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ export const loadTextProperties = (
|
|||
|
||||
textProperties.push({
|
||||
name: key,
|
||||
value: value as string,
|
||||
value: value as string
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ export const getEndOfDayMillis = (date: string) => {
|
|||
hour: 23,
|
||||
minute: 59,
|
||||
second: 59,
|
||||
millisecond: 999,
|
||||
millisecond: 999
|
||||
});
|
||||
return day.valueOf();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import {
|
|||
PropertyType,
|
||||
TExplorerView,
|
||||
TextFilterCondition,
|
||||
type VaultExplorerPluginSettings,
|
||||
type VaultExplorerPluginSettings
|
||||
} from "./index";
|
||||
|
||||
export function isVaultExplorerPluginSettings(
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ export enum TExplorerView {
|
|||
GRID = "grid",
|
||||
LIST = "list",
|
||||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
TABLE = "table"
|
||||
}
|
||||
|
||||
export type FilterOperator = "and" | "or";
|
||||
|
|
@ -119,14 +119,14 @@ export enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
export enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
export enum NumberFilterCondition {
|
||||
|
|
@ -137,14 +137,14 @@ export enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
export enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
export enum DateFilterCondition {
|
||||
|
|
@ -154,19 +154,19 @@ export enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
export enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
export enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
export enum FileNameFilterCondition {
|
||||
|
|
@ -175,7 +175,7 @@ export enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
export type FilterCondition =
|
||||
|
|
@ -195,14 +195,14 @@ export enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
export enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
export enum DatePropertyFilterValue {
|
||||
|
|
@ -213,7 +213,7 @@ export enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ export {
|
|||
NumberFilterCondition as NumberFilterCondition_0_5_5,
|
||||
ListFilterCondition as ListFilterCondition_0_5_5,
|
||||
CheckboxFilterCondition as CheckboxFilterCondition_0_5_5,
|
||||
DateFilterCondition as DateFilterCondition_0_5_5,
|
||||
DateFilterCondition as DateFilterCondition_0_5_5
|
||||
};
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -41,14 +41,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -59,14 +59,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -74,7 +74,7 @@ enum DateFilterCondition {
|
|||
IS_BEFORE = "is-before",
|
||||
IS_AFTER = "is-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -99,7 +99,7 @@ enum PropertyFilterType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
interface TextPropertyFilter extends BasePropertyFilter {
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -145,14 +145,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -163,14 +163,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -180,19 +180,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -201,7 +201,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -221,14 +221,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -239,7 +239,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -33,14 +33,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -51,14 +51,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -66,7 +66,7 @@ enum DateFilterCondition {
|
|||
IS_BEFORE = "is-before",
|
||||
IS_AFTER = "is-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -91,7 +91,7 @@ enum PropertyFilterType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
interface TextPropertyFilter extends BasePropertyFilter {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export interface VaultExplorerPluginSettings_1_12_1 {
|
|||
custom1: string;
|
||||
custom2: string;
|
||||
custom3: string;
|
||||
},
|
||||
};
|
||||
filters: {
|
||||
search: string;
|
||||
onlyFavorites: boolean;
|
||||
|
|
@ -17,13 +17,13 @@ export interface VaultExplorerPluginSettings_1_12_1 {
|
|||
custom: {
|
||||
selectedGroupId: string;
|
||||
groups: FilterGroup[];
|
||||
}
|
||||
},
|
||||
};
|
||||
};
|
||||
views: {
|
||||
currentView: ViewType;
|
||||
order: ViewType[];
|
||||
titleWrapping: WordBreak;
|
||||
}
|
||||
};
|
||||
pageSize: number;
|
||||
pluginVersion: string | null;
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ type WordBreak = "normal" | "break-word";
|
|||
|
||||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
LIST = "list"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -47,14 +47,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -65,14 +65,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -82,19 +82,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -103,10 +103,18 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition = TextFilterCondition | NumberFilterCondition | DateFilterCondition | CheckboxFilterCondition | ListFilterCondition | ContentFilterCondition | FolderFilterCondition | FileNameFilterCondition;
|
||||
type FilterCondition =
|
||||
| TextFilterCondition
|
||||
| NumberFilterCondition
|
||||
| DateFilterCondition
|
||||
| CheckboxFilterCondition
|
||||
| ListFilterCondition
|
||||
| ContentFilterCondition
|
||||
| FolderFilterCondition
|
||||
| FileNameFilterCondition;
|
||||
|
||||
//This matches the Obsidian property types
|
||||
enum PropertyType {
|
||||
|
|
@ -115,14 +123,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -198,8 +206,17 @@ interface ContentFilterRule extends BaseFilterRule {
|
|||
condition: ContentFilterCondition;
|
||||
}
|
||||
|
||||
type FilterRule = PropertyFilterRule | FolderFilterRule | FileNameFilterRule | ContentFilterRule;
|
||||
type PropertyFilterRule = TextPropertyFilterRule | NumberPropertyFilterRule | ListPropertyFilterRule | CheckboxPropertyFilterRule | DatePropertyFilterRule;
|
||||
type FilterRule =
|
||||
| PropertyFilterRule
|
||||
| FolderFilterRule
|
||||
| FileNameFilterRule
|
||||
| ContentFilterRule;
|
||||
type PropertyFilterRule =
|
||||
| TextPropertyFilterRule
|
||||
| NumberPropertyFilterRule
|
||||
| ListPropertyFilterRule
|
||||
| CheckboxPropertyFilterRule
|
||||
| DatePropertyFilterRule;
|
||||
|
||||
interface FilterGroup {
|
||||
id: string;
|
||||
|
|
@ -208,6 +225,17 @@ interface FilterGroup {
|
|||
isEnabled: boolean;
|
||||
}
|
||||
|
||||
type SortFilter = "file-name-asc" | "file-name-desc" | "modified-asc" | "modified-desc";
|
||||
type SortFilter =
|
||||
| "file-name-asc"
|
||||
| "file-name-desc"
|
||||
| "modified-asc"
|
||||
| "modified-desc";
|
||||
|
||||
type TimestampFilter = "created-today" | "modified-today" | "created-this-week" | "modified-this-week" | "created-2-weeks" | "modified-2-weeks" | "all";
|
||||
type TimestampFilter =
|
||||
| "created-today"
|
||||
| "modified-today"
|
||||
| "created-this-week"
|
||||
| "modified-this-week"
|
||||
| "created-2-weeks"
|
||||
| "modified-2-weeks"
|
||||
| "all";
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export interface VaultExplorerPluginSettings_1_13_1 {
|
|||
custom1: string;
|
||||
custom2: string;
|
||||
custom3: string;
|
||||
},
|
||||
};
|
||||
filters: {
|
||||
search: string;
|
||||
onlyFavorites: boolean;
|
||||
|
|
@ -17,14 +17,14 @@ export interface VaultExplorerPluginSettings_1_13_1 {
|
|||
custom: {
|
||||
selectedGroupId: string;
|
||||
groups: FilterGroup[];
|
||||
}
|
||||
},
|
||||
};
|
||||
};
|
||||
views: {
|
||||
currentView: ViewType;
|
||||
order: ViewType[];
|
||||
titleWrapping: WordBreak;
|
||||
enableClockUpdates: boolean;
|
||||
}
|
||||
};
|
||||
pageSize: number;
|
||||
pluginVersion: string | null;
|
||||
}
|
||||
|
|
@ -33,7 +33,7 @@ type WordBreak = "normal" | "break-word";
|
|||
|
||||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
LIST = "list"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -46,14 +46,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -64,14 +64,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -81,19 +81,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -102,10 +102,18 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition = TextFilterCondition | NumberFilterCondition | DateFilterCondition | CheckboxFilterCondition | ListFilterCondition | ContentFilterCondition | FolderFilterCondition | FileNameFilterCondition;
|
||||
type FilterCondition =
|
||||
| TextFilterCondition
|
||||
| NumberFilterCondition
|
||||
| DateFilterCondition
|
||||
| CheckboxFilterCondition
|
||||
| ListFilterCondition
|
||||
| ContentFilterCondition
|
||||
| FolderFilterCondition
|
||||
| FileNameFilterCondition;
|
||||
|
||||
//This matches the Obsidian property types
|
||||
enum PropertyType {
|
||||
|
|
@ -114,14 +122,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -197,8 +205,17 @@ interface ContentFilterRule extends BaseFilterRule {
|
|||
condition: ContentFilterCondition;
|
||||
}
|
||||
|
||||
type FilterRule = PropertyFilterRule | FolderFilterRule | FileNameFilterRule | ContentFilterRule;
|
||||
type PropertyFilterRule = TextPropertyFilterRule | NumberPropertyFilterRule | ListPropertyFilterRule | CheckboxPropertyFilterRule | DatePropertyFilterRule;
|
||||
type FilterRule =
|
||||
| PropertyFilterRule
|
||||
| FolderFilterRule
|
||||
| FileNameFilterRule
|
||||
| ContentFilterRule;
|
||||
type PropertyFilterRule =
|
||||
| TextPropertyFilterRule
|
||||
| NumberPropertyFilterRule
|
||||
| ListPropertyFilterRule
|
||||
| CheckboxPropertyFilterRule
|
||||
| DatePropertyFilterRule;
|
||||
|
||||
interface FilterGroup {
|
||||
id: string;
|
||||
|
|
@ -208,6 +225,17 @@ interface FilterGroup {
|
|||
isSticky: boolean;
|
||||
}
|
||||
|
||||
type SortFilter = "file-name-asc" | "file-name-desc" | "modified-asc" | "modified-desc";
|
||||
type SortFilter =
|
||||
| "file-name-asc"
|
||||
| "file-name-desc"
|
||||
| "modified-asc"
|
||||
| "modified-desc";
|
||||
|
||||
type TimestampFilter = "created-today" | "modified-today" | "created-this-week" | "modified-this-week" | "created-2-weeks" | "modified-2-weeks" | "all";
|
||||
type TimestampFilter =
|
||||
| "created-today"
|
||||
| "modified-today"
|
||||
| "created-this-week"
|
||||
| "modified-this-week"
|
||||
| "created-2-weeks"
|
||||
| "modified-2-weeks"
|
||||
| "all";
|
||||
|
|
|
|||
|
|
@ -8,20 +8,20 @@ export interface VaultExplorerPluginSettings_1_14_2 {
|
|||
custom1: string;
|
||||
custom2: string;
|
||||
custom3: string;
|
||||
},
|
||||
};
|
||||
filters: {
|
||||
search: SearchFilter;
|
||||
favorites: FavoritesFilter;
|
||||
sort: SortFilter;
|
||||
timestamp: TimestampFilter;
|
||||
custom: CustomFilter;
|
||||
},
|
||||
};
|
||||
views: {
|
||||
currentView: ViewType;
|
||||
order: ViewType[];
|
||||
titleWrapping: WordBreak;
|
||||
enableClockUpdates: boolean;
|
||||
}
|
||||
};
|
||||
enableScrollButtons: boolean;
|
||||
pageSize: number;
|
||||
pluginVersion: string | null;
|
||||
|
|
@ -35,12 +35,12 @@ interface SearchFilter {
|
|||
interface FavoritesFilter {
|
||||
isEnabled: boolean;
|
||||
value: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
interface SortFilter {
|
||||
isEnabled: boolean;
|
||||
value: SortFilterOption;
|
||||
};
|
||||
}
|
||||
|
||||
interface TimestampFilter {
|
||||
isEnabled: boolean;
|
||||
|
|
@ -53,15 +53,26 @@ interface CustomFilter {
|
|||
groups: FilterGroup[];
|
||||
}
|
||||
|
||||
type TimestampFilterOption = "created-today" | "modified-today" | "created-this-week" | "modified-this-week" | "created-2-weeks" | "modified-2-weeks" | "all";
|
||||
type TimestampFilterOption =
|
||||
| "created-today"
|
||||
| "modified-today"
|
||||
| "created-this-week"
|
||||
| "modified-this-week"
|
||||
| "created-2-weeks"
|
||||
| "modified-2-weeks"
|
||||
| "all";
|
||||
|
||||
type SortFilterOption = "file-name-asc" | "file-name-desc" | "modified-asc" | "modified-desc";
|
||||
type SortFilterOption =
|
||||
| "file-name-asc"
|
||||
| "file-name-desc"
|
||||
| "modified-asc"
|
||||
| "modified-desc";
|
||||
|
||||
type WordBreak = "normal" | "break-word";
|
||||
|
||||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
LIST = "list"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -74,14 +85,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -92,14 +103,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -109,19 +120,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -130,10 +141,18 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition = TextFilterCondition | NumberFilterCondition | DateFilterCondition | CheckboxFilterCondition | ListFilterCondition | ContentFilterCondition | FolderFilterCondition | FileNameFilterCondition;
|
||||
type FilterCondition =
|
||||
| TextFilterCondition
|
||||
| NumberFilterCondition
|
||||
| DateFilterCondition
|
||||
| CheckboxFilterCondition
|
||||
| ListFilterCondition
|
||||
| ContentFilterCondition
|
||||
| FolderFilterCondition
|
||||
| FileNameFilterCondition;
|
||||
|
||||
//This matches the Obsidian property types
|
||||
enum PropertyType {
|
||||
|
|
@ -142,14 +161,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -225,8 +244,17 @@ interface ContentFilterRule extends BaseFilterRule {
|
|||
condition: ContentFilterCondition;
|
||||
}
|
||||
|
||||
type FilterRule = PropertyFilterRule | FolderFilterRule | FileNameFilterRule | ContentFilterRule;
|
||||
type PropertyFilterRule = TextPropertyFilterRule | NumberPropertyFilterRule | ListPropertyFilterRule | CheckboxPropertyFilterRule | DatePropertyFilterRule;
|
||||
type FilterRule =
|
||||
| PropertyFilterRule
|
||||
| FolderFilterRule
|
||||
| FileNameFilterRule
|
||||
| ContentFilterRule;
|
||||
type PropertyFilterRule =
|
||||
| TextPropertyFilterRule
|
||||
| NumberPropertyFilterRule
|
||||
| ListPropertyFilterRule
|
||||
| CheckboxPropertyFilterRule
|
||||
| DatePropertyFilterRule;
|
||||
|
||||
interface FilterGroup {
|
||||
id: string;
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ type WordBreak = "normal" | "break-word";
|
|||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
FEED = "feed",
|
||||
FEED = "feed"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -88,14 +88,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -106,14 +106,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -123,19 +123,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -144,7 +144,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -164,14 +164,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -182,7 +182,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export interface VaultExplorerPluginSettings_1_2_0 {
|
|||
custom1: string;
|
||||
custom2: string;
|
||||
custom3: string;
|
||||
},
|
||||
};
|
||||
filters: {
|
||||
folder: string;
|
||||
search: string;
|
||||
|
|
@ -16,12 +16,12 @@ export interface VaultExplorerPluginSettings_1_2_0 {
|
|||
properties: {
|
||||
selectedGroupId: string;
|
||||
groups: PropertyFilterGroup[];
|
||||
}
|
||||
},
|
||||
};
|
||||
};
|
||||
views: {
|
||||
currentView: ViewType;
|
||||
order: ViewType[];
|
||||
}
|
||||
};
|
||||
pageSize: number;
|
||||
pluginVersion: string | null;
|
||||
}
|
||||
|
|
@ -29,10 +29,9 @@ export interface VaultExplorerPluginSettings_1_2_0 {
|
|||
export { ViewType as ViewType_1_2_0 };
|
||||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
LIST = "list"
|
||||
}
|
||||
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
||||
enum TextFilterCondition {
|
||||
|
|
@ -43,14 +42,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -61,14 +60,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -76,10 +75,15 @@ enum DateFilterCondition {
|
|||
IS_BEFORE = "is-before",
|
||||
IS_AFTER = "is-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
type FilterCondition = TextFilterCondition | NumberFilterCondition | DateFilterCondition | CheckboxFilterCondition | ListFilterCondition;
|
||||
type FilterCondition =
|
||||
| TextFilterCondition
|
||||
| NumberFilterCondition
|
||||
| DateFilterCondition
|
||||
| CheckboxFilterCondition
|
||||
| ListFilterCondition;
|
||||
|
||||
interface BasePropertyFilter {
|
||||
id: string;
|
||||
|
|
@ -96,7 +100,7 @@ enum PropertyFilterType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
interface TextPropertyFilter extends BasePropertyFilter {
|
||||
|
|
@ -110,12 +114,12 @@ interface NumberPropertyFilter extends BasePropertyFilter {
|
|||
}
|
||||
|
||||
interface ListPropertyFilter extends BasePropertyFilter {
|
||||
type: PropertyFilterType.LIST
|
||||
type: PropertyFilterType.LIST;
|
||||
condition: ListFilterCondition;
|
||||
}
|
||||
|
||||
interface CheckboxPropertyFilter extends BasePropertyFilter {
|
||||
type: PropertyFilterType.CHECKBOX
|
||||
type: PropertyFilterType.CHECKBOX;
|
||||
condition: CheckboxFilterCondition;
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +128,12 @@ interface DatePropertyFilter extends BasePropertyFilter {
|
|||
condition: DateFilterCondition;
|
||||
}
|
||||
|
||||
type PropertyFilter = TextPropertyFilter | NumberPropertyFilter | ListPropertyFilter | CheckboxPropertyFilter | DatePropertyFilter;
|
||||
type PropertyFilter =
|
||||
| TextPropertyFilter
|
||||
| NumberPropertyFilter
|
||||
| ListPropertyFilter
|
||||
| CheckboxPropertyFilter
|
||||
| DatePropertyFilter;
|
||||
|
||||
interface PropertyFilterGroup {
|
||||
id: string;
|
||||
|
|
@ -133,6 +142,17 @@ interface PropertyFilterGroup {
|
|||
isEnabled: boolean;
|
||||
}
|
||||
|
||||
type SortFilter = "file-name-asc" | "file-name-desc" | "modified-asc" | "modified-desc";
|
||||
type SortFilter =
|
||||
| "file-name-asc"
|
||||
| "file-name-desc"
|
||||
| "modified-asc"
|
||||
| "modified-desc";
|
||||
|
||||
type TimestampFilter = "created-today" | "modified-today" | "created-this-week" | "modified-this-week" | "created-2-weeks" | "modified-2-weeks" | "all";
|
||||
type TimestampFilter =
|
||||
| "created-today"
|
||||
| "modified-today"
|
||||
| "created-this-week"
|
||||
| "modified-this-week"
|
||||
| "created-2-weeks"
|
||||
| "modified-2-weeks"
|
||||
| "all";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export interface VaultExplorerPluginSettings_1_2_1 {
|
|||
custom1: string;
|
||||
custom2: string;
|
||||
custom3: string;
|
||||
},
|
||||
};
|
||||
filters: {
|
||||
folder: string;
|
||||
search: string;
|
||||
|
|
@ -16,13 +16,13 @@ export interface VaultExplorerPluginSettings_1_2_1 {
|
|||
properties: {
|
||||
selectedGroupId: string;
|
||||
groups: PropertyFilterGroup[];
|
||||
}
|
||||
},
|
||||
};
|
||||
};
|
||||
views: {
|
||||
currentView: ViewType;
|
||||
order: ViewType[];
|
||||
titleWrapping: WordBreak;
|
||||
}
|
||||
};
|
||||
pageSize: number;
|
||||
pluginVersion: string | null;
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ type WordBreak = "normal" | "break-word";
|
|||
|
||||
enum ViewType {
|
||||
GRID = "grid",
|
||||
LIST = "list",
|
||||
LIST = "list"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -44,14 +44,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -62,14 +62,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -77,10 +77,15 @@ enum DateFilterCondition {
|
|||
IS_BEFORE = "is-before",
|
||||
IS_AFTER = "is-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
type FilterCondition = TextFilterCondition | NumberFilterCondition | DateFilterCondition | CheckboxFilterCondition | ListFilterCondition;
|
||||
type FilterCondition =
|
||||
| TextFilterCondition
|
||||
| NumberFilterCondition
|
||||
| DateFilterCondition
|
||||
| CheckboxFilterCondition
|
||||
| ListFilterCondition;
|
||||
|
||||
interface BasePropertyFilter {
|
||||
id: string;
|
||||
|
|
@ -97,7 +102,7 @@ enum PropertyFilterType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
interface TextPropertyFilter extends BasePropertyFilter {
|
||||
|
|
@ -111,12 +116,12 @@ interface NumberPropertyFilter extends BasePropertyFilter {
|
|||
}
|
||||
|
||||
interface ListPropertyFilter extends BasePropertyFilter {
|
||||
type: PropertyFilterType.LIST
|
||||
type: PropertyFilterType.LIST;
|
||||
condition: ListFilterCondition;
|
||||
}
|
||||
|
||||
interface CheckboxPropertyFilter extends BasePropertyFilter {
|
||||
type: PropertyFilterType.CHECKBOX
|
||||
type: PropertyFilterType.CHECKBOX;
|
||||
condition: CheckboxFilterCondition;
|
||||
}
|
||||
|
||||
|
|
@ -125,7 +130,12 @@ interface DatePropertyFilter extends BasePropertyFilter {
|
|||
condition: DateFilterCondition;
|
||||
}
|
||||
|
||||
type PropertyFilter = TextPropertyFilter | NumberPropertyFilter | ListPropertyFilter | CheckboxPropertyFilter | DatePropertyFilter;
|
||||
type PropertyFilter =
|
||||
| TextPropertyFilter
|
||||
| NumberPropertyFilter
|
||||
| ListPropertyFilter
|
||||
| CheckboxPropertyFilter
|
||||
| DatePropertyFilter;
|
||||
|
||||
interface PropertyFilterGroup {
|
||||
id: string;
|
||||
|
|
@ -134,6 +144,17 @@ interface PropertyFilterGroup {
|
|||
isEnabled: boolean;
|
||||
}
|
||||
|
||||
type SortFilter = "file-name-asc" | "file-name-desc" | "modified-asc" | "modified-desc";
|
||||
type SortFilter =
|
||||
| "file-name-asc"
|
||||
| "file-name-desc"
|
||||
| "modified-asc"
|
||||
| "modified-desc";
|
||||
|
||||
type TimestampFilter = "created-today" | "modified-today" | "created-this-week" | "modified-this-week" | "created-2-weeks" | "modified-2-weeks" | "all";
|
||||
type TimestampFilter =
|
||||
| "created-today"
|
||||
| "modified-today"
|
||||
| "created-this-week"
|
||||
| "modified-this-week"
|
||||
| "created-2-weeks"
|
||||
| "modified-2-weeks"
|
||||
| "all";
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -115,14 +115,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -133,14 +133,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -150,19 +150,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -171,7 +171,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -191,14 +191,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -209,7 +209,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -116,14 +116,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -134,14 +134,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -151,19 +151,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -172,7 +172,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -192,14 +192,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -210,7 +210,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -121,14 +121,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -139,14 +139,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -156,19 +156,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -177,7 +177,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -197,14 +197,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -215,7 +215,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -123,14 +123,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -141,14 +141,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -158,19 +158,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -179,7 +179,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -199,14 +199,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -217,7 +217,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -123,14 +123,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -141,14 +141,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -158,19 +158,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -179,7 +179,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -199,14 +199,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -217,7 +217,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -125,14 +125,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -143,14 +143,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -160,19 +160,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -181,7 +181,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -201,14 +201,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -219,7 +219,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -128,14 +128,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -146,14 +146,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -163,19 +163,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -184,7 +184,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -204,14 +204,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -222,7 +222,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -129,14 +129,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -147,14 +147,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -164,19 +164,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -185,7 +185,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -205,14 +205,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -223,7 +223,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -135,14 +135,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -153,14 +153,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -170,19 +170,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -191,7 +191,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -211,14 +211,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -229,7 +229,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -137,14 +137,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -155,14 +155,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -172,19 +172,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -193,7 +193,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -213,14 +213,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -231,7 +231,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -140,14 +140,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -158,14 +158,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -175,19 +175,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -196,7 +196,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -216,14 +216,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -234,7 +234,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ enum TExplorerView {
|
|||
FEED = "feed",
|
||||
TABLE = "table",
|
||||
RECOMMENDED = "recommended",
|
||||
RELATED = "related",
|
||||
RELATED = "related"
|
||||
}
|
||||
|
||||
type FilterOperator = "and" | "or";
|
||||
|
|
@ -138,14 +138,14 @@ enum TextFilterCondition {
|
|||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ListFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum NumberFilterCondition {
|
||||
|
|
@ -156,14 +156,14 @@ enum NumberFilterCondition {
|
|||
IS_GREATER_OR_EQUAL = "is-greater-or-equal",
|
||||
IS_LESS_OR_EQUAL = "is-less-or-equal",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum CheckboxFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum DateFilterCondition {
|
||||
|
|
@ -173,19 +173,19 @@ enum DateFilterCondition {
|
|||
IS_ON_OR_BEFORE = "is-on-or-before",
|
||||
IS_ON_OR_AFTER = "is-on-or-after",
|
||||
EXISTS = "exists",
|
||||
DOES_NOT_EXIST = "does-not-exist",
|
||||
DOES_NOT_EXIST = "does-not-exist"
|
||||
}
|
||||
|
||||
enum ContentFilterCondition {
|
||||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
IS_EMPTY = "is-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty",
|
||||
IS_NOT_EMPTY = "is-not-empty"
|
||||
}
|
||||
|
||||
enum FolderFilterCondition {
|
||||
IS = "is",
|
||||
IS_NOT = "is-not",
|
||||
IS_NOT = "is-not"
|
||||
}
|
||||
|
||||
enum FileNameFilterCondition {
|
||||
|
|
@ -194,7 +194,7 @@ enum FileNameFilterCondition {
|
|||
CONTAINS = "contains",
|
||||
DOES_NOT_CONTAIN = "does-not-contain",
|
||||
STARTS_WITH = "starts-with",
|
||||
ENDS_WITH = "ends-with",
|
||||
ENDS_WITH = "ends-with"
|
||||
}
|
||||
|
||||
type FilterCondition =
|
||||
|
|
@ -214,14 +214,14 @@ enum PropertyType {
|
|||
LIST = "list",
|
||||
CHECKBOX = "checkbox",
|
||||
DATE = "date",
|
||||
DATETIME = "datetime",
|
||||
DATETIME = "datetime"
|
||||
}
|
||||
|
||||
enum FilterRuleType {
|
||||
PROPERTY = "property",
|
||||
FOLDER = "folder",
|
||||
FILE_NAME = "file-name",
|
||||
CONTENT = "content",
|
||||
CONTENT = "content"
|
||||
}
|
||||
|
||||
enum DatePropertyFilterValue {
|
||||
|
|
@ -232,7 +232,7 @@ enum DatePropertyFilterValue {
|
|||
ONE_WEEK_AGO = "one-week-ago",
|
||||
ONE_MONTH_FROM_NOW = "one-month-from-now",
|
||||
ONE_MONTH_AGO = "one-month-ago",
|
||||
CUSTOM = "custom",
|
||||
CUSTOM = "custom"
|
||||
}
|
||||
|
||||
interface BaseFilterRule {
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue