chore: format with prettier

This commit is contained in:
DecafDev 2025-05-02 19:53:09 -06:00
parent 6e68f4e905
commit 4f1bb2c8c1
130 changed files with 1847 additions and 1156 deletions

View file

@ -3,5 +3,5 @@ export default {
info: jest.fn(),
warn: jest.fn(),
error: jest.fn(),
debug: jest.fn(),
debug: jest.fn()
};

View file

@ -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;
}
);

View file

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

View file

@ -3,6 +3,6 @@ module.exports = {
preset: "ts-jest",
testEnvironment: "node",
moduleNameMapper: {
"^src/(.*)$": "<rootDir>/src/$1",
},
"^src/(.*)$": "<rootDir>/src/$1"
}
};

View file

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

View file

@ -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 }
);

View file

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

View file

@ -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"
);
}
}
};

View file

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

View file

@ -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
});
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -16,7 +16,7 @@ export default class CustomFilterModal extends Modal {
const { contentEl } = this;
this.component = new CustomFilterApp({
target: contentEl,
target: contentEl
});
}

View file

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

View file

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

View file

@ -44,7 +44,7 @@ export default class VaultExplorerView extends ItemView {
const containerEl = this.containerEl.children[1];
this.component = new VaultExplorerApp({
target: containerEl,
target: containerEl
});
}

View file

@ -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
}
});
};

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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}`
);
}
}
};

View file

@ -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}`
);
}
};

View file

@ -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}`);
}
}
};

View file

@ -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}`
);
}
};

View file

@ -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}`
);
}
};

View file

@ -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}`);
}
}
};

View file

@ -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}`
);
}
};

View file

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

View file

@ -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) => {

View file

@ -1,7 +1,7 @@
import {
WIKI_LINK_REGEX,
INTERNAL_EMBED_REGEX,
EXTERNAL_EMBED_REGEX,
EXTERNAL_EMBED_REGEX
} from "./constants";
export const getWikiLinkTarget = (value: string) => {

View file

@ -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) => {

View file

@ -14,7 +14,7 @@ export const openInCurrentTab = (
plugin.app.workspace.setActiveLeaf(leaf);
} else {
plugin.app.workspace.openLinkText("", filePath, "tab", {
active: true,
active: true
});
}
};

View file

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

View file

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

View file

@ -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" });
},
}
});
};

View file

@ -6,7 +6,7 @@ const IMAGE_EXTENSIONS = [
"webp",
"svg",
"avif",
"bmp",
"bmp"
];
export const isImageExtension = (extension: string) => {

View file

@ -7,7 +7,7 @@ export const parseItems = <T>(rawData: string): T[] => {
export const stringifyItems = (items: unknown[]) => {
return JSON.stringify(
{
items,
items
},
null,
2

View file

@ -9,7 +9,7 @@ import {
FolderFilterCondition,
ListFilterCondition,
NumberFilterCondition,
TextFilterCondition,
TextFilterCondition
} from "src/types";
export const getDisplayNameForFilterRuleType = (type: FilterRuleType) => {

View file

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

View file

@ -36,7 +36,7 @@ export const loadTextProperties = (
textProperties.push({
name: key,
value: value as string,
value: value as string
});
}
}

View file

@ -83,7 +83,7 @@ export const getEndOfDayMillis = (date: string) => {
hour: 23,
minute: 59,
second: 59,
millisecond: 999,
millisecond: 999
});
return day.valueOf();
};

View file

@ -14,7 +14,7 @@ import {
PropertyType,
TExplorerView,
TextFilterCondition,
type VaultExplorerPluginSettings,
type VaultExplorerPluginSettings
} from "./index";
export function isVaultExplorerPluginSettings(

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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