# Operations Class

# Constructors

# constructor

+ new Operations(config: Config, dependencyGraph: DependencyGraph, columnSearch: ColumnSearchStrategy, cellContentParser: CellContentParser, parser: ParserWithCaching, stats: Statistics, lazilyTransformingAstService: LazilyTransformingAstService, namedExpressions: NamedExpressions, arraySizePredictor: ArraySizePredictor): Operations

Defined in src/Operations.ts:160 (opens new window)

Parameters:

Name Type
config Config
dependencyGraph DependencyGraph
columnSearch ColumnSearchStrategy
cellContentParser CellContentParser
parser ParserWithCaching
stats Statistics
lazilyTransformingAstService LazilyTransformingAstService
namedExpressions NamedExpressions
arraySizePredictor ArraySizePredictor

Returns: Operations

# Methods

# addColumns

▸ addColumns(cmd: AddColumnsCommand): void

Defined in src/Operations.ts:203 (opens new window)

Parameters:

Name Type
cmd AddColumnsCommand

Returns: void


# addNamedExpression

▸ addNamedExpression(expressionName: string, expression: RawCellContent, sheetId?: undefined | number, options?: NamedExpressionOptions): void

Defined in src/Operations.ts:420 (opens new window)

Parameters:

Name Type
expressionName string
expression RawCellContent
sheetId? undefined | number
options? NamedExpressionOptions

Returns: void


# addPlaceholderSheetWithId

▸ addPlaceholderSheetWithId(sheetId: number, name: string): void

Defined in src/Operations.ts:253 (opens new window)

Adds a placeholder sheet with a specific ID for undo operations. Used to restore previously merged placeholder sheets.

Note: Unlike addSheetWithId, this does NOT call dependencyGraph.addSheet() because placeholders don't need dirty marking or strategy changes - they only need to exist in the mappings so formulas can reference them again.

Parameters:

Name Type
sheetId number
name string

Returns: void


# addRows

▸ addRows(cmd: AddRowsCommand): void

Defined in src/Operations.ts:197 (opens new window)

Parameters:

Name Type
cmd AddRowsCommand

Returns: void


# addSheet

▸ addSheet(name?: undefined | string): object

Defined in src/Operations.ts:231 (opens new window)

Adds a new sheet to the workbook.

Parameters:

Name Type
name? undefined | string

Returns: object

  • sheetId: number

  • sheetName: string


# addSheetWithId

▸ addSheetWithId(sheetId: number, name: string): void

Defined in src/Operations.ts:240 (opens new window)

Adds a sheet with a specific ID for redo operations.

Parameters:

Name Type
sheetId number
name string

Returns: void


# changeNamedExpressionExpression

▸ changeNamedExpressionExpression(expressionName: string, newExpression: RawCellContent, sheetId?: undefined | number, options?: NamedExpressionOptions): [InternalNamedExpression, ClipboardCell]

Defined in src/Operations.ts:433 (opens new window)

Parameters:

Name Type
expressionName string
newExpression RawCellContent
sheetId? undefined | number
options? NamedExpressionOptions

Returns: [InternalNamedExpression, ClipboardCell]


# clearSheet

▸ clearSheet(sheetId: number): void

Defined in src/Operations.ts:223 (opens new window)

Clears the sheet content.

Parameters:

Name Type
sheetId number

Returns: void


# ensureItIsPossibleToMoveCells

▸ ensureItIsPossibleToMoveCells(sourceLeftCorner: SimpleCellAddress, width: number, height: number, destinationLeftCorner: SimpleCellAddress): void

Defined in src/Operations.ts:466 (opens new window)

Parameters:

Name Type
sourceLeftCorner SimpleCellAddress
width number
height number
destinationLeftCorner SimpleCellAddress

Returns: void


# forceApplyPostponedTransformations

▸ forceApplyPostponedTransformations(): void

Defined in src/Operations.ts:745 (opens new window)

Forces all formula vertices and column index entries to apply pending lazy transformations, bringing them up to the current LazilyTransformingAstService version. Called before undo of move operations and before compaction.

Returns: void


# getAndClearContentChanges

▸ getAndClearContentChanges(): ContentChanges

Defined in src/Operations.ts:734 (opens new window)

Returns: ContentChanges


