diff --git a/packages-experimental/uni-formula-ui/src/uni-formula-ui.plugin.ts b/packages-experimental/uni-formula-ui/src/uni-formula-ui.plugin.ts index 9e48dcbe26..afbc25c69c 100644 --- a/packages-experimental/uni-formula-ui/src/uni-formula-ui.plugin.ts +++ b/packages-experimental/uni-formula-ui/src/uni-formula-ui.plugin.ts @@ -24,12 +24,9 @@ export class UniverDocUniFormulaUIPlugin extends Plugin { static override type: UniverInstanceType = UniverInstanceType.UNIVER_DOC; constructor( - config: unknown, + _config: unknown, @Inject(Injector) protected readonly _injector: Injector ) { super(); } - - override onStarting(injector: Injector): void { - } } diff --git a/packages-experimental/uni-formula/src/uni-formula.plugin.ts b/packages-experimental/uni-formula/src/uni-formula.plugin.ts index d3aa83722c..2ac347555f 100644 --- a/packages-experimental/uni-formula/src/uni-formula.plugin.ts +++ b/packages-experimental/uni-formula/src/uni-formula.plugin.ts @@ -25,13 +25,13 @@ export class UniverDocUniFormulaPlugin extends Plugin { static override type: UniverInstanceType = UniverInstanceType.UNIVER_DOC; constructor( - config: unknown, + _config: unknown, @Inject(Injector) protected readonly _injector: Injector ) { super(); } - override onStarting(injector: Injector): void { - injector.add([UniFormulaService]); + override onStarting(): void { + this._injector.add([UniFormulaService]); } } diff --git a/packages-experimental/uniui/src/plugin.ts b/packages-experimental/uniui/src/plugin.ts index de5e80b676..93aa9023c5 100644 --- a/packages-experimental/uniui/src/plugin.ts +++ b/packages-experimental/uniui/src/plugin.ts @@ -95,7 +95,7 @@ export class UniverUniUIPlugin extends Plugin { } } - override onStarting(injector: Injector): void { + override onStarting(): void { const dependencies: Dependency[] = mergeOverrideWithDependencies([ [ComponentManager], [ZIndexManager], @@ -133,6 +133,6 @@ export class UniverUniUIPlugin extends Plugin { useFactory: () => this._injector.createInstance(ShortcutPanelController, this._config), }], ], this._config.override); - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/core/src/services/__tests__/index.ts b/packages/core/src/services/__tests__/index.ts index a8de206540..7a72c8bc93 100644 --- a/packages/core/src/services/__tests__/index.ts +++ b/packages/core/src/services/__tests__/index.ts @@ -61,8 +61,8 @@ export const createTestBed = (dependencies?: Dependency[]) => { super(); } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/core/src/services/plugin/plugin.service.ts b/packages/core/src/services/plugin/plugin.service.ts index f4e65a6665..05a807b779 100644 --- a/packages/core/src/services/plugin/plugin.service.ts +++ b/packages/core/src/services/plugin/plugin.service.ts @@ -23,7 +23,7 @@ import { type UnitType, UniverInstanceType } from '../../common/unit'; import { LifecycleStages } from '../lifecycle/lifecycle'; import { getLifecycleStagesAndBefore, LifecycleInitializerService, LifecycleService } from '../lifecycle/lifecycle.service'; import { ILogService } from '../log/log.service'; -import { DependentOnSymbol, type Plugin, type PluginCtor, PluginRegistry, PluginStore } from './plugin'; +import { DependentOnSymbol, Plugin, type PluginCtor, PluginRegistry, PluginStore } from './plugin'; const INIT_LAZY_PLUGINS_TIMEOUT = 4; @@ -175,6 +175,8 @@ export class PluginHolder extends Disposable { protected _started: boolean = false; get started(): boolean { return this._started; } + private _warnedAboutOnStartingDeprecation = false; + /** Plugin constructors waiting to be initialized. */ protected readonly _pluginRegistry = new PluginRegistry(); /** Stores initialized plugin instances. */ @@ -245,7 +247,7 @@ export class PluginHolder extends Disposable { const exhaustUnregisteredDependents = () => { const NotRegistered = dependents.find((d) => !this._checkPluginRegistered(d)); if (NotRegistered) { - this._logService.warn( + this._logService.debug( '[PluginService]', `plugin "${plugin.pluginName}" depends on "${NotRegistered.pluginName}" which is not registered. Univer will automatically register it with default configuration.` ); @@ -270,12 +272,12 @@ export class PluginHolder extends Disposable { } // Here we should be careful with the sequence of which plugin should run first. We should manually add a queue here. - // Because laterly registered plugins may get executed first. + // Because lately registered plugins may get executed first. protected _pluginsRunLifecycle(plugins: Plugin[]): void { // Let plugins go through already reached lifecycle stages. getLifecycleStagesAndBefore(this._lifecycleService.stage).subscribe((stage) => this._runStage(plugins, stage)); - // Push to the queue for later lifecycles. + // Push to the queue for later lifecycle. this._awaitingPlugins.push(plugins); } @@ -283,6 +285,16 @@ export class PluginHolder extends Disposable { plugins.forEach((p) => { switch (stage) { case LifecycleStages.Starting: + if (p.onStarting.length > 0 && p.onStarting !== Plugin.prototype.onStarting && !this._warnedAboutOnStartingDeprecation) { + this._logService.warn( + '[PluginService]', + p.onStarting.length, + `Plugin "${p.getPluginName()}" is using deprecated "onStarting" method with arguments. Please use "this._injector" instead.` + ); + + this._warnedAboutOnStartingDeprecation = true; + } + p.onStarting(this._injector); break; case LifecycleStages.Ready: diff --git a/packages/core/src/services/plugin/plugin.ts b/packages/core/src/services/plugin/plugin.ts index adc6383f39..d17e2ff57c 100644 --- a/packages/core/src/services/plugin/plugin.ts +++ b/packages/core/src/services/plugin/plugin.ts @@ -36,8 +36,7 @@ export abstract class Plugin extends Disposable { protected abstract _injector: Injector; - // eslint-disable-next-line unused-imports/no-unused-vars - onStarting(injector: Injector): void { + onStarting(_injector?: Injector): void { // empty } diff --git a/packages/data-validation/src/plugin.ts b/packages/data-validation/src/plugin.ts index cda4f0ae37..5e832fb6b4 100644 --- a/packages/data-validation/src/plugin.ts +++ b/packages/data-validation/src/plugin.ts @@ -37,20 +37,13 @@ export class UniverDataValidationPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ - // model [DataValidationModel], - // service [DataValidatorRegistryService], - [DataValidationResourceController], [DataValidationSheetController], - ] as Dependency[]).forEach( - (d) => { - injector.add(d); - } - ); + ] as Dependency[]).forEach((d) => this._injector.add(d)); [ // command diff --git a/packages/debugger/src/debugger-plugin.ts b/packages/debugger/src/debugger-plugin.ts index 320a92d430..d28ce29dab 100644 --- a/packages/debugger/src/debugger-plugin.ts +++ b/packages/debugger/src/debugger-plugin.ts @@ -36,11 +36,11 @@ export class UniverDebuggerPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultDebuggerConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [PerformanceMonitorController], [E2EMemoryController], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); this._injector.add([ DebuggerController, diff --git a/packages/docs-drawing-ui/src/plugin.ts b/packages/docs-drawing-ui/src/plugin.ts index 7d9f8320e6..051863ef18 100644 --- a/packages/docs-drawing-ui/src/plugin.ts +++ b/packages/docs-drawing-ui/src/plugin.ts @@ -43,7 +43,7 @@ export class UniverDocsDrawingUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const dependencies: Dependency[] = [ [DocDrawingUIController], [DocDrawingPopupMenuController], @@ -52,7 +52,7 @@ export class UniverDocsDrawingUIPlugin extends Plugin { [DocRefreshDrawingsService], ]; - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } override onReady(): void { diff --git a/packages/docs-drawing/src/plugin.ts b/packages/docs-drawing/src/plugin.ts index 3dd1d4dc57..6406a3c1c6 100644 --- a/packages/docs-drawing/src/plugin.ts +++ b/packages/docs-drawing/src/plugin.ts @@ -30,7 +30,7 @@ export class UniverDocsDrawingPlugin extends Plugin { super(); } - override onStarting(_injector: Injector): void { + override onStarting(): void { ([ [DocDrawingLoadController], [DocDrawingController], @@ -38,6 +38,6 @@ export class UniverDocsDrawingPlugin extends Plugin { [IDocDrawingService, { useClass: DocDrawingService }], ] as Dependency[ - ]).forEach((dependency) => _injector.add(dependency)); + ]).forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/docs-hyper-link-ui/src/plugin.ts b/packages/docs-hyper-link-ui/src/plugin.ts index b21a76769a..1be51ae646 100644 --- a/packages/docs-hyper-link-ui/src/plugin.ts +++ b/packages/docs-hyper-link-ui/src/plugin.ts @@ -40,7 +40,7 @@ export class UniverDocsHyperLinkUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const deps: Dependency[] = [ [DocHyperLinkPopupService], [DocHyperLinkUIController, @@ -54,7 +54,7 @@ export class UniverDocsHyperLinkUIPlugin extends Plugin { ]; deps.forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } diff --git a/packages/docs-hyper-link/src/plugin.ts b/packages/docs-hyper-link/src/plugin.ts index 2020165623..07cfaa24c8 100644 --- a/packages/docs-hyper-link/src/plugin.ts +++ b/packages/docs-hyper-link/src/plugin.ts @@ -32,7 +32,7 @@ export class UniverDocsHyperLinkPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const deps: Dependency[] = [ [DocHyperLinkModel], [DocHyperLinkController], @@ -40,7 +40,7 @@ export class UniverDocsHyperLinkPlugin extends Plugin { ]; deps.forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } } diff --git a/packages/docs-mention-ui/src/plugin.ts b/packages/docs-mention-ui/src/plugin.ts index 7d1df4cb01..f0a04e9e3a 100644 --- a/packages/docs-mention-ui/src/plugin.ts +++ b/packages/docs-mention-ui/src/plugin.ts @@ -35,7 +35,7 @@ export class UniverDocsMentionUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const deps: Dependency[] = [ [DocMentionPopupService], [DocMentionUIController], @@ -44,7 +44,7 @@ export class UniverDocsMentionUIPlugin extends Plugin { ]; deps.forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } } diff --git a/packages/docs-mention/src/plugin.ts b/packages/docs-mention/src/plugin.ts index 5c835d6606..d52f5c53c7 100644 --- a/packages/docs-mention/src/plugin.ts +++ b/packages/docs-mention/src/plugin.ts @@ -33,7 +33,7 @@ export class UniverDocsMentionPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const deps: Dependency[] = [ [DocMentionModel], [DocMentionService], @@ -42,7 +42,7 @@ export class UniverDocsMentionPlugin extends Plugin { ]; deps.forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } } diff --git a/packages/docs-thread-comment-ui/src/plugin.ts b/packages/docs-thread-comment-ui/src/plugin.ts index 22cd6e86ce..c8b5330a78 100644 --- a/packages/docs-thread-comment-ui/src/plugin.ts +++ b/packages/docs-thread-comment-ui/src/plugin.ts @@ -38,7 +38,7 @@ export class UniverDocsThreadCommentUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [ DocThreadCommentUIController, @@ -50,7 +50,7 @@ export class UniverDocsThreadCommentUIPlugin extends Plugin { [DocThreadCommentService], ] as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } diff --git a/packages/docs/src/commands/commands/__tests__/create-command-test-bed.ts b/packages/docs/src/commands/commands/__tests__/create-command-test-bed.ts index 3c08164885..3bb69ccf46 100644 --- a/packages/docs/src/commands/commands/__tests__/create-command-test-bed.ts +++ b/packages/docs/src/commands/commands/__tests__/create-command-test-bed.ts @@ -110,7 +110,8 @@ export function createCommandTestBed(workbookData?: IDocumentData, dependencies? super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([TextSelectionManagerService]); injector.add([DocStateChangeManagerService]); injector.add([IMEInputManagerService]); diff --git a/packages/docs/src/doc-plugin.ts b/packages/docs/src/doc-plugin.ts index c938b47ce8..865fbe5605 100644 --- a/packages/docs/src/doc-plugin.ts +++ b/packages/docs/src/doc-plugin.ts @@ -64,7 +64,7 @@ export interface IUniverDocsConfig { hasScroll?: boolean; } -const PLUGIN_NAME = 'docs'; +const PLUGIN_NAME = 'DOCS_PLUGIN'; export class UniverDocsPlugin extends Plugin { static override pluginName = PLUGIN_NAME; diff --git a/packages/drawing-ui/src/plugin.ts b/packages/drawing-ui/src/plugin.ts index 6e1f8d1d7a..807991b5a3 100644 --- a/packages/drawing-ui/src/plugin.ts +++ b/packages/drawing-ui/src/plugin.ts @@ -35,11 +35,11 @@ export class UniverDrawingUIPlugin extends Plugin { super(); } - override onStarting(_injector: Injector): void { - this._initDependencies(_injector); + override onStarting(): void { + this._initDependencies(); } - private _initDependencies(injector: Injector): void { + private _initDependencies(): void { const dependencies: Dependency[] = [ // services @@ -51,6 +51,6 @@ export class UniverDrawingUIPlugin extends Plugin { [ImageUpdateController], ]; - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/drawing/src/plugin.ts b/packages/drawing/src/plugin.ts index aa1d5735cc..9c5bfa2d6e 100644 --- a/packages/drawing/src/plugin.ts +++ b/packages/drawing/src/plugin.ts @@ -34,17 +34,17 @@ export class UniverDrawingPlugin extends Plugin { super(); } - override onStarting(_injector: Injector): void { - this._initDependencies(_injector); + override onStarting(): void { + this._initDependencies(); } - private _initDependencies(injector: Injector): void { + private _initDependencies(): void { const dependencies: Dependency[] = [ [IImageIoService, { useClass: ImageIoService }], [IDrawingManagerService, { useClass: DrawingManagerService }], ]; const dependency = mergeOverrideWithDependencies(dependencies, this._config?.override); - dependency.forEach((d) => injector.add(d)); + dependency.forEach((d) => this._injector.add(d)); } } diff --git a/packages/engine-formula/src/engine/analysis/__tests__/create-command-test-bed.ts b/packages/engine-formula/src/engine/analysis/__tests__/create-command-test-bed.ts index 92f4cdf691..71591b840c 100644 --- a/packages/engine-formula/src/engine/analysis/__tests__/create-command-test-bed.ts +++ b/packages/engine-formula/src/engine/analysis/__tests__/create-command-test-bed.ts @@ -244,9 +244,9 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? super(); } - override onStarting(injector: Injector): void { - registerFormulaDependencies(injector); - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + registerFormulaDependencies(this._injector); + dependencies?.forEach((d) => this._injector.add(d)); } override onReady(): void { diff --git a/packages/engine-formula/src/functions/__tests__/create-function-test-bed.ts b/packages/engine-formula/src/functions/__tests__/create-function-test-bed.ts index 5db056efd8..db94152e21 100644 --- a/packages/engine-formula/src/functions/__tests__/create-function-test-bed.ts +++ b/packages/engine-formula/src/functions/__tests__/create-function-test-bed.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/* eslint-disable max-lines-per-function */ + import type { Dependency, IWorkbookData, Workbook } from '@univerjs/core'; import { CellValueType, @@ -147,6 +149,7 @@ const getTestWorkbookData = (): IWorkbookData => { styles: {}, }; }; + export function createFunctionTestBed(workbookData?: IWorkbookData, dependencies?: Dependency[]) { const univer = new Univer(); const injector = univer.__getInjector(); @@ -168,7 +171,8 @@ export function createFunctionTestBed(workbookData?: IWorkbookData, dependencies super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([CalculateFormulaService]); injector.add([Lexer]); injector.add([LexerTreeBuilder]); diff --git a/packages/engine-formula/src/models/__tests__/create-command-test-bed.ts b/packages/engine-formula/src/models/__tests__/create-command-test-bed.ts index e0cc95d41c..d85915e4be 100644 --- a/packages/engine-formula/src/models/__tests__/create-command-test-bed.ts +++ b/packages/engine-formula/src/models/__tests__/create-command-test-bed.ts @@ -67,7 +67,8 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([CalculateFormulaService]); injector.add([FormulaDataModel]); injector.add([LexerTreeBuilder]); diff --git a/packages/facade/src/apis/__tests__/create-test-bed.ts b/packages/facade/src/apis/__tests__/create-test-bed.ts index 35d47f4cd3..25f470e6c8 100644 --- a/packages/facade/src/apis/__tests__/create-test-bed.ts +++ b/packages/facade/src/apis/__tests__/create-test-bed.ts @@ -123,7 +123,8 @@ export function createFacadeTestBed(workbookData?: IWorkbookData, dependencies?: super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([SheetInterceptorService]); injector.add([IRegisterFunctionService, { useClass: RegisterFunctionService }]); diff --git a/packages/facade/src/apis/docs/__tests__/create-test-bed.ts b/packages/facade/src/apis/docs/__tests__/create-test-bed.ts index a217f92f53..d2a5f2da99 100644 --- a/packages/facade/src/apis/docs/__tests__/create-test-bed.ts +++ b/packages/facade/src/apis/docs/__tests__/create-test-bed.ts @@ -72,11 +72,10 @@ export function createTestBed(documentConfig?: IDocumentData, dependencies?: Dep @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([IRenderManagerService, { useClass: RenderManagerService }]); injector.add([TextSelectionManagerService]); injector.add([DocStateChangeManagerService]); diff --git a/packages/facade/src/apis/sheets/__tests__/create-test-bed.ts b/packages/facade/src/apis/sheets/__tests__/create-test-bed.ts index 730493010f..eb1a1ee695 100644 --- a/packages/facade/src/apis/sheets/__tests__/create-test-bed.ts +++ b/packages/facade/src/apis/sheets/__tests__/create-test-bed.ts @@ -79,11 +79,10 @@ export function createTestBed(workbookData?: IWorkbookData, dependencies?: Depen @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([SheetInterceptorService]); injector.add([IRegisterFunctionService, { useClass: RegisterFunctionService }]); diff --git a/packages/find-replace/src/plugin.ts b/packages/find-replace/src/plugin.ts index 7b907eb204..f8b7a8f5c1 100644 --- a/packages/find-replace/src/plugin.ts +++ b/packages/find-replace/src/plugin.ts @@ -36,7 +36,7 @@ export class UniverFindReplacePlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultFindReplaceConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [ FindReplaceController, @@ -47,7 +47,7 @@ export class UniverFindReplacePlugin extends Plugin { [IFindReplaceService, { useClass: FindReplaceService }], ] as Dependency[]).forEach( (d) => { - injector.add(d); + this._injector.add(d); } ); } diff --git a/packages/rpc/src/plugin.ts b/packages/rpc/src/plugin.ts index b71b7f0148..7131c3dcd8 100644 --- a/packages/rpc/src/plugin.ts +++ b/packages/rpc/src/plugin.ts @@ -49,7 +49,7 @@ export class UniverRPCMainThreadPlugin extends Plugin { super(); } - override async onStarting(injector: Injector): Promise { + override onStarting(): void { const { workerURL } = this._config; const worker = workerURL instanceof Worker ? workerURL : new Worker(workerURL); const messageProtocol = createWebWorkerMessagePortOnMain(worker); @@ -64,10 +64,10 @@ export class UniverRPCMainThreadPlugin extends Plugin { [IRemoteSyncService, { useClass: RemoteSyncPrimaryService }], ]; - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); // let DataSyncPrimaryController to be initialized and registering other modules - injector.get(DataSyncPrimaryController); + this._injector.get(DataSyncPrimaryController); } } @@ -86,7 +86,7 @@ export class UniverRPCWorkerThreadPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ( [ [DataSyncReplicaController], @@ -98,8 +98,8 @@ export class UniverRPCWorkerThreadPlugin extends Plugin { ], [IRemoteInstanceService, { useClass: WebWorkerRemoteInstanceService }], ] as Dependency[] - ).forEach((dependency) => injector.add(dependency)); + ).forEach((dependency) => this._injector.add(dependency)); - injector.get(DataSyncReplicaController); + this._injector.get(DataSyncReplicaController); } } diff --git a/packages/sheets-conditional-formatting/src/services/__test__/test.util.ts b/packages/sheets-conditional-formatting/src/services/__test__/test.util.ts index b66fcb5bc4..c442123d2f 100644 --- a/packages/sheets-conditional-formatting/src/services/__test__/test.util.ts +++ b/packages/sheets-conditional-formatting/src/services/__test__/test.util.ts @@ -72,9 +72,9 @@ export const createTestBed = (dependencies?: Dependency[]) => { super(); } - override onStarting(injector: Injector): void { - injector.add([SheetInterceptorService]); - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + this._injector.add([SheetInterceptorService]); + dependencies?.forEach((d) => this._injector.add(d)); } override onReady(): void { diff --git a/packages/sheets-data-validation/src/mobile-plugin.ts b/packages/sheets-data-validation/src/mobile-plugin.ts index ba6d5776f7..36fa0d472a 100644 --- a/packages/sheets-data-validation/src/mobile-plugin.ts +++ b/packages/sheets-data-validation/src/mobile-plugin.ts @@ -55,7 +55,7 @@ export class UniverSheetsDataValidationMobilePlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetsDataValidation, this._config); } - override onStarting(injector: Injector) { + override onStarting() { ([ [DataValidationPanelService], [SheetDataValidationService], @@ -80,7 +80,7 @@ export class UniverSheetsDataValidationMobilePlugin extends Plugin { [DataValidationCopyPasteController], [DataValidationFormulaController], ] as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); [ diff --git a/packages/sheets-data-validation/src/plugin.ts b/packages/sheets-data-validation/src/plugin.ts index c1bf69b974..e0f3db7c6a 100644 --- a/packages/sheets-data-validation/src/plugin.ts +++ b/packages/sheets-data-validation/src/plugin.ts @@ -57,7 +57,7 @@ export class UniverSheetsDataValidationPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetsDataValidation, this._config); } - override onStarting(injector: Injector) { + override onStarting() { ([ [DataValidationPanelService], [SheetDataValidationService], @@ -84,7 +84,7 @@ export class UniverSheetsDataValidationPlugin extends Plugin { [DataValidationFormulaController], [DataValidationRejectInputController], ] as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); [ diff --git a/packages/sheets-drawing-ui/src/controllers/sheet-drawing-transform-affected.controller.ts b/packages/sheets-drawing-ui/src/controllers/sheet-drawing-transform-affected.controller.ts index 6e48b99635..c615c9f6a8 100644 --- a/packages/sheets-drawing-ui/src/controllers/sheet-drawing-transform-affected.controller.ts +++ b/packages/sheets-drawing-ui/src/controllers/sheet-drawing-transform-affected.controller.ts @@ -14,15 +14,15 @@ * limitations under the License. */ -import type { ICommandInfo, IMutationInfo, IRange, Nullable } from '@univerjs/core'; -import { Disposable, ICommandService, Inject, IUniverInstanceService, LifecycleStages, OnLifecycle, Rectangle, UniverInstanceType } from '@univerjs/core'; +import type { ICommandInfo, IMutationInfo, IRange, Nullable, Workbook } from '@univerjs/core'; +import { Disposable, ICommandService, Inject, IUniverInstanceService, Rectangle } from '@univerjs/core'; import { ISheetSelectionRenderService, SheetSkeletonManagerService } from '@univerjs/sheets-ui'; import { type IDrawingJsonUndo1, IDrawingManagerService, type IDrawingParam, type ITransformState } from '@univerjs/drawing'; import type { IInsertColCommandParams, IInsertRowCommandParams, IRemoveRowColCommandParams, ISetColHiddenMutationParams, ISetColVisibleMutationParams, ISetRowHiddenMutationParams, ISetRowVisibleMutationParams, ISetSpecificColsVisibleCommandParams, ISetSpecificRowsVisibleCommandParams, ISetWorksheetActiveOperationParams, ISetWorksheetColWidthMutationParams, ISetWorksheetRowHeightMutationParams, ISetWorksheetRowIsAutoHeightMutationParams } from '@univerjs/sheets'; import { DeleteRangeMoveLeftCommand, DeleteRangeMoveUpCommand, DeltaColumnWidthCommand, DeltaRowHeightCommand, getSheetCommandTarget, InsertColCommand, InsertRangeMoveDownCommand, InsertRangeMoveRightCommand, InsertRowCommand, RemoveColCommand, RemoveRowCommand, SetColHiddenCommand, SetColHiddenMutation, SetColVisibleMutation, SetColWidthCommand, SetRowHeightCommand, SetRowHiddenCommand, SetRowHiddenMutation, SetRowVisibleMutation, SetSpecificColsVisibleCommand, SetSpecificRowsVisibleCommand, SetWorksheetActiveOperation, SetWorksheetColWidthMutation, SetWorksheetRowHeightMutation, SheetInterceptorService } from '@univerjs/sheets'; import type { ISheetDrawing, ISheetDrawingPosition } from '@univerjs/sheets-drawing'; import { DrawingApplyType, ISheetDrawingService, SetDrawingApplyMutation, SheetDrawingAnchorType } from '@univerjs/sheets-drawing'; -import { IRenderManagerService } from '@univerjs/engine-render'; +import type { IRenderContext, IRenderModule } from '@univerjs/engine-render'; import { drawingPositionToTransform, transformToDrawingPosition } from '../basics/transform-position'; import { ClearSheetDrawingTransformerOperation } from '../commands/operations/clear-drawing-transformer.operation'; @@ -61,40 +61,21 @@ const REFRESH_MUTATIONS = [ SetWorksheetColWidthMutation.id, ]; -@OnLifecycle(LifecycleStages.Rendered, SheetDrawingTransformAffectedController) -export class SheetDrawingTransformAffectedController extends Disposable { - // TODO@wzhudev: selection render service would be a render unit, we we cannot - // easily access it here. - private get _selectionRenderService(): ISheetSelectionRenderService { - return this._renderManagerService.getRenderById( - this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET)!.getUnitId() - )!.with(ISheetSelectionRenderService); - } - - private get _skeletonManagerService(): SheetSkeletonManagerService { - return this._renderManagerService.getRenderById( - this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET)!.getUnitId() - )!.with(SheetSkeletonManagerService); - } - +export class SheetDrawingTransformAffectedController extends Disposable implements IRenderModule { constructor( + private readonly _context: IRenderContext, @ICommandService private readonly _commandService: ICommandService, + @ISheetSelectionRenderService private readonly _selectionRenderService: ISheetSelectionRenderService, + @Inject(SheetSkeletonManagerService) private readonly _skeletonManagerService: SheetSkeletonManagerService, @Inject(SheetInterceptorService) private readonly _sheetInterceptorService: SheetInterceptorService, - @IRenderManagerService private readonly _renderManagerService: IRenderManagerService, @ISheetDrawingService private readonly _sheetDrawingService: ISheetDrawingService, @IDrawingManagerService private readonly _drawingManagerService: IDrawingManagerService, @IUniverInstanceService private readonly _univerInstanceService: IUniverInstanceService ) { super(); - this._init(); - } - - private _init(): void { this._sheetInterceptorListener(); - this._commandListener(); - this._sheetRefreshListener(); } diff --git a/packages/sheets-drawing-ui/src/controllers/sheet-drawing-update.controller.ts b/packages/sheets-drawing-ui/src/controllers/sheet-drawing-update.controller.ts index c78d490800..a47d1c07a3 100644 --- a/packages/sheets-drawing-ui/src/controllers/sheet-drawing-update.controller.ts +++ b/packages/sheets-drawing-ui/src/controllers/sheet-drawing-update.controller.ts @@ -15,16 +15,17 @@ */ import type { ICommandInfo, IDrawingSearch, IRange, Nullable, Workbook } from '@univerjs/core'; -import { Disposable, FOCUSING_COMMON_DRAWINGS, ICommandService, IContextService, Inject, IUniverInstanceService, LifecycleStages, LocaleService, OnLifecycle, UniverInstanceType } from '@univerjs/core'; +import { Disposable, FOCUSING_COMMON_DRAWINGS, ICommandService, IContextService, Inject, LocaleService } from '@univerjs/core'; import type { IImageData, IImageIoServiceParam } from '@univerjs/drawing'; import { DRAWING_IMAGE_ALLOW_SIZE, DRAWING_IMAGE_COUNT_LIMIT, DRAWING_IMAGE_HEIGHT_LIMIT, DRAWING_IMAGE_WIDTH_LIMIT, DrawingTypeEnum, getImageSize, IDrawingManagerService, IImageIoService, ImageUploadStatusType } from '@univerjs/drawing'; import type { ISheetDrawing, ISheetDrawingPosition } from '@univerjs/sheets-drawing'; import { ISheetDrawingService } from '@univerjs/sheets-drawing'; +import type { WorkbookSelections } from '@univerjs/sheets'; import { SheetsSelectionsService } from '@univerjs/sheets'; import { attachRangeWithCoord, ISheetSelectionRenderService, SheetSkeletonManagerService } from '@univerjs/sheets-ui'; import { IMessageService } from '@univerjs/ui'; import { MessageType } from '@univerjs/design'; -import { IRenderManagerService } from '@univerjs/engine-render'; +import type { IRenderContext } from '@univerjs/engine-render'; import type { IInsertImageOperationParams } from '../commands/operations/insert-image.operation'; import { InsertCellImageOperation, InsertFloatImageOperation } from '../commands/operations/insert-image.operation'; import { InsertSheetDrawingCommand } from '../commands/commands/insert-sheet-drawing.command'; @@ -36,50 +37,30 @@ import { GroupSheetDrawingCommand } from '../commands/commands/group-sheet-drawi import { UngroupSheetDrawingCommand } from '../commands/commands/ungroup-sheet-drawing.command'; import { drawingPositionToTransform, transformToDrawingPosition } from '../basics/transform-position'; -@OnLifecycle(LifecycleStages.Rendered, SheetDrawingUpdateController) export class SheetDrawingUpdateController extends Disposable { - // TODO@wzhudev: selection render service would be a render unit, we we cannot - // easily access it here. - private get _selectionRenderService(): ISheetSelectionRenderService { - return this._renderManagerService.getRenderById( - this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET)!.getUnitId() - )!.with(ISheetSelectionRenderService); - } - - private get _skeletonManagerService(): SheetSkeletonManagerService { - return this._renderManagerService.getRenderById( - this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET)!.getUnitId() - )!.with(SheetSkeletonManagerService); - } - + private readonly _workbookSelections: WorkbookSelections; constructor( + private readonly _context: IRenderContext, + @Inject(SheetSkeletonManagerService) private readonly _skeletonManagerService: SheetSkeletonManagerService, @ICommandService private readonly _commandService: ICommandService, - @IUniverInstanceService private readonly _univerInstanceService: IUniverInstanceService, - @Inject(SheetsSelectionsService) private readonly _selectionManagerService: SheetsSelectionsService, + @ISheetSelectionRenderService private readonly _selectionRenderService: ISheetSelectionRenderService, @IImageIoService private readonly _imageIoService: IImageIoService, @ISheetDrawingService private readonly _sheetDrawingService: ISheetDrawingService, @IDrawingManagerService private readonly _drawingManagerService: IDrawingManagerService, @IContextService private readonly _contextService: IContextService, @IMessageService private readonly _messageService: IMessageService, @Inject(LocaleService) private readonly _localeService: LocaleService, - @IRenderManagerService private readonly _renderManagerService: IRenderManagerService + @Inject(SheetsSelectionsService) selectionManagerService: SheetsSelectionsService ) { super(); - this._init(); - } + this._workbookSelections = selectionManagerService.getWorkbookSelections(this._context.unitId); - private _init(): void { this._initCommandListeners(); - this._updateImageListener(); - this._updateOrderListener(); - this._groupDrawingListener(); - this._focusDrawingListener(); - this._drawingAddListener(); } @@ -121,7 +102,7 @@ export class SheetDrawingUpdateController extends Disposable { } private async _insertCellImage(file: File) { - + // TODO: empty } private async _insertFloatImage(file: File) { @@ -161,13 +142,7 @@ export class SheetDrawingUpdateController extends Disposable { const { imageId, imageSourceType, source, base64Cache } = imageParam; const { width, height, image } = await getImageSize(base64Cache || ''); - const renderObject = this._renderManagerService.getRenderById(unitId); - - if (renderObject == null) { - return; - } - - const { width: sceneWidth, height: sceneHeight } = renderObject.scene; + const { width: sceneWidth, height: sceneHeight } = this._context.scene; this._imageIoService.addImageSourceCache(source, imageSourceType, image); @@ -202,17 +177,9 @@ export class SheetDrawingUpdateController extends Disposable { } private _getUnitInfo() { - const universheet = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET); - if (universheet == null) { - return; - } - - const worksheet = universheet.getActiveSheet(); - if (worksheet == null) { - return; - } - - const unitId = universheet.getUnitId(); + const workbook = this._context.unit; + const worksheet = workbook.getActiveSheet(); + const unitId = workbook.getUnitId(); const subUnitId = worksheet.getSheetId(); return { @@ -222,7 +189,7 @@ export class SheetDrawingUpdateController extends Disposable { } private _getImagePosition(imageWidth: number, imageHeight: number, sceneWidth: number, sceneHeight: number): Nullable { - const selections = this._selectionManagerService.getCurrentSelections(); + const selections = this._workbookSelections.getCurrentSelections(); let range: IRange = { startRow: 0, endRow: 0, diff --git a/packages/sheets-drawing-ui/src/plugin.ts b/packages/sheets-drawing-ui/src/plugin.ts index 7f17b6b6dd..23b14fc263 100644 --- a/packages/sheets-drawing-ui/src/plugin.ts +++ b/packages/sheets-drawing-ui/src/plugin.ts @@ -50,45 +50,32 @@ export class UniverSheetsDrawingUIPlugin extends Plugin { this._pluginConfig = Tools.deepMerge({}, DefaultSheetsDrawingConfig, config); } - override onStarting(_injector: Injector): void { - super.onStarting(_injector); - this._initDependencies(_injector); + override onStarting(): void { + this._initDependencies(); } override onRendered(): void { this._registerRenderModules(); } - private _initDependencies(injector: Injector): void { + private _initDependencies(): void { const dependencies: Dependency[] = [ - - // services [SheetCanvasFloatDomManagerService], - // controllers - [ - SheetDrawingUIController, - { - useFactory: () => this._injector.createInstance(SheetDrawingUIController, this._pluginConfig), - }, - ], + [SheetDrawingUIController, { + useFactory: () => this._injector.createInstance(SheetDrawingUIController, this._pluginConfig), + }], [DrawingPopupMenuController], [SheetDrawingPrintingController], [SheetDrawingPermissionController], ]; - - const renderModules = [ - SheetDrawingUpdateController, - SheetDrawingTransformAffectedController, - ]; - - dependencies.forEach((dependency) => injector.add(dependency)); - renderModules.forEach((controller) => this._renderManagerService.registerRenderModule(UniverInstanceType.UNIVER_SHEET, controller as unknown as Dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } private _registerRenderModules(): void { ([ + [SheetDrawingUpdateController], + [SheetDrawingTransformAffectedController], [SheetsDrawingCopyPasteController], - ] as Dependency[]).forEach((m) => { this.disposeWithMe(this._renderManagerService.registerRenderModule(UniverInstanceType.UNIVER_SHEET, m)); }); diff --git a/packages/sheets-drawing/src/plugin.ts b/packages/sheets-drawing/src/plugin.ts index 29384a7f85..f712c956f7 100644 --- a/packages/sheets-drawing/src/plugin.ts +++ b/packages/sheets-drawing/src/plugin.ts @@ -30,11 +30,11 @@ export class UniverSheetsDrawingPlugin extends Plugin { super(); } - override onStarting(_injector: Injector): void { + override onStarting(): void { ([ [SheetsDrawingLoadController], [SheetsDrawingController], [ISheetDrawingService, { useClass: SheetDrawingService }], - ] as Dependency[]).forEach((dependency) => _injector.add(dependency)); + ] as Dependency[]).forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/sheets-filter-ui/src/commands/commands/__tests__/sheets-filter.command.spec.ts b/packages/sheets-filter-ui/src/commands/commands/__tests__/sheets-filter.command.spec.ts index d8def4e409..1c07ad21d5 100644 --- a/packages/sheets-filter-ui/src/commands/commands/__tests__/sheets-filter.command.spec.ts +++ b/packages/sheets-filter-ui/src/commands/commands/__tests__/sheets-filter.command.spec.ts @@ -87,7 +87,7 @@ function createFilterCommandTestBed() { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [RefRangeService], [SheetInterceptorService], @@ -99,7 +99,7 @@ function createFilterCommandTestBed() { [WorksheetProtectionRuleModel], [RangeProtectionRuleModel], [IMessageService, { useClass: MockMessageService }], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-filter-ui/src/commands/operations/__tests__/sheets-filter.operation.spec.ts b/packages/sheets-filter-ui/src/commands/operations/__tests__/sheets-filter.operation.spec.ts index 964342c7d2..163c8c8a80 100644 --- a/packages/sheets-filter-ui/src/commands/operations/__tests__/sheets-filter.operation.spec.ts +++ b/packages/sheets-filter-ui/src/commands/operations/__tests__/sheets-filter.operation.spec.ts @@ -72,13 +72,13 @@ function createFilterOperationTestBed() { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetInterceptorService], [SheetsFilterPanelService], [RefRangeService], [SheetsSelectionsService], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-filter-ui/src/controllers/__tests__/sheets-filter.menu.spec.ts b/packages/sheets-filter-ui/src/controllers/__tests__/sheets-filter.menu.spec.ts index 628e3a70f3..4d77b8b389 100644 --- a/packages/sheets-filter-ui/src/controllers/__tests__/sheets-filter.menu.spec.ts +++ b/packages/sheets-filter-ui/src/controllers/__tests__/sheets-filter.menu.spec.ts @@ -15,7 +15,7 @@ */ import type { IWorkbookData } from '@univerjs/core'; -import { AuthzIoLocalService, DisposableCollection, IAuthzIoService, ICommandService, Injector, LocaleType, Plugin, Univer, UniverInstanceType } from '@univerjs/core'; +import { AuthzIoLocalService, DisposableCollection, IAuthzIoService, ICommandService, Inject, Injector, LocaleType, Plugin, Univer, UniverInstanceType } from '@univerjs/core'; import { RangeProtectionRuleModel, RefRangeService, SetWorksheetActiveOperation, SheetInterceptorService, SheetsSelectionsService, WorkbookPermissionService, WorksheetPermissionService, WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from '@univerjs/sheets'; import type { ISetSheetsFilterCriteriaMutationParams, ISetSheetsFilterRangeMutationParams } from '@univerjs/sheets-filter'; import { RemoveSheetsFilterMutation, SetSheetsFilterCriteriaMutation, SetSheetsFilterRangeMutation, UniverSheetsFilterPlugin } from '@univerjs/sheets-filter'; @@ -55,11 +55,15 @@ function createSheetsFilterMenuTestBed() { static override type = UniverInstanceType.UNIVER_SHEET; static override pluginName = 'test-plugin'; - constructor(_config: unknown, override readonly _injector: Injector) { + constructor( + _config: unknown, + @Inject(Injector) override readonly _injector: Injector + ) { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([IPlatformService, { useClass: PlatformService }]); injector.add([RefRangeService]); injector.add([SheetsSelectionsService]); diff --git a/packages/sheets-filter-ui/src/mobile-plugin.ts b/packages/sheets-filter-ui/src/mobile-plugin.ts index c6ae0ed8e7..bdd70e1c71 100644 --- a/packages/sheets-filter-ui/src/mobile-plugin.ts +++ b/packages/sheets-filter-ui/src/mobile-plugin.ts @@ -39,10 +39,10 @@ export class UniverSheetsFilterMobileUIPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetFilterUiConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsFilterPermissionController], [SheetsFilterMobileUIController], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-filter-ui/src/plugin.ts b/packages/sheets-filter-ui/src/plugin.ts index 78d072bf1d..e9b16585dc 100644 --- a/packages/sheets-filter-ui/src/plugin.ts +++ b/packages/sheets-filter-ui/src/plugin.ts @@ -40,7 +40,7 @@ export class UniverSheetsFilterUIPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetFilterUiConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsFilterPanelService], [SheetsFilterPermissionController], @@ -50,6 +50,6 @@ export class UniverSheetsFilterUIPlugin extends Plugin { useFactory: () => this._injector.createInstance(SheetsFilterUIController, this._config), }, ], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-filter-ui/src/services/__tests__/sheets-filter-panel.service.spec.ts b/packages/sheets-filter-ui/src/services/__tests__/sheets-filter-panel.service.spec.ts index 5a45e663d1..ccd588b07b 100644 --- a/packages/sheets-filter-ui/src/services/__tests__/sheets-filter-panel.service.spec.ts +++ b/packages/sheets-filter-ui/src/services/__tests__/sheets-filter-panel.service.spec.ts @@ -50,13 +50,13 @@ function createSheetsFilterPanelServiceTestBed(workbookData: IWorkbookData) { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [RefRangeService], [SheetsSelectionsService], [SheetInterceptorService], [SheetsFilterPanelService], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-filter-ui/src/views/components/SheetsFilterPanel.stories.tsx b/packages/sheets-filter-ui/src/views/components/SheetsFilterPanel.stories.tsx index 4543f71bba..2a5656020b 100644 --- a/packages/sheets-filter-ui/src/views/components/SheetsFilterPanel.stories.tsx +++ b/packages/sheets-filter-ui/src/views/components/SheetsFilterPanel.stories.tsx @@ -58,7 +58,8 @@ function createFilterStorybookBed(workbookData: IWorkbookData, locale: LocaleTyp super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([IShortcutService, { useClass: ShortcutService }]); injector.add([IMenuService, { useClass: MenuService }]); diff --git a/packages/sheets-filter/src/commands/mutations/__tests__/sheets-filter.mutation.spec.ts b/packages/sheets-filter/src/commands/mutations/__tests__/sheets-filter.mutation.spec.ts index 7162123eb5..720f82af83 100644 --- a/packages/sheets-filter/src/commands/mutations/__tests__/sheets-filter.mutation.spec.ts +++ b/packages/sheets-filter/src/commands/mutations/__tests__/sheets-filter.mutation.spec.ts @@ -104,8 +104,8 @@ function createFilterMutationTestBed(workbookData?: IWorkbookData) { super(); } - override onStarting(injector: Injector): void { - injector.add([SheetsFilterService]); + override onStarting(): void { + this._injector.add([SheetsFilterService]); } } diff --git a/packages/sheets-filter/src/models/__tests__/filter-interceptor.spec.ts b/packages/sheets-filter/src/models/__tests__/filter-interceptor.spec.ts index 516dfa756d..6041b3c8ae 100644 --- a/packages/sheets-filter/src/models/__tests__/filter-interceptor.spec.ts +++ b/packages/sheets-filter/src/models/__tests__/filter-interceptor.spec.ts @@ -196,7 +196,9 @@ function createFilterTestUniver(dependencies?: Dependency[], workbookData?: IWor super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; + dependencies?.forEach((d) => injector.add(d)); injector.add([SheetInterceptorService]); diff --git a/packages/sheets-filter/src/plugin.ts b/packages/sheets-filter/src/plugin.ts index 29aceee47e..d5c9f80ac1 100644 --- a/packages/sheets-filter/src/plugin.ts +++ b/packages/sheets-filter/src/plugin.ts @@ -28,10 +28,10 @@ export class UniverSheetsFilterPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsFilterService], [SheetsFilterController], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-find-replace/src/plugin.ts b/packages/sheets-find-replace/src/plugin.ts index d176e4ef9a..8a643f2744 100644 --- a/packages/sheets-find-replace/src/plugin.ts +++ b/packages/sheets-find-replace/src/plugin.ts @@ -34,7 +34,7 @@ export class UniverSheetsFindReplacePlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { - ([[SheetsFindReplaceController]] as Dependency[]).forEach((d) => injector.add(d)); + override onStarting(): void { + ([[SheetsFindReplaceController]] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-formula/src/commands/operations/__tests__/create-command-test-bed.ts b/packages/sheets-formula/src/commands/operations/__tests__/create-command-test-bed.ts index 521ae3ab7f..7dd5ff6f1a 100644 --- a/packages/sheets-formula/src/commands/operations/__tests__/create-command-test-bed.ts +++ b/packages/sheets-formula/src/commands/operations/__tests__/create-command-test-bed.ts @@ -61,11 +61,10 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([ISheetSelectionRenderService, { useClass: SheetSelectionRenderService }]); injector.add([SheetsSelectionsService]); injector.add([LexerTreeBuilder]); diff --git a/packages/sheets-formula/src/controllers/__tests__/create-command-test-bed.ts b/packages/sheets-formula/src/controllers/__tests__/create-command-test-bed.ts index 1f87f53267..ab54855887 100644 --- a/packages/sheets-formula/src/controllers/__tests__/create-command-test-bed.ts +++ b/packages/sheets-formula/src/controllers/__tests__/create-command-test-bed.ts @@ -75,7 +75,8 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([SheetInterceptorService]); injector.add([CalculateFormulaService]); diff --git a/packages/sheets-formula/src/formula-ui-plugin.ts b/packages/sheets-formula/src/formula-ui-plugin.ts index 14196273f1..e2196b71ae 100644 --- a/packages/sheets-formula/src/formula-ui-plugin.ts +++ b/packages/sheets-formula/src/formula-ui-plugin.ts @@ -55,11 +55,11 @@ export class UniverRemoteSheetsFormulaPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { - injector.add([RemoteRegisterFunctionService]); - injector.get(IRPCChannelService).registerChannel( + override onStarting(): void { + this._injector.add([RemoteRegisterFunctionService]); + this._injector.get(IRPCChannelService).registerChannel( RemoteRegisterFunctionServiceName, - fromModule(injector.get(RemoteRegisterFunctionService)) + fromModule(this._injector.get(RemoteRegisterFunctionService)) ); } } diff --git a/packages/sheets-hyper-link-ui/src/plugin.ts b/packages/sheets-hyper-link-ui/src/plugin.ts index db1acdd738..3796584f33 100644 --- a/packages/sheets-hyper-link-ui/src/plugin.ts +++ b/packages/sheets-hyper-link-ui/src/plugin.ts @@ -45,7 +45,7 @@ export class UniverSheetsHyperLinkUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const dependencies: Dependency[] = [ [SheetsHyperLinkResolverService], [SheetsHyperLinkPopupService], @@ -66,7 +66,7 @@ export class UniverSheetsHyperLinkUIPlugin extends Plugin { [SheetHyperLinkUrlController], ]; - dependencies.forEach((dep) => injector.add(dep)); + dependencies.forEach((dep) => this._injector.add(dep)); } override onReady(): void { diff --git a/packages/sheets-hyper-link/src/plugin.ts b/packages/sheets-hyper-link/src/plugin.ts index dda7defa86..4c5cfb0dd7 100644 --- a/packages/sheets-hyper-link/src/plugin.ts +++ b/packages/sheets-hyper-link/src/plugin.ts @@ -35,14 +35,14 @@ export class UniverSheetsHyperLinkPlugin extends Plugin { super(); } - override onStarting(_injector: Injector): void { + override onStarting(): void { ([ [SheetsHyperLinkResourceController], [SheetsHyperLinkController], [SheetsHyperLinkRefRangeController], [HyperLinkModel], ] as Dependency[]).forEach((dep) => { - _injector.add(dep); + this._injector.add(dep); }); } } diff --git a/packages/sheets-numfmt/src/controllers/__tests__/test.util.ts b/packages/sheets-numfmt/src/controllers/__tests__/test.util.ts index 014d1626ea..a012dfbd57 100644 --- a/packages/sheets-numfmt/src/controllers/__tests__/test.util.ts +++ b/packages/sheets-numfmt/src/controllers/__tests__/test.util.ts @@ -61,7 +61,8 @@ export const createTestBed = (dependencies?: Dependency[]) => { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([INumfmtService, { useClass: NumfmtService }]); injector.add([SheetInterceptorService]); injector.add([SheetSkeletonManagerService]); diff --git a/packages/sheets-sort-ui/src/plugin.ts b/packages/sheets-sort-ui/src/plugin.ts index 37a707e23c..529def64b3 100644 --- a/packages/sheets-sort-ui/src/plugin.ts +++ b/packages/sheets-sort-ui/src/plugin.ts @@ -38,12 +38,12 @@ export class UniverSheetsSortUIPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetsSortUIConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsSortUIService], [SheetsSortUIController, { useFactory: () => this._injector.createInstance(SheetsSortUIController, this._config), }], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-sort/src/commands/commands/__tests__/create-command-test-bed.ts b/packages/sheets-sort/src/commands/commands/__tests__/create-command-test-bed.ts index 8d6575608d..399d485b05 100644 --- a/packages/sheets-sort/src/commands/commands/__tests__/create-command-test-bed.ts +++ b/packages/sheets-sort/src/commands/commands/__tests__/create-command-test-bed.ts @@ -135,11 +135,10 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSortService]); injector.add([SheetsSortController]); injector.add([SheetsSelectionsService, { useClass: mockSelectionManagerService as any }]); diff --git a/packages/sheets-sort/src/plugin.ts b/packages/sheets-sort/src/plugin.ts index 5074e3e6e5..1eec295fda 100644 --- a/packages/sheets-sort/src/plugin.ts +++ b/packages/sheets-sort/src/plugin.ts @@ -33,10 +33,10 @@ export class UniverSheetsSortPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsSortController], [SheetsSortService], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets-thread-comment-base/src/plugin.ts b/packages/sheets-thread-comment-base/src/plugin.ts index 8877e05d07..52a978551f 100644 --- a/packages/sheets-thread-comment-base/src/plugin.ts +++ b/packages/sheets-thread-comment-base/src/plugin.ts @@ -34,12 +34,12 @@ export class UniverSheetsThreadCommentBasePlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [SheetsThreadCommentModel], [SheetsThreadCommentRefRangeController], ] as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); } } diff --git a/packages/sheets-thread-comment/src/plugin.ts b/packages/sheets-thread-comment/src/plugin.ts index dc527efc4e..21f7c0718c 100644 --- a/packages/sheets-thread-comment/src/plugin.ts +++ b/packages/sheets-thread-comment/src/plugin.ts @@ -45,7 +45,7 @@ export class UniverSheetsThreadCommentPlugin extends Plugin { this._pluginConfig = Tools.deepMerge({}, DefaultSheetsThreadCommentConfig, config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [ SheetsThreadCommentController, @@ -59,7 +59,7 @@ export class UniverSheetsThreadCommentPlugin extends Plugin { [ThreadCommentRemoveSheetsController], [SheetsThreadCommentPopupService], ] as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); [ShowAddSheetCommentModalOperation].forEach((command) => { diff --git a/packages/sheets-ui/src/commands/commands/__tests__/create-command-test-bed.ts b/packages/sheets-ui/src/commands/commands/__tests__/create-command-test-bed.ts index e32ca879ac..0464a9fed8 100644 --- a/packages/sheets-ui/src/commands/commands/__tests__/create-command-test-bed.ts +++ b/packages/sheets-ui/src/commands/commands/__tests__/create-command-test-bed.ts @@ -105,11 +105,10 @@ export function createCommandTestBed( @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([BorderStyleManagerService]); injector.add([SheetInterceptorService]); diff --git a/packages/sheets-ui/src/controllers/editor/__tests__/create-test-bed.ts b/packages/sheets-ui/src/controllers/editor/__tests__/create-test-bed.ts index e3a6dbe45b..85edd0a439 100644 --- a/packages/sheets-ui/src/controllers/editor/__tests__/create-test-bed.ts +++ b/packages/sheets-ui/src/controllers/editor/__tests__/create-test-bed.ts @@ -54,11 +54,10 @@ export function createTestBed(workbookData?: IWorkbookData, dependencies?: Depen @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([SheetInterceptorService]); dependencies?.forEach((d) => injector.add(d)); diff --git a/packages/sheets-ui/src/controllers/menu/__tests__/create-menu-test-bed.ts b/packages/sheets-ui/src/controllers/menu/__tests__/create-menu-test-bed.ts index 9fe4570b59..f6c093205c 100644 --- a/packages/sheets-ui/src/controllers/menu/__tests__/create-menu-test-bed.ts +++ b/packages/sheets-ui/src/controllers/menu/__tests__/create-menu-test-bed.ts @@ -54,18 +54,15 @@ export function createMenuTestBed() { class TestPlugin extends Plugin { static override pluginName = 'test-plugin'; - protected override _injector: Injector; static override type = UniverInstanceType.UNIVER_SHEET; - constructor(_config: unknown, @Inject(Injector) _injector: Injector) { + constructor(_config: unknown, @Inject(Injector) override readonly _injector: Injector) { super(); - - this._injector = _injector; - // get = this._injector.get.bind(this._injector); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([IPlatformService, { useClass: PlatformService }]); injector.add([SheetsSelectionsService]); injector.add([IShortcutService, { useClass: ShortcutService }]); diff --git a/packages/sheets-ui/src/mobile-sheets-ui-plugin.ts b/packages/sheets-ui/src/mobile-sheets-ui-plugin.ts index d79b2f97a0..a3caa29fdc 100644 --- a/packages/sheets-ui/src/mobile-sheets-ui-plugin.ts +++ b/packages/sheets-ui/src/mobile-sheets-ui-plugin.ts @@ -89,7 +89,7 @@ export class UniverSheetsMobileUIPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetUiConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ( [ // services @@ -133,7 +133,7 @@ export class UniverSheetsMobileUIPlugin extends Plugin { [SheetPermissionInterceptorBaseController], [SheetPermissionInitController], ] as Dependency[] - ).forEach((d) => injector.add(d)); + ).forEach((d) => this._injector.add(d)); this._injector.add( [ diff --git a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-test-bed.ts b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-test-bed.ts index f629541ad9..46b9a3b4d7 100644 --- a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-test-bed.ts +++ b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-test-bed.ts @@ -538,7 +538,8 @@ export function clipboardTestBed(workbookData?: IWorkbookData, dependencies?: De super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([SheetsSelectionsService]); injector.add([IClipboardInterfaceService, { useClass: BrowserClipboardService, lazy: true }]); injector.add([ISheetClipboardService, { useClass: SheetClipboardService }]); diff --git a/packages/sheets-ui/src/sheets-ui-plugin.ts b/packages/sheets-ui/src/sheets-ui-plugin.ts index 9ddbb6acf2..73bd1aa446 100644 --- a/packages/sheets-ui/src/sheets-ui-plugin.ts +++ b/packages/sheets-ui/src/sheets-ui-plugin.ts @@ -99,7 +99,7 @@ export class UniverSheetsUIPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultSheetUiConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ // services [ShortcutExperienceService], @@ -146,7 +146,7 @@ export class UniverSheetsUIPlugin extends Plugin { [SheetPermissionInterceptorBaseController], [SheetPermissionInitController], // [MoveRangeController], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); this._injector.add( [ diff --git a/packages/sheets/src/commands/commands/__tests__/create-command-test-bed.ts b/packages/sheets/src/commands/commands/__tests__/create-command-test-bed.ts index 7bf692af5f..d831c0b725 100644 --- a/packages/sheets/src/commands/commands/__tests__/create-command-test-bed.ts +++ b/packages/sheets/src/commands/commands/__tests__/create-command-test-bed.ts @@ -92,11 +92,10 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([WorksheetPermissionService]); injector.add([WorksheetProtectionPointModel]); injector.add([RangeProtectionRuleModel]); diff --git a/packages/sheets/src/commands/mutations/__tests__/create-command-test-bed.ts b/packages/sheets/src/commands/mutations/__tests__/create-command-test-bed.ts index fae2ef8438..e02391c6da 100644 --- a/packages/sheets/src/commands/mutations/__tests__/create-command-test-bed.ts +++ b/packages/sheets/src/commands/mutations/__tests__/create-command-test-bed.ts @@ -117,12 +117,10 @@ export function createCommandTestBed(workbookData?: IWorkbookData, dependencies? @Inject(Injector) override readonly _injector: Injector ) { super(); - - this._injector = _injector; } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets/src/controllers/__tests__/util.ts b/packages/sheets/src/controllers/__tests__/util.ts index ede5599331..d2970f22cf 100644 --- a/packages/sheets/src/controllers/__tests__/util.ts +++ b/packages/sheets/src/controllers/__tests__/util.ts @@ -60,8 +60,8 @@ export function createTestBase(workbookData?: IWorkbookData, dependencies?: Depe super(); } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets/src/services/__tests__/util.ts b/packages/sheets/src/services/__tests__/util.ts index 36332a5ab3..547e71f736 100644 --- a/packages/sheets/src/services/__tests__/util.ts +++ b/packages/sheets/src/services/__tests__/util.ts @@ -98,8 +98,8 @@ export function createTestBase(workbookData?: IWorkbookData, dependencies?: Depe super(); } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets/src/services/ref-range/__tests__/__testing__.ts b/packages/sheets/src/services/ref-range/__tests__/__testing__.ts index 983dafd612..334ba0f690 100644 --- a/packages/sheets/src/services/ref-range/__tests__/__testing__.ts +++ b/packages/sheets/src/services/ref-range/__tests__/__testing__.ts @@ -74,8 +74,8 @@ export function createTestBase(workbookData?: IWorkbookData, dependencies?: Depe super(); } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/sheets/src/services/sheet-interceptor/__tests__/create-core-test-bed.ts b/packages/sheets/src/services/sheet-interceptor/__tests__/create-core-test-bed.ts index 80d2e89e4c..4b3715d9a0 100644 --- a/packages/sheets/src/services/sheet-interceptor/__tests__/create-core-test-bed.ts +++ b/packages/sheets/src/services/sheet-interceptor/__tests__/create-core-test-bed.ts @@ -57,8 +57,8 @@ export function createCoreTestBed(workbookData?: IWorkbookData, dependencies?: D super(); } - override onStarting(injector: Injector): void { - dependencies?.forEach((d) => injector.add(d)); + override onStarting(): void { + dependencies?.forEach((d) => this._injector.add(d)); } } diff --git a/packages/slides-ui/src/slides-ui-plugin.ts b/packages/slides-ui/src/slides-ui-plugin.ts index 0c826551b3..3317528999 100644 --- a/packages/slides-ui/src/slides-ui-plugin.ts +++ b/packages/slides-ui/src/slides-ui-plugin.ts @@ -40,7 +40,7 @@ export class UniverSlidesUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { ([ [ SlideUIController, @@ -50,7 +50,7 @@ export class UniverSlidesUIPlugin extends Plugin { ], [IImageIoService, { useClass: ImageIoService }], [SlideCanvasPopMangerService], - ] as Dependency[]).forEach((d) => injector.add(d)); + ] as Dependency[]).forEach((d) => this._injector.add(d)); } override onReady(): void { diff --git a/packages/thread-comment-ui/src/plugin.ts b/packages/thread-comment-ui/src/plugin.ts index 558f06c75d..98afb7b585 100644 --- a/packages/thread-comment-ui/src/plugin.ts +++ b/packages/thread-comment-ui/src/plugin.ts @@ -39,12 +39,12 @@ export class UniverThreadCommentUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { (mergeOverrideWithDependencies([ [ThreadCommentPanelService], [IThreadCommentMentionDataService, { useClass: ThreadCommentMentionDataService }], ], this._config?.overrides) as Dependency[]).forEach((dep) => { - injector.add(dep); + this._injector.add(dep); }); [ToggleSheetCommentPanelOperation, SetActiveCommentOperation].forEach((command) => { diff --git a/packages/thread-comment/src/plugin.ts b/packages/thread-comment/src/plugin.ts index 64abe42cc7..f753b79add 100644 --- a/packages/thread-comment/src/plugin.ts +++ b/packages/thread-comment/src/plugin.ts @@ -41,15 +41,14 @@ export class UniverThreadCommentPlugin extends Plugin { this._config = config; } - override onStarting(injector: Injector): void { + override onStarting(): void { (mergeOverrideWithDependencies([ [IThreadCommentDataSourceService, { useClass: ThreadCommentDataSourceService }], [ThreadCommentModel], [ThreadCommentResourceController], - ], this._config?.overrides) as Dependency[]).forEach( (d) => { - injector.add(d); + this._injector.add(d); } ); diff --git a/packages/ui/src/components/menu/mobile/MobileMenu.stories.tsx b/packages/ui/src/components/menu/mobile/MobileMenu.stories.tsx index fb0e0df2a5..723ed60865 100644 --- a/packages/ui/src/components/menu/mobile/MobileMenu.stories.tsx +++ b/packages/ui/src/components/menu/mobile/MobileMenu.stories.tsx @@ -96,7 +96,8 @@ function createMobileMenuStorybookBed() { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; injector.add([IPlatformService, { useClass: PlatformService }]); injector.add([IShortcutService, { useClass: ShortcutService }]); injector.add([IMenuService, { useClass: MenuService }]); diff --git a/packages/ui/src/mobile-ui-plugin.ts b/packages/ui/src/mobile-ui-plugin.ts index ba620dda56..0be879d811 100644 --- a/packages/ui/src/mobile-ui-plugin.ts +++ b/packages/ui/src/mobile-ui-plugin.ts @@ -70,7 +70,7 @@ export class UniverMobileUIPlugin extends Plugin { super(); } - override onStarting(injector: Injector): void { + override onStarting(): void { const dependencies: Dependency[] = mergeOverrideWithDependencies([ [ComponentManager], [ZIndexManager], @@ -115,6 +115,6 @@ export class UniverMobileUIPlugin extends Plugin { [ErrorController], ], this._config.override); - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/ui/src/ui-plugin.ts b/packages/ui/src/ui-plugin.ts index c593c60155..e37aa6f126 100644 --- a/packages/ui/src/ui-plugin.ts +++ b/packages/ui/src/ui-plugin.ts @@ -80,7 +80,7 @@ export class UniverUIPlugin extends Plugin { } } - override onStarting(injector: Injector): void { + override onStarting(): void { const dependencies: Dependency[] = mergeOverrideWithDependencies([ [ComponentManager], [ZIndexManager], @@ -120,6 +120,6 @@ export class UniverUIPlugin extends Plugin { useFactory: () => this._injector.createInstance(ShortcutPanelController, this._config), }], ], this._config.override); - dependencies.forEach((dependency) => injector.add(dependency)); + dependencies.forEach((dependency) => this._injector.add(dependency)); } } diff --git a/packages/uniscript/src/plugin.ts b/packages/uniscript/src/plugin.ts index ebd22f0658..43d7f2759f 100644 --- a/packages/uniscript/src/plugin.ts +++ b/packages/uniscript/src/plugin.ts @@ -38,12 +38,10 @@ export class UniverUniscriptPlugin extends Plugin { this._config = Tools.deepMerge({}, DefaultUniscriptConfig, this._config); } - override onStarting(injector: Injector): void { + override onStarting(): void { + const injector = this._injector; const dependencies: Dependency[] = [ - // controllers [UniscriptController, { useFactory: () => injector.createInstance(UniscriptController, this._config) }], - - // services [ScriptEditorService, { useFactory: () => injector.createInstance(ScriptEditorService, this._config) }], [ScriptPanelService], ];