import { PluginSettingsTabComponent } from 'obsidian-dev-utils/obsidian/components/plugin-settings-tab-component'; import { PluginDataHandler } from 'obsidian-dev-utils/obsidian/data-handler'; import { PluginBase } from 'obsidian-dev-utils/obsidian/plugin/plugin'; import { PluginEventSourceImpl } from 'obsidian-dev-utils/obsidian/plugin/plugin-event-source'; import { BacklinkFullPathComponent } from './backlink-full-path-component.ts'; import { PluginSettingsComponent } from './plugin-settings-component.ts'; import { PluginSettingsTab } from './plugin-settings-tab.ts'; export class Plugin extends PluginBase { protected override onloadImpl(): void { const pluginSettingsComponent = this.addChild( new PluginSettingsComponent({ dataHandler: new PluginDataHandler(this), pluginEventSource: new PluginEventSourceImpl(this) }) ); this.addChild( new PluginSettingsTabComponent({ plugin: this, pluginSettingsTab: new PluginSettingsTab({ plugin: this, pluginSettingsComponent }) }) ); this.addChild( new BacklinkFullPathComponent({ app: this.app, pluginSettingsComponent }) ); } }