# getClipboardCell

▸ getClipboardCell(address: SimpleCellAddress): ClipboardCell

Defined in src/Operations.ts:549 (opens new window)

Parameters:

Name Type
address SimpleCellAddress

Returns: ClipboardCell


# getOldContent

▸ getOldContent(address: SimpleCellAddress): [SimpleCellAddress, ClipboardCell]

Defined in src/Operations.ts:530 (opens new window)

Parameters:

Name Type
address SimpleCellAddress

Returns: [SimpleCellAddress, ClipboardCell]


# getRangeClipboardCells

▸ getRangeClipboardCells(range: AbsoluteCellRange): [SimpleCellAddress, ClipboardCell][]

Defined in src/Operations.ts:590 (opens new window)

Parameters:

Name Type
range AbsoluteCellRange

Returns: [SimpleCellAddress, ClipboardCell][]


# getSheetClipboardCells

▸ getSheetClipboardCells(sheet: number): ClipboardCell[][]

Defined in src/Operations.ts:574 (opens new window)

Parameters:

Name Type
sheet number

Returns: ClipboardCell[][]


# moveCells

▸ moveCells(sourceLeftCorner: SimpleCellAddress, width: number, height: number, destinationLeftCorner: SimpleCellAddress): MoveCellsResult

Defined in src/Operations.ts:343 (opens new window)

Parameters:

Name Type
sourceLeftCorner SimpleCellAddress
width number
height number
destinationLeftCorner SimpleCellAddress

Returns: MoveCellsResult


# moveColumns

▸ moveColumns(sheet: number, startColumn: number, numberOfColumns: number, targetColumn: number): number

Defined in src/Operations.ts:324 (opens new window)

Parameters:

Name Type
sheet number
startColumn number
numberOfColumns number
targetColumn number

Returns: number


# moveRows

▸ moveRows(sheet: number, startRow: number, numberOfRows: number, targetRow: number): number

Defined in src/Operations.ts:305 (opens new window)

Parameters:

Name Type
sheet number
startRow number
numberOfRows number
targetRow number

Returns: number


# removeColumns

▸ removeColumns(cmd: RemoveColumnsCommand): ColumnsRemoval[]

Defined in src/Operations.ts:209 (opens new window)

Parameters:

Name Type
cmd RemoveColumnsCommand

Returns: ColumnsRemoval[]


# removeNamedExpression

▸ removeNamedExpression(expressionName: string, sheetId?: undefined | number): [InternalNamedExpression, ClipboardCell]

Defined in src/Operations.ts:447 (opens new window)

Parameters:

Name Type
expressionName string
sheetId? undefined | number

Returns: [InternalNamedExpression, ClipboardCell]


# removeRows

▸ removeRows(cmd: RemoveRowsCommand): RowsRemoval[]

Defined in src/Operations.ts:186 (opens new window)

Parameters:

Name Type
cmd RemoveRowsCommand

Returns: RowsRemoval[]


# removeSheet

▸ removeSheet(sheetId: number): [InternalNamedExpression, ClipboardCell][]

Defined in src/Operations.ts:261 (opens new window)

Removes a sheet from the workbook.

Parameters:

Name Type
sheetId number

Returns: [InternalNamedExpression, ClipboardCell][]


# removeSheetByName

▸ removeSheetByName(sheetName: string): [InternalNamedExpression‹›, ClipboardCell][]

Defined in src/Operations.ts:273 (opens new window)

Removes a sheet from the workbook by name.

Parameters:

Name Type
sheetName string

Returns: [InternalNamedExpression‹›, ClipboardCell][]


# renameSheet

▸ renameSheet(sheetId: number, newName: string): object

Defined in src/Operations.ts:281 (opens new window)

Renames a sheet in the workbook.

Parameters:

Name Type
sheetId number
newName string

Returns: object

  • mergedPlaceholderSheetId? : undefined | number

  • previousDisplayName: Maybe‹string›

  • version? : undefined | number


# restoreCell

▸ restoreCell(address: SimpleCellAddress, clipboardCell: ClipboardCell): void

Defined in src/Operations.ts:509 (opens new window)

Restores a single cell.

Parameters:

Name Type
address SimpleCellAddress
clipboardCell ClipboardCell

Returns: void


# restoreClipboardCells

