@univerjs/sheets-ui
Version:
UniverSheet normal ui-plugin-sheets
139 lines (138 loc) • 6.12 kB
TypeScript
import { ICustomRange, IParagraph, IPosition, Nullable, Disposable, IUniverInstanceService } from '@univerjs/core';
import { IBoundRectNoAngle, IDocumentSkeletonDrawing, IMouseEvent, IPointerEvent, IRenderManagerService } from '@univerjs/engine-render';
import { ISheetLocation, ISheetLocationBase } from '@univerjs/sheets';
export interface IHoverCellPosition {
position: IPosition;
/**
* location of cell
*/
location: ISheetLocationBase;
}
export interface ICellWithEvent extends IHoverCellPosition {
event: IMouseEvent | IPointerEvent;
}
export interface ICellPosWithEvent extends ISheetLocationBase {
event: IMouseEvent | IPointerEvent;
}
export interface IHoverRichTextInfo extends IHoverCellPosition {
/**
* active custom range in cell, if cell is rich-text
*/
customRange?: Nullable<ICustomRange>;
/**
* active bullet in cell, if cell is rich-text
*/
bullet?: Nullable<IParagraph>;
/**
* rect of custom-range or bullet
*/
rect?: Nullable<IBoundRectNoAngle>;
drawing?: Nullable<{
drawingId: string;
rect: IBoundRectNoAngle;
drawing: IDocumentSkeletonDrawing;
}>;
}
export interface IHoverRichTextPosition extends ISheetLocationBase {
/**
* active custom range in cell, if cell is rich-text
*/
customRange?: Nullable<ICustomRange>;
/**
* active bullet in cell, if cell is rich-text
*/
bullet?: Nullable<IParagraph>;
/**
* rect of custom-range or bullet
*/
rect?: Nullable<IBoundRectNoAngle>;
drawing?: Nullable<{
drawingId: string;
rect: IBoundRectNoAngle;
drawing: IDocumentSkeletonDrawing;
}>;
event?: IMouseEvent | IPointerEvent;
}
export interface IHoverHeaderPosition {
unitId: string;
subUnitId: string;
index: number;
}
export declare function getLocationBase(location: ISheetLocation): {
unitId: string;
subUnitId: string;
row: number;
col: number;
};
export declare class HoverManagerService extends Disposable {
private readonly _univerInstanceService;
private readonly _renderManagerService;
private _currentCell$;
private _currentRichText$;
private _currentClickedCell$;
private _currentDbClickedCell$;
private _currentCellWithEvent$;
private _currentPointerDownCell$;
private _currentPointerUpCell$;
private _currentHoveredRowHeader$;
private _currentHoveredColHeader$;
private _currentRowHeaderClick$;
private _currentColHeaderClick$;
private _currentRowHeaderDbClick$;
private _currentColHeaderDbClick$;
private _currentRowHeaderPointerDown$;
private _currentColHeaderPointerDown$;
private _currentRowHeaderPointerUp$;
private _currentColHeaderPointerUp$;
currentCell$: import('rxjs').Observable<Nullable<IHoverCellPosition>>;
currentRichTextNoDistinct$: import('rxjs').Observable<void | IHoverRichTextPosition | null | undefined>;
currentRichText$: import('rxjs').Observable<void | IHoverRichTextPosition | null | undefined>;
/**
* Nearly same as currentRichText$, but with event
*/
currentCellPosWithEvent$: import('rxjs').Observable<void | ICellPosWithEvent | null | undefined>;
currentPosition$: import('rxjs').Observable<Nullable<IHoverCellPosition>>;
currentClickedCell$: import('rxjs').Observable<IHoverRichTextInfo>;
currentDbClickedCell$: import('rxjs').Observable<IHoverRichTextInfo>;
currentPointerDownCell$: import('rxjs').Observable<ICellPosWithEvent>;
currentPointerUpCell$: import('rxjs').Observable<ICellPosWithEvent>;
currentHoveredRowHeader$: import('rxjs').Observable<Nullable<IHoverHeaderPosition>>;
currentHoveredColHeader$: import('rxjs').Observable<Nullable<IHoverHeaderPosition>>;
currentRowHeaderClick$: import('rxjs').Observable<IHoverHeaderPosition>;
currentColHeaderClick$: import('rxjs').Observable<IHoverHeaderPosition>;
currentRowHeaderDbClick$: import('rxjs').Observable<IHoverHeaderPosition>;
currentColHeaderDbClick$: import('rxjs').Observable<IHoverHeaderPosition>;
currentRowHeaderPointerDown$: import('rxjs').Observable<IHoverHeaderPosition>;
currentColHeaderPointerDown$: import('rxjs').Observable<IHoverHeaderPosition>;
currentRowHeaderPointerUp$: import('rxjs').Observable<IHoverHeaderPosition>;
currentColHeaderPointerUp$: import('rxjs').Observable<IHoverHeaderPosition>;
constructor(_univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService);
dispose(): void;
private _initCellDisposableListener;
private _getCalcDeps;
private _calcActiveCell;
private _calcActiveRowHeader;
private _calcActiveColHeader;
triggerPointerDown(unitId: string, event: IPointerEvent | IMouseEvent): void;
triggerPointerUp(unitId: string, event: IPointerEvent | IMouseEvent): void;
triggerMouseMove(unitId: string, event: IPointerEvent | IMouseEvent): void;
/**
* Trigger by pointerup.
* @param unitId
* @param offsetX
* @param offsetY
*/
triggerClick(unitId: string, offsetX: number, offsetY: number): void;
triggerDbClick(unitId: string, offsetX: number, offsetY: number): void;
triggerScroll(): void;
triggerRowHeaderClick(unitId: string, offsetX: number, offsetY: number): void;
triggerColHeaderClick(unitId: string, offsetX: number, offsetY: number): void;
triggerRowHeaderDbClick(unitId: string, offsetX: number, offsetY: number): void;
triggerColHeaderDbClick(unitId: string, offsetX: number, offsetY: number): void;
triggerRowHeaderMouseMove(unitId: string, offsetX: number, offsetY: number): void;
triggerColHeaderMouseMove(unitId: string, offsetX: number, offsetY: number): void;
triggerRowHeaderPoniterDown(unitId: string, offsetX: number, offsetY: number): void;
triggerColHeaderPoniterDown(unitId: string, offsetX: number, offsetY: number): void;
triggerRowHeaderPoniterUp(unitId: string, offsetX: number, offsetY: number): void;
triggerColHeaderPoniterUp(unitId: string, offsetX: number, offsetY: number): void;
}