mirror of
https://github.com/decaf-dev/obsidian-vault-explorer.git
synced 2026-07-22 10:10:31 +00:00
refactor: make PluginEvent an enum
This commit is contained in:
parent
d1392cce95
commit
8fb0ec00d9
8 changed files with 177 additions and 105 deletions
|
|
@ -1,23 +1,24 @@
|
|||
export type PluginEvent =
|
||||
| "file-rename"
|
||||
| "file-create"
|
||||
| "file-delete"
|
||||
| "file-modify"
|
||||
| "metadata-change"
|
||||
| "properties-filter-update"
|
||||
| "folder-rename"
|
||||
| "folder-delete"
|
||||
| "folder-create"
|
||||
| "page-size-setting-change"
|
||||
| "title-wrapping-setting-change"
|
||||
| "property-setting-change"
|
||||
| "device-registration-change"
|
||||
| "clock-updates-setting-change"
|
||||
| "filter-toggle-setting-change"
|
||||
| "scroll-buttons-setting-change"
|
||||
| "view-toggle-setting-change"
|
||||
| "file-icons-setting-change"
|
||||
| "filter-groups-wrapping-setting-change"
|
||||
| "load-social-media-image-setting-change";
|
||||
export enum PluginEvent {
|
||||
FILE_RENAME = "file-rename",
|
||||
FILE_CREATE = "file-create",
|
||||
FILE_DELETE = "file-delete",
|
||||
FILE_MODIFY = "file-modify",
|
||||
METADATA_CHANGE = "metadata-change",
|
||||
PROPERTIES_FILTER_UPDATE = "properties-filter-update",
|
||||
FOLDER_RENAME = "folder-rename",
|
||||
FOLDER_DELETE = "folder-delete",
|
||||
FOLDER_CREATE = "folder-create",
|
||||
PAGE_SIZE_SETTING_CHANGE = "page-size-setting-change",
|
||||
TITLE_WRAPPING_SETTING_CHANGE = "title-wrapping-setting-change",
|
||||
PROPERTY_SETTING_CHANGE = "property-setting-change",
|
||||
DEVICE_REGISTRATION_CHANGE = "device-registration-change",
|
||||
CLOCK_UPDATES_SETTING_CHANGE = "clock-updates-setting-change",
|
||||
FILTER_TOGGLE_SETTING_CHANGE = "filter-toggle-setting-change",
|
||||
SCROLL_BUTTONS_SETTING_CHANGE = "scroll-buttons-setting-change",
|
||||
VIEW_TOGGLE_SETTING_CHANGE = "view-toggle-setting-change",
|
||||
FILE_ICONS_SETTING_CHANGE = "file-icons-setting-change",
|
||||
FILTER_GROUPS_WRAPPING_SETTING_CHANGE = "filter-groups-wrapping-setting-change",
|
||||
LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE = "load-social-media-image-setting-change",
|
||||
}
|
||||
|
||||
export type EventCallback = (...data: unknown[]) => void;
|
||||
|
|
|
|||
35
src/main.ts
35
src/main.ts
|
|
@ -17,6 +17,7 @@ import { formatMessageForLogger, stringToLogLevel } from "./logger";
|
|||
import { moveFocus } from "./focus-utils";
|
||||
import { loadDeviceId } from "./svelte/shared/services/device-id-utils";
|
||||
import License from "./svelte/shared/services/license";
|
||||
import { PluginEvent } from "./event/types";
|
||||
|
||||
export default class VaultExplorerPlugin extends Plugin {
|
||||
settings: VaultExplorerPluginSettings = DEFAULT_SETTINGS;
|
||||
|
|
@ -67,13 +68,13 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
(file: TAbstractFile, oldPath: string) => {
|
||||
if (file instanceof TFolder) {
|
||||
EventManager.getInstance().emit(
|
||||
"folder-rename",
|
||||
PluginEvent.FOLDER_RENAME,
|
||||
oldPath,
|
||||
file
|
||||
);
|
||||
} else if (file instanceof TFile) {
|
||||
EventManager.getInstance().emit(
|
||||
"file-rename",
|
||||
PluginEvent.FILE_RENAME,
|
||||
oldPath,
|
||||
file
|
||||
);
|
||||
|
|
@ -87,9 +88,15 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
this.registerEvent(
|
||||
this.app.vault.on("delete", (file: TAbstractFile) => {
|
||||
if (file instanceof TFolder) {
|
||||
EventManager.getInstance().emit("folder-delete", file.path);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.FOLDER_DELETE,
|
||||
file.path
|
||||
);
|
||||
} else if (file instanceof TFile) {
|
||||
EventManager.getInstance().emit("file-delete", file.path);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.FILE_DELETE,
|
||||
file.path
|
||||
);
|
||||
}
|
||||
})
|
||||
);
|
||||
|
|
@ -103,9 +110,15 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
if (!this.layoutReady) return;
|
||||
|
||||
if (file instanceof TFolder) {
|
||||
EventManager.getInstance().emit("folder-create", file);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.FOLDER_CREATE,
|
||||
file
|
||||
);
|
||||
} else if (file instanceof TFile) {
|
||||
EventManager.getInstance().emit("file-create", file);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.FILE_CREATE,
|
||||
file
|
||||
);
|
||||
}
|
||||
})
|
||||
);
|
||||
|
|
@ -116,7 +129,10 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
this.app.vault.on("modify", (file: TAbstractFile) => {
|
||||
if (file instanceof TFile) {
|
||||
if (file.extension !== "md") return;
|
||||
EventManager.getInstance().emit("file-modify", file);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.FILE_MODIFY,
|
||||
file
|
||||
);
|
||||
}
|
||||
})
|
||||
);
|
||||
|
|
@ -126,7 +142,10 @@ export default class VaultExplorerPlugin extends Plugin {
|
|||
this.registerEvent(
|
||||
this.app.metadataCache.on("changed", (file) => {
|
||||
if (file.extension !== "md") return;
|
||||
EventManager.getInstance().emit("metadata-change", file);
|
||||
EventManager.getInstance().emit(
|
||||
PluginEvent.METADATA_CHANGE,
|
||||
file
|
||||
);
|
||||
})
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { App, PluginSettingTab, Setting } from "obsidian";
|
||||
import { App, Plugin, PluginSettingTab, Setting } from "obsidian";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import {
|
||||
getDropdownOptionsForProperties,
|
||||
|
|
@ -19,6 +19,7 @@ import EventManager from "src/event/event-manager";
|
|||
import LicenseKeyApp from "../svelte/license-key-app/index.svelte";
|
||||
import License from "src/svelte/shared/services/license";
|
||||
import "./styles.css";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
||||
plugin: VaultExplorerPlugin;
|
||||
|
|
@ -64,7 +65,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.titleWrapping = value as WordBreak;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"title-wrapping-setting-change"
|
||||
PluginEvent.TITLE_WRAPPING_SETTING_CHANGE
|
||||
);
|
||||
}
|
||||
);
|
||||
|
|
@ -84,7 +85,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
value as FlexWrap;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-groups-wrapping-setting-change"
|
||||
PluginEvent.FILTER_GROUPS_WRAPPING_SETTING_CHANGE
|
||||
);
|
||||
}
|
||||
);
|
||||
|
|
@ -100,7 +101,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.enableFileIcons = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"file-icons-setting-change"
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -139,7 +140,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.pageSize = parseInt(value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"page-size-setting-change"
|
||||
PluginEvent.PAGE_SIZE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -153,7 +154,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.filters.search.isEnabled = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-toggle-setting-change"
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -168,7 +169,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-toggle-setting-change"
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -183,7 +184,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-toggle-setting-change"
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -195,7 +196,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.filters.sort.isEnabled = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-toggle-setting-change"
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -207,7 +208,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.filters.custom.isEnabled = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"filter-toggle-setting-change"
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -223,7 +224,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.DASHBOARD, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -236,7 +237,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.GRID, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -249,7 +250,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.LIST, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -262,7 +263,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.FEED, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -277,7 +278,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.TABLE, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -295,7 +296,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.RECOMMENDED, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -310,7 +311,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.updateViewOrder(TExplorerView.RELATED, value);
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"view-toggle-setting-change"
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -340,7 +341,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.favorite = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -358,7 +359,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.url = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -376,7 +377,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.imageUrl = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -405,7 +406,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.createdDate = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -434,7 +435,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.modifiedDate = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -452,7 +453,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.custom1 = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -468,7 +469,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.custom2 = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -484,7 +485,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.properties.custom3 = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"property-setting-change"
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -503,7 +504,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
this.plugin.settings.enableClockUpdates = value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"clock-updates-setting-change"
|
||||
PluginEvent.CLOCK_UPDATES_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
@ -542,14 +543,14 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
onClose() {
|
||||
this.component?.$destroy();
|
||||
EventManager.getInstance().off(
|
||||
"device-registration-change",
|
||||
PluginEvent.DEVICE_REGISTRATION_CHANGE,
|
||||
this.renderLoadSocialMediaImageSetting
|
||||
);
|
||||
}
|
||||
|
||||
private setupEventListeners() {
|
||||
EventManager.getInstance().on(
|
||||
"device-registration-change",
|
||||
PluginEvent.DEVICE_REGISTRATION_CHANGE,
|
||||
this.renderLoadSocialMediaImageSetting
|
||||
);
|
||||
}
|
||||
|
|
@ -589,7 +590,7 @@ export default class VaultExplorerSettingsTab extends PluginSettingTab {
|
|||
value;
|
||||
await this.plugin.saveSettings();
|
||||
EventManager.getInstance().emit(
|
||||
"load-social-media-image-setting-change"
|
||||
PluginEvent.LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE
|
||||
);
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
import { removeFrontmatterBlock } from "../services/utils/frontmatter-utils";
|
||||
import Icon from "src/svelte/shared/components/icon.svelte";
|
||||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
export let displayName: string;
|
||||
export let baseName: string;
|
||||
|
|
@ -37,12 +38,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -54,12 +55,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"title-wrapping-setting-change",
|
||||
PluginEvent.TITLE_WRAPPING_SETTING_CHANGE,
|
||||
handleTitleWrappingSettingChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"title-wrapping-setting-change",
|
||||
PluginEvent.TITLE_WRAPPING_SETTING_CHANGE,
|
||||
handleTitleWrappingSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
import Spacer from "src/svelte/shared/components/spacer.svelte";
|
||||
import License from "src/svelte/shared/services/license";
|
||||
import { fetchSocialMediaImage } from "../services/social-media-image";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
export let displayName: string;
|
||||
export let path: string;
|
||||
|
|
@ -74,12 +75,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"load-social-media-image-setting-change",
|
||||
PluginEvent.LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE,
|
||||
handleLoadSocialMediaImageChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"load-social-media-image-setting-change",
|
||||
PluginEvent.LOAD_SOCIAL_MEDIA_IMAGE_SETTING_CHANGE,
|
||||
handleLoadSocialMediaImageChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -91,12 +92,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -108,12 +109,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"title-wrapping-setting-change",
|
||||
PluginEvent.TITLE_WRAPPING_SETTING_CHANGE,
|
||||
handleTitleWrappingSettingChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"title-wrapping-setting-change",
|
||||
PluginEvent.TITLE_WRAPPING_SETTING_CHANGE,
|
||||
handleTitleWrappingSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
import { getIconIdForFile } from "../services/file-icon";
|
||||
import { onMount } from "svelte";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
export let displayName: string;
|
||||
export let baseName: string;
|
||||
|
|
@ -19,6 +20,7 @@
|
|||
|
||||
let enableFileIcons: boolean = false;
|
||||
let plugin: VaultExplorerPlugin;
|
||||
|
||||
store.plugin.subscribe((p) => {
|
||||
plugin = p;
|
||||
enableFileIcons = plugin.settings.enableFileIcons;
|
||||
|
|
@ -30,12 +32,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"file-icons-setting-change",
|
||||
PluginEvent.FILE_ICONS_SETTING_CHANGE,
|
||||
handleFileIconsChange,
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
import IconButton from "../shared/components/icon-button.svelte";
|
||||
import CustomFilterModal from "src/obsidian/custom-filter-modal";
|
||||
import FilterGroupList from "./components/filter-group-list.svelte";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
// ============================================
|
||||
// Variables
|
||||
|
|
@ -191,13 +192,13 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"filter-toggle-setting-change",
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE,
|
||||
handleFilterToggleSettingChange,
|
||||
);
|
||||
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"filter-toggle-setting-change",
|
||||
PluginEvent.FILTER_TOGGLE_SETTING_CHANGE,
|
||||
handleFilterToggleSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -223,7 +224,7 @@
|
|||
updateTimeValues();
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"clock-updates-setting-change",
|
||||
PluginEvent.CLOCK_UPDATES_SETTING_CHANGE,
|
||||
handleClockUpdatesSettingChange,
|
||||
);
|
||||
|
||||
|
|
@ -232,7 +233,7 @@
|
|||
clearInterval(timeValuesUpdateInterval);
|
||||
|
||||
EventManager.getInstance().off(
|
||||
"clock-updates-setting-change",
|
||||
PluginEvent.CLOCK_UPDATES_SETTING_CHANGE,
|
||||
handleClockUpdatesSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -249,12 +250,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"properties-filter-update",
|
||||
PluginEvent.PROPERTIES_FILTER_UPDATE,
|
||||
handlePropertiesFilterUpdate,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"properties-filter-update",
|
||||
PluginEvent.PROPERTIES_FILTER_UPDATE,
|
||||
handlePropertiesFilterUpdate,
|
||||
);
|
||||
};
|
||||
|
|
@ -276,9 +277,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("file-create", handleCreateFile);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FILE_CREATE,
|
||||
handleCreateFile,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("file-create", handleCreateFile);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FILE_CREATE,
|
||||
handleCreateFile,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -298,9 +305,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("file-delete", handleDeleteFile);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FILE_DELETE,
|
||||
handleDeleteFile,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("file-delete", handleDeleteFile);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FILE_DELETE,
|
||||
handleDeleteFile,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -322,9 +335,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("file-rename", handleFileRename);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FILE_RENAME,
|
||||
handleFileRename,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("file-rename", handleFileRename);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FILE_RENAME,
|
||||
handleFileRename,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -343,9 +362,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("file-modify", handleFileModify);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FILE_MODIFY,
|
||||
handleFileModify,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("file-modify", handleFileModify);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FILE_MODIFY,
|
||||
handleFileModify,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -362,10 +387,13 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("metadata-change", handleMetadataChange);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.METADATA_CHANGE,
|
||||
handleMetadataChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"metadata-change",
|
||||
PluginEvent.METADATA_CHANGE,
|
||||
handleMetadataChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -384,12 +412,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"view-toggle-setting-change",
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE,
|
||||
handleViewToggleSettingChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"view-toggle-setting-change",
|
||||
PluginEvent.VIEW_TOGGLE_SETTING_CHANGE,
|
||||
handleViewToggleSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -407,12 +435,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"page-size-setting-change",
|
||||
PluginEvent.PAGE_SIZE_SETTING_CHANGE,
|
||||
handlePageSizeSettingChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"page-size-setting-change",
|
||||
PluginEvent.PAGE_SIZE_SETTING_CHANGE,
|
||||
handlePageSizeSettingChange,
|
||||
);
|
||||
};
|
||||
|
|
@ -429,12 +457,12 @@
|
|||
}
|
||||
|
||||
EventManager.getInstance().on(
|
||||
"property-setting-change",
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE,
|
||||
handlePropertySettingChange,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off(
|
||||
"property-setting-change",
|
||||
PluginEvent.PROPERTY_SETTING_CHANGE,
|
||||
handlePropertySettingChange,
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
<script lang="ts">
|
||||
import { FilterCondition, FilterOperator, FilterRuleType } from "src/types";
|
||||
import FilterRule from "./filter-rule.svelte";
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { TFolder } from "obsidian";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import EventManager from "src/event/event-manager";
|
||||
import { PluginEvent } from "src/event/types";
|
||||
|
||||
export let index: number;
|
||||
export let id: string;
|
||||
|
|
@ -14,6 +20,8 @@
|
|||
let plugin: VaultExplorerPlugin;
|
||||
let folders: string[] = [];
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
store.plugin.subscribe((p) => {
|
||||
plugin = p;
|
||||
|
||||
|
|
@ -45,9 +53,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("folder-rename", handleFolderRename);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FOLDER_RENAME,
|
||||
handleFolderRename,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("folder-rename", handleFolderRename);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FOLDER_RENAME,
|
||||
handleFolderRename,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -59,9 +73,15 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("folder-create", handleFolderCreate);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FOLDER_CREATE,
|
||||
handleFolderCreate,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("folder-create", handleFolderCreate);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FOLDER_CREATE,
|
||||
handleFolderCreate,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -75,19 +95,18 @@
|
|||
}
|
||||
};
|
||||
|
||||
EventManager.getInstance().on("folder-delete", handleDeleteFolder);
|
||||
EventManager.getInstance().on(
|
||||
PluginEvent.FOLDER_DELETE,
|
||||
handleDeleteFolder,
|
||||
);
|
||||
return () => {
|
||||
EventManager.getInstance().off("folder-delete", handleDeleteFolder);
|
||||
EventManager.getInstance().off(
|
||||
PluginEvent.FOLDER_DELETE,
|
||||
handleDeleteFolder,
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
import { createEventDispatcher, onMount } from "svelte";
|
||||
import store from "src/svelte/shared/services/store";
|
||||
import { TFolder } from "obsidian";
|
||||
import VaultExplorerPlugin from "src/main";
|
||||
import EventManager from "src/event/event-manager";
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
function handleValueChange(e: Event) {
|
||||
const value = (e.target as HTMLInputElement).value;
|
||||
dispatch("ruleValueChange", { id, value });
|
||||
|
|
|
|||
Loading…
Reference in a new issue