▸ restoreClipboardCells(sourceSheetId: number, cells: IterableIterator‹[SimpleCellAddress, ClipboardCell]›): string[]

Defined in src/Operations.ts:493 (opens new window)

Parameters:

Name Type
sourceSheetId number
cells IterableIterator‹[SimpleCellAddress, ClipboardCell]›

Returns: string[]


# restoreNamedExpression

▸ restoreNamedExpression(namedExpression: InternalNamedExpression, content: ClipboardCell, sheetId?: undefined | number): void

Defined in src/Operations.ts:426 (opens new window)

Parameters:

Name Type
namedExpression InternalNamedExpression
content ClipboardCell
sheetId? undefined | number

Returns: void


# rowEffectivelyNotInSheet

▸ rowEffectivelyNotInSheet(row: number, sheet: number): boolean

Defined in src/Operations.ts:729 (opens new window)

Returns true if row number is outside of given sheet.

Parameters:

Name Type Description
row number row number
sheet number sheet ID number

Returns: boolean


# setCellContent

▸ setCellContent(address: SimpleCellAddress, newCellContent: RawCellContent): [SimpleCellAddress, ClipboardCell]

Defined in src/Operations.ts:598 (opens new window)

Parameters:

Name Type
address SimpleCellAddress
newCellContent RawCellContent

Returns: [SimpleCellAddress, ClipboardCell]


# setCellEmpty

▸ setCellEmpty(address: SimpleCellAddress): void

Defined in src/Operations.ts:695 (opens new window)

Sets cell content to an empty value. Creates an EmptyCellVertex and updates the dependency graph and column search index.

Parameters:

Name Type
address SimpleCellAddress

Returns: void


# setColumnOrder

▸ setColumnOrder(sheetId: number, columnMapping: [number, number][]): [SimpleCellAddress, ClipboardCell][]

Defined in src/Operations.ts:399 (opens new window)

Parameters:

Name Type
sheetId number
columnMapping [number, number][]

Returns: [SimpleCellAddress, ClipboardCell][]


# setFormulaToCell

▸ setFormulaToCell(address: SimpleCellAddress, size: ArraySize, __namedParameters: object): void

Defined in src/Operations.ts:663 (opens new window)

Sets cell content to a formula. Creates a ScalarFormulaVertex and updates the dependency graph and column search index.

Parameters:

▪ address: SimpleCellAddress

▪ size: ArraySize

▪ __namedParameters: object

Name Type
ast Ast
dependencies RelativeDependency[]
hasStructuralChangeFunction boolean
hasVolatileFunction boolean

Returns: void


# setFormulaToCellFromCache

▸ setFormulaToCellFromCache(formulaHash: string, address: SimpleCellAddress): void

Defined in src/Operations.ts:709 (opens new window)

Parameters:

Name Type
formulaHash string
address SimpleCellAddress

Returns: void


# setParsingErrorToCell

▸ setParsingErrorToCell(rawInput: string, errors: ParsingError[], address: SimpleCellAddress): void

Defined in src/Operations.ts:648 (opens new window)

Sets cell content to an instance of parsing error. Creates a ParsingErrorVertex and updates the dependency graph and column search index.

Parameters:

Name Type
rawInput string
errors ParsingError[]
address SimpleCellAddress

Returns: void


# setRowOrder

▸ setRowOrder(sheetId: number, rowMapping: [number, number][]): [SimpleCellAddress, ClipboardCell][]

Defined in src/Operations.ts:378 (opens new window)

Parameters:

Name Type
sheetId number
rowMapping [number, number][]

Returns: [SimpleCellAddress, ClipboardCell][]


# setSheetContent

▸ setSheetContent(sheetId: number, newSheetContent: RawCellContent[][]): void

Defined in src/Operations.ts:634 (opens new window)

Parameters:

Name Type
sheetId number
newSheetContent RawCellContent[][]

Returns: void


# setValueToCell

▸ setValueToCell(value: RawAndParsedValue, address: SimpleCellAddress): void

Defined in src/Operations.ts:681 (opens new window)

Sets cell content to a value. Creates a ValueCellVertex and updates the dependency graph and column search index.

Parameters:

Name Type
value RawAndParsedValue
address SimpleCellAddress

Returns: void