/** * Copyright 2023-present DreamNum Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { IUniverSheetsUIConfig } from '../../config/config'; import { Disposable, IConfigService, Inject, Injector } from '@univerjs/core'; import { BuiltInUIPart, connectInjector, IUIPartsService } from '@univerjs/ui'; import { SHEETS_UI_PLUGIN_CONFIG_KEY } from '../../config/config'; import { ClipboardPopupMenu } from '../../views/clipboard/ClipboardPopupMenu'; export class SheetClipboardUIController extends Disposable { constructor( @Inject(Injector) injector: Injector, @IConfigService configService: IConfigService, @IUIPartsService uiPartsService: IUIPartsService ) { super(); const config = configService.getConfig(SHEETS_UI_PLUGIN_CONFIG_KEY); if (!config?.clipboardConfig?.hidePasteOptions) { this.disposeWithMe(uiPartsService.registerComponent( BuiltInUIPart.CONTENT, () => connectInjector(ClipboardPopupMenu, injector) )); } } }