@ricsam/formula-engine 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/autofill-utils.cjs +68 -2
- package/dist/cjs/core/autofill-utils.cjs.map +3 -3
- package/dist/cjs/core/engine-snapshot.cjs +2 -2
- package/dist/cjs/core/engine-snapshot.cjs.map +3 -3
- package/dist/cjs/core/engine.cjs +89 -5
- package/dist/cjs/core/engine.cjs.map +3 -3
- package/dist/cjs/core/managers/copy-manager.cjs +163 -14
- package/dist/cjs/core/managers/copy-manager.cjs.map +3 -3
- package/dist/cjs/core/managers/named-expression-manager.cjs +18 -16
- package/dist/cjs/core/managers/named-expression-manager.cjs.map +3 -3
- package/dist/cjs/core/managers/range-metadata-manager.cjs +135 -0
- package/dist/cjs/core/managers/range-metadata-manager.cjs.map +10 -0
- package/dist/cjs/core/types.cjs.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/mjs/core/autofill-utils.mjs +68 -2
- package/dist/mjs/core/autofill-utils.mjs.map +3 -3
- package/dist/mjs/core/engine-snapshot.mjs +2 -2
- package/dist/mjs/core/engine-snapshot.mjs.map +3 -3
- package/dist/mjs/core/engine.mjs +89 -5
- package/dist/mjs/core/engine.mjs.map +3 -3
- package/dist/mjs/core/managers/copy-manager.mjs +163 -14
- package/dist/mjs/core/managers/copy-manager.mjs.map +3 -3
- package/dist/mjs/core/managers/named-expression-manager.mjs +18 -16
- package/dist/mjs/core/managers/named-expression-manager.mjs.map +3 -3
- package/dist/mjs/core/managers/range-metadata-manager.mjs +95 -0
- package/dist/mjs/core/managers/range-metadata-manager.mjs.map +10 -0
- package/dist/mjs/core/types.mjs.map +1 -1
- package/dist/mjs/package.json +1 -1
- package/dist/types/core/autofill-utils.d.ts +7 -1
- package/dist/types/core/engine-snapshot.d.ts +4 -2
- package/dist/types/core/engine.d.ts +34 -1
- package/dist/types/core/managers/copy-manager.d.ts +11 -1
- package/dist/types/core/managers/named-expression-manager.d.ts +1 -0
- package/dist/types/core/managers/range-metadata-manager.d.ts +22 -0
- package/dist/types/core/types.d.ts +19 -6
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RangeMetadataManager - Manages arbitrary consumer-defined metadata attached
|
|
3
|
+
* to ranges rather than individual cells.
|
|
4
|
+
*/
|
|
5
|
+
import type { CellAddress, RangeAddress, RangeMetadata, RangeMetadataInput } from "../types";
|
|
6
|
+
import type { RangeMetadataManagerSnapshot } from "../engine-snapshot";
|
|
7
|
+
export declare class RangeMetadataManager<TMetadata = unknown> {
|
|
8
|
+
private rangeMetadata;
|
|
9
|
+
addRangeMetadata(entry: RangeMetadataInput<TMetadata>): string;
|
|
10
|
+
removeRangeMetadata(id: string): boolean;
|
|
11
|
+
getAllRangeMetadata(): RangeMetadata<TMetadata>[];
|
|
12
|
+
getRangeMetadataForCell(cellAddress: CellAddress): RangeMetadata<TMetadata>[];
|
|
13
|
+
getRangeMetadataIntersectingWithRange(range: RangeAddress): RangeMetadata<TMetadata>[];
|
|
14
|
+
clearRangeMetadataInRange(range: RangeAddress): void;
|
|
15
|
+
removeWorkbookRangeMetadata(workbookName: string): void;
|
|
16
|
+
removeSheetRangeMetadata(workbookName: string, sheetName: string): void;
|
|
17
|
+
updateWorkbookName(oldName: string, newName: string): void;
|
|
18
|
+
updateSheetName(workbookName: string, oldSheetName: string, newSheetName: string): void;
|
|
19
|
+
resetRangeMetadata(rangeMetadata?: RangeMetadata<TMetadata>[]): void;
|
|
20
|
+
toSnapshot(): RangeMetadataManagerSnapshot;
|
|
21
|
+
restoreFromSnapshot(snapshot: RangeMetadataManagerSnapshot): void;
|
|
22
|
+
}
|
|
@@ -371,6 +371,16 @@ export interface DirectCellStyle {
|
|
|
371
371
|
areas: RangeAddress[];
|
|
372
372
|
style: CellStyle;
|
|
373
373
|
}
|
|
374
|
+
export interface RangeMetadata<TMetadata = unknown> {
|
|
375
|
+
id: string;
|
|
376
|
+
areas: RangeAddress[];
|
|
377
|
+
metadata: TMetadata;
|
|
378
|
+
}
|
|
379
|
+
export interface RangeMetadataInput<TMetadata = unknown> {
|
|
380
|
+
id?: string;
|
|
381
|
+
areas: RangeAddress[];
|
|
382
|
+
metadata: TMetadata;
|
|
383
|
+
}
|
|
374
384
|
export interface CellStyle {
|
|
375
385
|
backgroundColor?: string;
|
|
376
386
|
color?: string;
|
|
@@ -378,7 +388,9 @@ export interface CellStyle {
|
|
|
378
388
|
bold?: boolean;
|
|
379
389
|
italic?: boolean;
|
|
380
390
|
underline?: boolean;
|
|
391
|
+
wrapText?: boolean;
|
|
381
392
|
}
|
|
393
|
+
export type CopyCellsIncludePart = "content" | "style" | "cellMetadata" | "rangeMetadata";
|
|
382
394
|
export interface CopyCellsOptions {
|
|
383
395
|
/**
|
|
384
396
|
* Whether this is a cut operation (clears source cells after copying)
|
|
@@ -387,18 +399,19 @@ export interface CopyCellsOptions {
|
|
|
387
399
|
cut?: boolean;
|
|
388
400
|
/**
|
|
389
401
|
* What to include in the copy operation.
|
|
390
|
-
* - Use 'all' as shorthand for ['content', 'style', '
|
|
402
|
+
* - Use 'all' as shorthand for ['content', 'style', 'cellMetadata', 'rangeMetadata']
|
|
391
403
|
* - Use array for fine-grained control over what to copy:
|
|
392
404
|
* - ['content'] - copy only values/formulas
|
|
393
405
|
* - ['style'] - copy only formatting
|
|
394
|
-
* - ['
|
|
406
|
+
* - ['cellMetadata'] - copy only cell metadata (rich text, links, etc.)
|
|
407
|
+
* - ['rangeMetadata'] - copy only range metadata
|
|
395
408
|
* - ['content', 'style'] - copy content and formatting
|
|
396
|
-
* - ['content', '
|
|
397
|
-
* - ['style', '
|
|
398
|
-
* - ['content', 'style', '
|
|
409
|
+
* - ['content', 'cellMetadata'] - copy content and cell metadata
|
|
410
|
+
* - ['style', 'rangeMetadata'] - copy formatting and range metadata
|
|
411
|
+
* - ['content', 'style', 'cellMetadata', 'rangeMetadata'] - same as 'all'
|
|
399
412
|
* @default 'all'
|
|
400
413
|
*/
|
|
401
|
-
include?: "all" |
|
|
414
|
+
include?: "all" | CopyCellsIncludePart[];
|
|
402
415
|
/**
|
|
403
416
|
* The type of the content to copy
|
|
404
417
|
* value: Copy the value from the source to the target,
|