@univerjs/sheets-ui
Version:
Spreadsheet UI layer for Univer Sheets.
48 lines (47 loc) • 2.07 kB
TypeScript
/**
* 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 { IDisposable } from '@univerjs/core';
import type { ISheetLocationBase } from '@univerjs/sheets';
import type { ICanvasPopup } from './canvas-pop-manager.service';
import { Disposable } from '@univerjs/core';
import { SheetCanvasPopManagerService } from './canvas-pop-manager.service';
export interface ICellPopup extends Omit<ICanvasPopup, 'direction' | 'offset' | 'mask'> {
direction?: 'horizontal' | 'vertical';
id?: string;
priority: number;
}
export interface ICellPopupDirectionCache {
popups: ICellPopup[];
disposable?: IDisposable;
}
export interface ICellPopupCache {
horizontal?: ICellPopupDirectionCache;
vertical?: ICellPopupDirectionCache;
}
export interface ICellPopupChange extends ISheetLocationBase {
direction: 'horizontal' | 'vertical';
}
export declare class CellPopupManagerService extends Disposable {
private readonly _sheetCanvasPopManagerService;
private readonly _cellPopupMap;
private readonly _change$;
readonly change$: import("rxjs").Observable<ICellPopupChange>;
constructor(_sheetCanvasPopManagerService: SheetCanvasPopManagerService);
private _ensureCellPopupMap;
showPopup(location: ISheetLocationBase, popup: ICellPopup): IDisposable;
getPopups(unitId: string, subUnitId: string, row: number, col: number, direction: 'horizontal' | 'vertical'): ICellPopup[];
hidePopup(unitId: string, subUnitId: string, row: number, col: number): void;
}