UNPKG

@univerjs/sheets-ui

Version:

UniverSheet normal ui-plugin-sheets

61 lines (60 loc) 2.52 kB
import { Workbook, ICommandService, IConfigService, RxDisposable } from '@univerjs/core'; import { IRenderContext, IRenderModule, ISummaryMetric } from '@univerjs/engine-render'; import { ITelemetryService } from '@univerjs/telemetry'; import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service'; import { SheetsRenderService } from '../../services/sheets-render.service'; export interface ITelemetryData { unitId: string; sheetId: string; FPS: ISummaryMetric; frameTime: ISummaryMetric; elapsedTimeToStart: number; } export declare class SheetRenderController extends RxDisposable implements IRenderModule { private readonly _context; private readonly _configService; private readonly _sheetSkeletonManagerService; private readonly _sheetRenderService; private readonly _commandService; private readonly _telemetryService?; private _renderMetric$; renderMetric$: import('rxjs').Observable<ITelemetryData>; constructor(_context: IRenderContext<Workbook>, _configService: IConfigService, _sheetSkeletonManagerService: SheetSkeletonManagerService, _sheetRenderService: SheetsRenderService, _commandService: ICommandService, _telemetryService?: ITelemetryService | undefined); private _addNewRender; private _renderFrameTimeMetric; private _renderFrameTags; private _afterRenderMetric$; private _initRenderMetricSubscriber; /** * Send render metric to telemetry service * @param frameInfoList */ private _captureRenderMetric; private _addComponent; private _initViewports; /** * * initViewport & wheel event * +-----------------+--------------------+-------------------+ * | VIEW_LEFT_TOP | VIEW_COLUMN_LEFT | VIEW_COLUMN_RIGHT | * +-----------------+--------------------+-------------------+ * | VIEW_ROW_TOP | VIEW_MAIN_LEFT_TOP | VIEW_MAIN_TOP | * +-----------------+--------------------+-------------------+ * | VIEW_ROW_BOTTOM | VIEW_MAIN_LEFT | VIEW_MAIN | * +-----------------+--------------------+-------------------+ */ private _addViewport; private _initRerenderScheduler; private _initCommandListener; private _markUnitDirty; /** * cellValue data structure: * {[row]: { [col]: value}} * @param cellValue * @returns IRange */ private _cellValueToRange; private _rangeToBounds; private _markViewportDirty; private _spreadsheetViewports; }