UNPKG

@univerjs-pro/engine-formula

Version:

Performance-enhanced formula engine plugin for Univer Pro.

50 lines (49 loc) 3.72 kB
import type { IUnitRange } from '@univerjs/core'; import type { FormulaDependencyTree, IDirtyUnitFeatureMap, IDirtyUnitOtherFormulaMap, IDirtyUnitSheetNameMap, IFormulaDependencyTree } from '@univerjs/engine-formula'; import type { DynamicResolver, ICalcNodeRef, ICompressedSharedFormulaGroup } from '../engine/dependency-engine'; import { DependencyManagerBaseService } from '@univerjs/engine-formula'; export declare class DependencyManagerProService extends DependencyManagerBaseService { private _dependencyEngineCache; reset(): void; private _getCellIdsAndRanges; private _getDynamicDeps; addOtherFormulaDependencyPro(unitId: string, sheetId: string, formulaId: string, dependencyTree: IFormulaDependencyTree, featureNodes?: ICalcNodeRef[], mode?: 'replace' | 'merge'): number; removeOtherFormulaDependency(unitId: string, sheetId: string, formulaIds: string[]): void; clearOtherFormulaDependency(unitId: string, sheetId?: string): void; getOtherFormulaDependencyPro(unitId: string, sheetId: string, formulaId: string, refOffsetX: number, refOffsetY: number): number | undefined; addFeatureFormulaDependencyPro(unitId: string, sheetId: string, featureId: string, dependencyTree: FormulaDependencyTree): number; removeFeatureFormulaDependency(unitId: string, sheetId: string, featureIds: string[]): void; clearFeatureFormulaDependency(unitId: string, sheetId?: string): void; getFeatureFormulaDependencyPro(unitId: string, sheetId: string, featureId: string): number | undefined; getFeatureFormulaDependencyNodePro(unitId: string, sheetId: string, featureId: string): ICalcNodeRef; addFormulaDependencyPro(unitId: string, sheetId: string, row: number, column: number, dependencyTree: IFormulaDependencyTree, featureNodes?: ICalcNodeRef[], mode?: 'replace' | 'merge'): number; addFormulaDependencyNodeOnlyPro(unitId: string, sheetId: string, row: number, column: number): number; registerCompressedSharedFormulaGroup(group: ICompressedSharedFormulaGroup): void; clearCompressedSharedFormulaGroups(unitId?: string, sheetId?: string): void; removeFormulaDependency(unitId: string, sheetId: string, row: number, column: number): void; clearFormulaDependency(unitId: string, sheetId?: string): void; getFormulaDependencyPro(unitId: string, sheetId: string, row: number, column: number): number | undefined; markIndicesChanged(indices: number[], options?: { onlySelf?: boolean; }): void; markRangesChanged(ranges: IUnitRange[], options?: { includeFormulaCells?: boolean; coalesce?: boolean; }): void; markDirtyFeatureCalculations(dirtyFeatureMap: IDirtyUnitFeatureMap): void; markDirtyOtherFormulas(dirtyOtherFormulaMap: IDirtyUnitOtherFormulaMap): void; markDirtySheetNames(dirtyNameMap: IDirtyUnitSheetNameMap): void; markAllDirty(): void; clearCalculatedDirty(indices: number[]): void; hasDynamicDeps(node: ICalcNodeRef): boolean; hasDynamicDepsByIndex(nodeIndex: number): boolean; refreshDynamicDeps(node: ICalcNodeRef, resolver: DynamicResolver): boolean; refreshDynamicDepsByIndex(nodeIndex: number, resolver: DynamicResolver): boolean; hasUncalculatedDirtyPrecedentByIndex(nodeIndex: number, calculatedNodeIndices: ReadonlySet<number>): boolean; forEachPrecedentNodeByIndex(nodeIndex: number, cb: (precedentNodeIndex: number) => void): void; forEachDependentNodeByIndex(nodeIndex: number, cb: (dependentNodeIndex: number) => void): void; prepareDynamicDependencies(resolver: DynamicResolver): boolean; getCalculationOrder(options?: { detectCycles?: boolean; }): import("../engine/dependency-engine").ICalculationOrderResult; }