mirror of
https://github.com/dream-num/univer.git
synced 2026-09-24 15:32:18 +08:00
refactor: remove parameter of onStarting (#2903)
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ export class UniverRPCMainThreadPlugin extends Plugin {
|
||||
super();
|
||||
}
|
||||
|
||||
override async onStarting(injector: Injector): Promise<void> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
[
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
[
|
||||
|
||||
+7
-26
@@ -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<Workbook>,
|
||||
@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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Workbook>,
|
||||
@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<Workbook>(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<ISheetDrawingPosition> {
|
||||
const selections = this._selectionManagerService.getCurrentSelections();
|
||||
const selections = this._workbookSelections.getCurrentSelections();
|
||||
let range: IRange = {
|
||||
startRow: 0,
|
||||
endRow: 0,
|
||||
|
||||
@@ -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));
|
||||
});
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
+2
-2
@@ -104,8 +104,8 @@ function createFilterMutationTestBed(workbookData?: IWorkbookData) {
|
||||
super();
|
||||
}
|
||||
|
||||
override onStarting(injector: Injector): void {
|
||||
injector.add([SheetsFilterService]);
|
||||
override onStarting(): void {
|
||||
this._injector.add([SheetsFilterService]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -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]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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(
|
||||
[
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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(
|
||||
[
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -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 }]);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user