From 470622743c227b95cdc16122477b6a070e4baf2f Mon Sep 17 00:00:00 2001 From: "Gpound.liu" <141617023+Gggpound@users.noreply.github.com> Date: Sat, 15 Jun 2024 15:33:06 +0800 Subject: [PATCH] feat(conditional-formatting): separate the initialization logic for UI and core components (#2530) --- .../src/controllers/cf.menu.controller.ts | 1 + .../src/plugin.ts | 24 +++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/sheets-conditional-formatting-ui/src/controllers/cf.menu.controller.ts b/packages/sheets-conditional-formatting-ui/src/controllers/cf.menu.controller.ts index cb956835af..a727d42fbd 100644 --- a/packages/sheets-conditional-formatting-ui/src/controllers/cf.menu.controller.ts +++ b/packages/sheets-conditional-formatting-ui/src/controllers/cf.menu.controller.ts @@ -25,6 +25,7 @@ import { ConditionFormattingPanel } from '../components/panel'; export interface IUniverSheetsConditionalFormattingUIConfig { menu: MenuConfig; + skipConditionalFormattingCore?: boolean; } export const DefaultSheetConditionalFormattingUiConfig = {}; diff --git a/packages/sheets-conditional-formatting-ui/src/plugin.ts b/packages/sheets-conditional-formatting-ui/src/plugin.ts index 70b8a5ac81..765ef7707f 100644 --- a/packages/sheets-conditional-formatting-ui/src/plugin.ts +++ b/packages/sheets-conditional-formatting-ui/src/plugin.ts @@ -46,7 +46,7 @@ import { ConditionalFormattingClearController } from './controllers/cf.clear.con import { ConditionalFormattingPermissionController } from './controllers/cf.permission.controller'; export class UniverSheetsConditionalFormattingUIPlugin extends Plugin { - static override pluginName = SHEET_CONDITIONAL_FORMATTING_PLUGIN; + static override pluginName = `${SHEET_CONDITIONAL_FORMATTING_PLUGIN}_UI`; static override type = UniverInstanceType.UNIVER_SHEET; static commandList = [ @@ -69,17 +69,21 @@ export class UniverSheetsConditionalFormattingUIPlugin extends Plugin { ]; constructor( - private readonly _config: Partial = {}, + private readonly _config: Partial = { + }, @Inject(Injector) override readonly _injector: Injector, @Inject(ICommandService) private _commandService: ICommandService ) { super(); this._config = Tools.deepMerge({}, DefaultSheetConditionalFormattingUiConfig, this._config); - + const skipConditionalFormattingCore = this._config.skipConditionalFormattingCore ?? false; this._initCommand(); - SheetsConditionalFormattingPlugin.dependencyList.forEach((dependency) => { - this._injector.add(dependency); - }); + if (!skipConditionalFormattingCore) { + SheetsConditionalFormattingPlugin.dependencyList.forEach((dependency) => { + this._injector.add(dependency); + }); + } + this._injector.add([SheetsCfRenderController]); this._injector.add([SheetsCfRefRangeController]); this._injector.add([ConditionalFormattingCopyPasteController]); @@ -97,7 +101,13 @@ export class UniverSheetsConditionalFormattingUIPlugin extends Plugin { } _initCommand() { - [...SheetsConditionalFormattingPlugin.mutationList, ...UniverSheetsConditionalFormattingUIPlugin.commandList].forEach((m) => { + const skipConditionalFormattingCore = this._config.skipConditionalFormattingCore ?? false; + if (!skipConditionalFormattingCore) { + SheetsConditionalFormattingPlugin.mutationList.forEach((m) => { + this._commandService.registerCommand(m); + }); + } + [...UniverSheetsConditionalFormattingUIPlugin.commandList].forEach((m) => { this._commandService.registerCommand(m); }); }