refactor: make PluginEvent an enum

This commit is contained in:
DecafDev 2024-07-10 13:42:24 -06:00
parent d1392cce95
commit 8fb0ec00d9
8 changed files with 177 additions and 105 deletions

View file

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

View file

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

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

View file

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

View file

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

View file

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

View file

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

View file

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