sheetnext 0.2.4 → 0.2.5
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/README.md +18 -11
- package/README_CN.md +18 -10
- package/dist/sheetnext.css +1 -1
- package/dist/sheetnext.es.js +20 -20
- package/dist/sheetnext.locale.zh-CN.es.js +20 -20
- package/dist/sheetnext.locale.zh-CN.umd.js +20 -20
- package/dist/sheetnext.umd.js +20 -20
- package/docs/core-api.md +236 -63
- package/docs/enums.md +1 -1
- package/docs/events.md +16 -6
- package/docs/recipes.md +56 -0
- package/package.json +58 -58
package/docs/core-api.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Core API
|
|
2
2
|
|
|
3
|
-
> Generated: 2026-
|
|
3
|
+
> Generated: 2026-04-27
|
|
4
4
|
|
|
5
5
|
Public callable classes detected for the generated API surface.
|
|
6
6
|
|
|
@@ -126,13 +126,16 @@ budgetSheet.getCell('A1').value = 'Month';
|
|
|
126
126
|
budgetSheet.getCell('B1').value = 'Amount';
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
-
#### `delSheet(name)`
|
|
129
|
+
#### `delSheet(name): boolean | void`
|
|
130
130
|
|
|
131
131
|
**Parameters**
|
|
132
132
|
| Name | Type | Required | Default | Description |
|
|
133
133
|
| --- | --- | --- | --- | --- |
|
|
134
134
|
| name | string | Yes | - | - |
|
|
135
135
|
|
|
136
|
+
**Returns**
|
|
137
|
+
- Type: `boolean | void`
|
|
138
|
+
|
|
136
139
|
#### `getSheet(sheetName): Sheet | null`
|
|
137
140
|
|
|
138
141
|
**Parameters**
|
|
@@ -151,6 +154,17 @@ if (sheet) {
|
|
|
151
154
|
}
|
|
152
155
|
```
|
|
153
156
|
|
|
157
|
+
#### `moveSheet(sheetOrName, targetIndex): boolean`
|
|
158
|
+
|
|
159
|
+
**Parameters**
|
|
160
|
+
| Name | Type | Required | Default | Description |
|
|
161
|
+
| --- | --- | --- | --- | --- |
|
|
162
|
+
| sheetOrName | Sheet \| string | Yes | - | - |
|
|
163
|
+
| targetIndex | number | Yes | - | - |
|
|
164
|
+
|
|
165
|
+
**Returns**
|
|
166
|
+
- Type: `boolean`
|
|
167
|
+
|
|
154
168
|
#### `recalculate(currentSheetOnly = false)`
|
|
155
169
|
|
|
156
170
|
**Parameters**
|
|
@@ -412,7 +426,7 @@ SN.activeSheet.eachCells('A1:C3', (r, c) => {
|
|
|
412
426
|
#### `hyperlinkJump()`
|
|
413
427
|
- Jump to hyperlink target of active cell.
|
|
414
428
|
|
|
415
|
-
#### `rangeSort(sortKeys, range
|
|
429
|
+
#### `rangeSort(sortKeys, range?, options = {}): boolean`
|
|
416
430
|
- Category: `Sort`
|
|
417
431
|
|
|
418
432
|
**Parameters**
|
|
@@ -420,6 +434,11 @@ SN.activeSheet.eachCells('A1:C3', (r, c) => {
|
|
|
420
434
|
| --- | --- | --- | --- | --- |
|
|
421
435
|
| sortKeys | Array<{col:string \| number, order?:string, customOrder?:Array}> | Yes | - | - |
|
|
422
436
|
| range | RangeRef | No | - | - |
|
|
437
|
+
| options | {hasHeader?:boolean, caseSensitive?:boolean} | No | {} | - |
|
|
438
|
+
|
|
439
|
+
**Returns**
|
|
440
|
+
- Type: `boolean`
|
|
441
|
+
- Sort sheet range.
|
|
423
442
|
|
|
424
443
|
**Examples**
|
|
425
444
|
```js
|
|
@@ -519,14 +538,14 @@ sheet.rangeSort([
|
|
|
519
538
|
| --- | --- | --- | --- | --- |
|
|
520
539
|
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
521
540
|
|
|
522
|
-
#### `
|
|
523
|
-
- Insert a
|
|
541
|
+
#### `insertTemplate(arr, pos, options = {}, ops?): RangeNum`
|
|
542
|
+
- Insert a template from the given position.
|
|
524
543
|
- Category: `InsertTable`
|
|
525
544
|
|
|
526
545
|
**Parameters**
|
|
527
546
|
| Name | Type | Required | Default | Description |
|
|
528
547
|
| --- | --- | --- | --- | --- |
|
|
529
|
-
| arr | (ICellConfig \| string \| number)[][] | Yes | - |
|
|
548
|
+
| arr | (ICellConfig \| string \| number)[][] | Yes | - | Template data array |
|
|
530
549
|
| pos | CellRef | Yes | - | Insert Location |
|
|
531
550
|
| options | Object | No | {} | Configure Options |
|
|
532
551
|
| ops | {align?:string,border?:boolean,width?:number,height?:number} | No | - | - |
|
|
@@ -565,7 +584,7 @@ const meetingTemplate = [
|
|
|
565
584
|
[{ v: 'Remarks', h: 80 }, { mr: 2 }, '', '']
|
|
566
585
|
];
|
|
567
586
|
|
|
568
|
-
sheet.
|
|
587
|
+
sheet.insertTemplate(meetingTemplate, 'A1', {
|
|
569
588
|
border: true,
|
|
570
589
|
align: 'center',
|
|
571
590
|
height: 30,
|
|
@@ -633,102 +652,90 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
633
652
|
| mode | String | No | 'default' | Mode: 'default' \|center' \|content'same' |
|
|
634
653
|
| range | RangeRef | Yes | - | - |
|
|
635
654
|
|
|
636
|
-
#### `addRows(r, number = 1
|
|
655
|
+
#### `addRows(r, number = 1)`
|
|
637
656
|
- Insert Row
|
|
638
657
|
- Category: `RowColHandler`
|
|
639
658
|
|
|
640
659
|
**Parameters**
|
|
641
660
|
| Name | Type | Required | Default | Description |
|
|
642
661
|
| --- | --- | --- | --- | --- |
|
|
643
|
-
| r |
|
|
644
|
-
| number |
|
|
645
|
-
| index | number | Yes | - | - |
|
|
646
|
-
| count | number | Yes | - | - |
|
|
662
|
+
| r | number | Yes | - | Row Index to Insert Location |
|
|
663
|
+
| number | number | No | 1 | Number of rows inserted |
|
|
647
664
|
|
|
648
|
-
#### `addCols(c, number = 1
|
|
665
|
+
#### `addCols(c, number = 1)`
|
|
649
666
|
- Insert Columns
|
|
650
667
|
- Category: `RowColHandler`
|
|
651
668
|
|
|
652
669
|
**Parameters**
|
|
653
670
|
| Name | Type | Required | Default | Description |
|
|
654
671
|
| --- | --- | --- | --- | --- |
|
|
655
|
-
| c |
|
|
656
|
-
| number |
|
|
657
|
-
| index | number | Yes | - | - |
|
|
658
|
-
| count | number | Yes | - | - |
|
|
672
|
+
| c | number | Yes | - | Index of columns for inserting positions |
|
|
673
|
+
| number | number | No | 1 | Number of columns inserted |
|
|
659
674
|
|
|
660
|
-
#### `delRows(r, number = 1
|
|
675
|
+
#### `delRows(r, number = 1)`
|
|
661
676
|
- Delete Row
|
|
662
677
|
- Category: `RowColHandler`
|
|
663
678
|
|
|
664
679
|
**Parameters**
|
|
665
680
|
| Name | Type | Required | Default | Description |
|
|
666
681
|
| --- | --- | --- | --- | --- |
|
|
667
|
-
| r |
|
|
668
|
-
| number |
|
|
669
|
-
| start | number | Yes | - | - |
|
|
670
|
-
| count | number | Yes | - | - |
|
|
682
|
+
| r | number | Yes | - | Remove Row Index at Start Location |
|
|
683
|
+
| number | number | No | 1 | Number of rows deleted |
|
|
671
684
|
|
|
672
|
-
#### `delCols(c, number = 1
|
|
685
|
+
#### `delCols(c, number = 1)`
|
|
673
686
|
- Delete Column
|
|
674
687
|
- Category: `RowColHandler`
|
|
675
688
|
|
|
676
689
|
**Parameters**
|
|
677
690
|
| Name | Type | Required | Default | Description |
|
|
678
691
|
| --- | --- | --- | --- | --- |
|
|
679
|
-
| c |
|
|
680
|
-
| number |
|
|
681
|
-
| start | number | Yes | - | - |
|
|
682
|
-
| count | number | Yes | - | - |
|
|
692
|
+
| c | number | Yes | - | Delete column index for starting position |
|
|
693
|
+
| number | number | No | 1 | NUMBER OF ROWS REMOVED |
|
|
683
694
|
|
|
684
695
|
#### `getCellInViewInfo(rowIndex, colIndex, posMerge = true, r, c): Object`
|
|
685
|
-
- Fetch cell information in visible view
|
|
696
|
+
- Fetch cell information in visible view.
|
|
686
697
|
- Category: `ViewCalculator`
|
|
687
698
|
|
|
688
699
|
**Parameters**
|
|
689
700
|
| Name | Type | Required | Default | Description |
|
|
690
701
|
| --- | --- | --- | --- | --- |
|
|
691
702
|
| rowIndex | Number | Yes | - | Row index |
|
|
692
|
-
| colIndex | Number | Yes | - | Column
|
|
703
|
+
| colIndex | Number | Yes | - | Column index |
|
|
693
704
|
| posMerge | Boolean | No | true | Whether to process merging cells |
|
|
694
705
|
| r | number | Yes | - | - |
|
|
695
706
|
| c | number | Yes | - | - |
|
|
696
707
|
|
|
697
708
|
**Returns**
|
|
698
709
|
- Type: `Object`
|
|
699
|
-
- Objects with location and size information
|
|
700
710
|
|
|
701
711
|
#### `getAreaInviewInfo(area): Object`
|
|
702
|
-
- Fetch area information in visible view
|
|
712
|
+
- Fetch clipped area information in visible view.
|
|
703
713
|
- Category: `ViewCalculator`
|
|
704
714
|
|
|
705
715
|
**Parameters**
|
|
706
716
|
| Name | Type | Required | Default | Description |
|
|
707
717
|
| --- | --- | --- | --- | --- |
|
|
708
|
-
| area | Object | Yes | - | Area
|
|
718
|
+
| area | Object | Yes | - | Area object |
|
|
709
719
|
|
|
710
720
|
**Returns**
|
|
711
721
|
- Type: `Object`
|
|
712
|
-
- Objects with location and size information
|
|
713
722
|
|
|
714
723
|
#### `getTotalHeight(): number`
|
|
715
|
-
- Retrieving the total height of all rows
|
|
724
|
+
- Retrieving the total height of all rows.
|
|
716
725
|
- Category: `ViewCalculator`
|
|
717
726
|
|
|
718
727
|
**Returns**
|
|
719
728
|
- Type: `number`
|
|
720
|
-
- Total Height
|
|
721
729
|
|
|
722
730
|
#### `getTotalWidth(): number`
|
|
723
|
-
- Get the total width of all columns
|
|
731
|
+
- Get the total width of all columns.
|
|
724
732
|
- Category: `ViewCalculator`
|
|
725
733
|
|
|
726
734
|
**Returns**
|
|
727
735
|
- Type: `number`
|
|
728
|
-
- Total width
|
|
729
736
|
|
|
730
737
|
#### `getScrollTop(rowIndex): number`
|
|
731
|
-
- Get the sum of heights
|
|
738
|
+
- Get the sum of heights before the specified row.
|
|
732
739
|
- Category: `ViewCalculator`
|
|
733
740
|
|
|
734
741
|
**Parameters**
|
|
@@ -738,46 +745,42 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
738
745
|
|
|
739
746
|
**Returns**
|
|
740
747
|
- Type: `number`
|
|
741
|
-
- High Sum
|
|
742
748
|
|
|
743
749
|
#### `getScrollLeft(colIndex): number`
|
|
744
|
-
- Sum of widths
|
|
750
|
+
- Sum of widths before the specified column.
|
|
745
751
|
- Category: `ViewCalculator`
|
|
746
752
|
|
|
747
753
|
**Parameters**
|
|
748
754
|
| Name | Type | Required | Default | Description |
|
|
749
755
|
| --- | --- | --- | --- | --- |
|
|
750
|
-
| colIndex | number | Yes | - | Column
|
|
756
|
+
| colIndex | number | Yes | - | Column index |
|
|
751
757
|
|
|
752
758
|
**Returns**
|
|
753
759
|
- Type: `number`
|
|
754
|
-
- Sum of width
|
|
755
760
|
|
|
756
761
|
#### `getRowIndexByScrollTop(scrollTop): number`
|
|
757
|
-
- Find
|
|
762
|
+
- Find row index from vertical scroll pixel position.
|
|
758
763
|
- Category: `ViewCalculator`
|
|
759
764
|
|
|
760
765
|
**Parameters**
|
|
761
766
|
| Name | Type | Required | Default | Description |
|
|
762
767
|
| --- | --- | --- | --- | --- |
|
|
763
|
-
| scrollTop | number | Yes | - | Scroll
|
|
768
|
+
| scrollTop | number | Yes | - | Scroll pixels position |
|
|
764
769
|
|
|
765
770
|
**Returns**
|
|
766
771
|
- Type: `number`
|
|
767
|
-
- Line Index
|
|
768
772
|
|
|
769
773
|
#### `getColIndexByScrollLeft(scrollLeft): number`
|
|
770
|
-
- Find
|
|
774
|
+
- Find column index from horizontal scroll pixel position.
|
|
771
775
|
- Category: `ViewCalculator`
|
|
772
776
|
|
|
773
777
|
**Parameters**
|
|
774
778
|
| Name | Type | Required | Default | Description |
|
|
775
779
|
| --- | --- | --- | --- | --- |
|
|
776
|
-
| scrollLeft | number | Yes | - | Scroll
|
|
780
|
+
| scrollLeft | number | Yes | - | Scroll pixels position |
|
|
777
781
|
|
|
778
782
|
**Returns**
|
|
779
783
|
- Type: `number`
|
|
780
|
-
- Column Index
|
|
781
784
|
|
|
782
785
|
#### `copy(area = null, isCut = false, areas?)`
|
|
783
786
|
- Copy Regional Data
|
|
@@ -833,6 +836,63 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
833
836
|
**Returns**
|
|
834
837
|
- Type: `boolean`
|
|
835
838
|
|
|
839
|
+
#### `setCellControl(range, control)`
|
|
840
|
+
- Category: `CellControl`
|
|
841
|
+
|
|
842
|
+
**Parameters**
|
|
843
|
+
| Name | Type | Required | Default | Description |
|
|
844
|
+
| --- | --- | --- | --- | --- |
|
|
845
|
+
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
846
|
+
| control | Object | Yes | - | - |
|
|
847
|
+
|
|
848
|
+
#### `clearCellControl(range)`
|
|
849
|
+
- Category: `CellControl`
|
|
850
|
+
|
|
851
|
+
**Parameters**
|
|
852
|
+
| Name | Type | Required | Default | Description |
|
|
853
|
+
| --- | --- | --- | --- | --- |
|
|
854
|
+
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
855
|
+
|
|
856
|
+
#### `toggleCheckbox(row, col): boolean`
|
|
857
|
+
- Category: `CellControl`
|
|
858
|
+
|
|
859
|
+
**Parameters**
|
|
860
|
+
| Name | Type | Required | Default | Description |
|
|
861
|
+
| --- | --- | --- | --- | --- |
|
|
862
|
+
| row | number | Yes | - | - |
|
|
863
|
+
| col | number | Yes | - | - |
|
|
864
|
+
|
|
865
|
+
**Returns**
|
|
866
|
+
- Type: `boolean`
|
|
867
|
+
|
|
868
|
+
#### `setCheckboxValue(range, checked)`
|
|
869
|
+
- Category: `CellControl`
|
|
870
|
+
|
|
871
|
+
**Parameters**
|
|
872
|
+
| Name | Type | Required | Default | Description |
|
|
873
|
+
| --- | --- | --- | --- | --- |
|
|
874
|
+
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
875
|
+
| checked | boolean | Yes | - | - |
|
|
876
|
+
|
|
877
|
+
#### `deleteCheckboxControlOrValue(range)`
|
|
878
|
+
- Category: `CellControl`
|
|
879
|
+
|
|
880
|
+
**Parameters**
|
|
881
|
+
| Name | Type | Required | Default | Description |
|
|
882
|
+
| --- | --- | --- | --- | --- |
|
|
883
|
+
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
884
|
+
|
|
885
|
+
#### `hasCheckboxControl(range): boolean`
|
|
886
|
+
- Category: `CellControl`
|
|
887
|
+
|
|
888
|
+
**Parameters**
|
|
889
|
+
| Name | Type | Required | Default | Description |
|
|
890
|
+
| --- | --- | --- | --- | --- |
|
|
891
|
+
| range | string \| Object \| Array<string \| Object> | Yes | - | - |
|
|
892
|
+
|
|
893
|
+
**Returns**
|
|
894
|
+
- Type: `boolean`
|
|
895
|
+
|
|
836
896
|
## Row
|
|
837
897
|
- Row Objects
|
|
838
898
|
|
|
@@ -887,7 +947,7 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
887
947
|
### Get
|
|
888
948
|
| Name | Type | Static | Description |
|
|
889
949
|
| --- | --- | --- | --- |
|
|
890
|
-
| cells | Array<Cell> | No |
|
|
950
|
+
| cells | Array<Cell> | No | Sparse cells indexed by row |
|
|
891
951
|
|
|
892
952
|
## Cell
|
|
893
953
|
- Cell classes
|
|
@@ -908,6 +968,7 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
908
968
|
| hyperlink | Object \| null | get/set | No | Hyperlink Configuration |
|
|
909
969
|
| dataValidation | Object \| null | get/set | No | Data Validation Configuration |
|
|
910
970
|
| protection | {locked: boolean, hidden: boolean} | get/set | No | Cell Protection Configuration |
|
|
971
|
+
| control | Object \| null | get/set | No | Cell control configuration. |
|
|
911
972
|
| type | string | get/set | No | Cell Type |
|
|
912
973
|
| style | Object | get/set | No | Cell Styles |
|
|
913
974
|
| border | Object | get/set | No | Border Style |
|
|
@@ -930,7 +991,6 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
930
991
|
| isLocked | boolean | No | Is it locked |
|
|
931
992
|
| validData | boolean | No | Data validation results |
|
|
932
993
|
| isFormula | boolean | No | Is it a formula |
|
|
933
|
-
| buildXml | Object | No | Build Cell XML |
|
|
934
994
|
|
|
935
995
|
## Canvas
|
|
936
996
|
- Canvas Rendering and Interaction Management
|
|
@@ -949,6 +1009,7 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
949
1009
|
| handleLayer | HTMLCanvasElement | No | SN.containerDom.querySelector(".sn-handle-layer") | Operating Layer Canvas |
|
|
950
1010
|
| buffer | HTMLCanvasElement | No | document.createElement('canvas') | Buffer Canvas |
|
|
951
1011
|
| showLayerKZ | HTMLCanvasElement | No | document.createElement('canvas') | Snapshot Canvas |
|
|
1012
|
+
| scrollSkeletonLayer | HTMLCanvasElement | No | document.createElement('canvas') | Scroll loading skeleton layer |
|
|
952
1013
|
| pCanvas | HTMLCanvasElement | No | document.createElement('canvas') | Brush preview canvas |
|
|
953
1014
|
| pCtx | CanvasRenderingContext2D | No | this.pCanvas.getContext('2d') | Brush Preview Context |
|
|
954
1015
|
| activeBorderInfo | Object \| null | No | null | Current Active Border Information |
|
|
@@ -968,6 +1029,7 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
968
1029
|
| rollY | HTMLElement | No | SN.containerDom.querySelector('.sn-roll-y') | Portrait scrollbar |
|
|
969
1030
|
| rollYS | HTMLElement | No | SN.containerDom.querySelector('.sn-roll-y>div') | Portrait Scrollbar Slider |
|
|
970
1031
|
| drawingsCon | HTMLElement | No | SN.containerDom.querySelector('.sn-drawings-con') | Graphics Container |
|
|
1032
|
+
| middleLayer | - | No | SN.containerDom.querySelector('.sn-middle-layer') | - |
|
|
971
1033
|
| slicersCon | HTMLElement | No | SN.containerDom.querySelector('.sn-slicers-con') | Slicer Container |
|
|
972
1034
|
| maxTop | number | No | 0 | Maximum longitudinal scrolling distance |
|
|
973
1035
|
| maxLeft | number | No | 0 | Maximum lateral scrolling distance |
|
|
@@ -1108,6 +1170,24 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
1108
1170
|
#### `updateOverlayContainers(): void`
|
|
1109
1171
|
- Update Overlay Container Dimensions
|
|
1110
1172
|
|
|
1173
|
+
#### `scrollByPixels(deltaX = 0, deltaY = 0, options = {})`
|
|
1174
|
+
|
|
1175
|
+
**Parameters**
|
|
1176
|
+
| Name | Type | Required | Default | Description |
|
|
1177
|
+
| --- | --- | --- | --- | --- |
|
|
1178
|
+
| deltaX | number | No | 0 | - |
|
|
1179
|
+
| deltaY | number | No | 0 | - |
|
|
1180
|
+
| options | Object | No | {} | - |
|
|
1181
|
+
|
|
1182
|
+
#### `scrollToPixels(scrollLeft, scrollTop, options = {})`
|
|
1183
|
+
|
|
1184
|
+
**Parameters**
|
|
1185
|
+
| Name | Type | Required | Default | Description |
|
|
1186
|
+
| --- | --- | --- | --- | --- |
|
|
1187
|
+
| scrollLeft | - | Yes | - | - |
|
|
1188
|
+
| scrollTop | - | Yes | - | - |
|
|
1189
|
+
| options | Object | No | {} | - |
|
|
1190
|
+
|
|
1111
1191
|
#### `updateScrollBar(): void`
|
|
1112
1192
|
- Update scrollbar position
|
|
1113
1193
|
|
|
@@ -1384,44 +1464,40 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
1384
1464
|
| dataBar | - | Yes | - | - |
|
|
1385
1465
|
|
|
1386
1466
|
#### `rFilterIcons(sheet)`
|
|
1387
|
-
- Render Filter Icon
|
|
1388
1467
|
- Category: `FilterRenderer`
|
|
1389
1468
|
|
|
1390
1469
|
**Parameters**
|
|
1391
1470
|
| Name | Type | Required | Default | Description |
|
|
1392
1471
|
| --- | --- | --- | --- | --- |
|
|
1393
|
-
| sheet | Sheet | Yes | - |
|
|
1472
|
+
| sheet | Sheet | Yes | - | - |
|
|
1394
1473
|
|
|
1395
1474
|
#### `clearFilterIconPositions()`
|
|
1396
|
-
- Clear filter icon position information
|
|
1397
1475
|
- Category: `FilterRenderer`
|
|
1398
1476
|
|
|
1399
1477
|
#### `getFilterIconAtPosition(x, y): {colIndex:number, scopeId:string} | null`
|
|
1400
|
-
- Detect if the click location is on the filter icon
|
|
1401
1478
|
- Category: `FilterRenderer`
|
|
1402
1479
|
|
|
1403
1480
|
**Parameters**
|
|
1404
1481
|
| Name | Type | Required | Default | Description |
|
|
1405
1482
|
| --- | --- | --- | --- | --- |
|
|
1406
|
-
| x | number | Yes | - |
|
|
1407
|
-
| y | number | Yes | - |
|
|
1483
|
+
| x | number | Yes | - | - |
|
|
1484
|
+
| y | number | Yes | - | - |
|
|
1408
1485
|
|
|
1409
1486
|
**Returns**
|
|
1410
1487
|
- Type: `{colIndex:number, scopeId:string} | null`
|
|
1411
1488
|
|
|
1412
1489
|
#### `drawFilterIcon(ctx, iconX, iconY, iconSize, hasFilter, sortOrder)`
|
|
1413
|
-
- Draw a single filter icon (Excel style drop-down button)
|
|
1414
1490
|
- Category: `FilterRenderer`
|
|
1415
1491
|
|
|
1416
1492
|
**Parameters**
|
|
1417
1493
|
| Name | Type | Required | Default | Description |
|
|
1418
1494
|
| --- | --- | --- | --- | --- |
|
|
1419
|
-
| ctx |
|
|
1420
|
-
| iconX |
|
|
1421
|
-
| iconY |
|
|
1422
|
-
| iconSize |
|
|
1423
|
-
| hasFilter |
|
|
1424
|
-
| sortOrder |
|
|
1495
|
+
| ctx | CanvasRenderingContext2D | Yes | - | - |
|
|
1496
|
+
| iconX | number | Yes | - | - |
|
|
1497
|
+
| iconY | number | Yes | - | - |
|
|
1498
|
+
| iconSize | number | Yes | - | - |
|
|
1499
|
+
| hasFilter | boolean | Yes | - | - |
|
|
1500
|
+
| sortOrder | string \| null | Yes | - | - |
|
|
1425
1501
|
|
|
1426
1502
|
#### `rPivotTablePlaceholders(sheet)`
|
|
1427
1503
|
- Render PivotTable Placeholder
|
|
@@ -1443,6 +1519,12 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
1443
1519
|
| x | number | Yes | - | Mouse X coordinates |
|
|
1444
1520
|
| y | number | Yes | - | Mouse Y coordinates<br>@ returns {PivotTable \| null} Returns null if a PivotTable instance is returned within an area |
|
|
1445
1521
|
|
|
1522
|
+
### Potential Lifecycle Props
|
|
1523
|
+
- Assigned outside the constructor. These are flagged for audit because they may be public state that the scanner should not silently miss.
|
|
1524
|
+
| Name | Static | Source Line | Example Assignment |
|
|
1525
|
+
| --- | --- | --- | --- |
|
|
1526
|
+
| SKctx | No | 354 | this.scrollSkeletonLayer.getContext('2d') |
|
|
1527
|
+
|
|
1446
1528
|
## Layout
|
|
1447
1529
|
- Layout & Toolbar Management
|
|
1448
1530
|
|
|
@@ -1566,6 +1648,72 @@ sheet.insertTable(meetingTemplate, 'A1', {
|
|
|
1566
1648
|
## Formula
|
|
1567
1649
|
- Formula Calculator
|
|
1568
1650
|
|
|
1651
|
+
### Props
|
|
1652
|
+
| Name | Type | Static | Default | Description |
|
|
1653
|
+
| --- | --- | --- | --- | --- |
|
|
1654
|
+
| SN | - | No | SN | - |
|
|
1655
|
+
|
|
1656
|
+
### Get
|
|
1657
|
+
| Name | Type | Static | Description |
|
|
1658
|
+
| --- | --- | --- | --- |
|
|
1659
|
+
| lastCalcVolatile | boolean | No | Whether the last calculation was volatile |
|
|
1660
|
+
| lastResultIsDate | boolean | No | Whether the last calculated result is a date type |
|
|
1661
|
+
|
|
1662
|
+
### Methods
|
|
1663
|
+
#### `calcFormula(formulaStr, cell): any`
|
|
1664
|
+
- Calculation Formula
|
|
1665
|
+
|
|
1666
|
+
**Parameters**
|
|
1667
|
+
| Name | Type | Required | Default | Description |
|
|
1668
|
+
| --- | --- | --- | --- | --- |
|
|
1669
|
+
| formulaStr | string | Yes | - | Equation String (without Equals) |
|
|
1670
|
+
| cell | Cell | Yes | - | Current Cell |
|
|
1671
|
+
|
|
1672
|
+
**Returns**
|
|
1673
|
+
- Type: `any`
|
|
1674
|
+
|
|
1675
|
+
#### `parseDeps(formulaOrAst, defaultSheetName = null): {sheetName:string | null,r:number,c:number}[]`
|
|
1676
|
+
- Extract all dependent cell coordinates from a formula AST/string.
|
|
1677
|
+
|
|
1678
|
+
**Parameters**
|
|
1679
|
+
| Name | Type | Required | Default | Description |
|
|
1680
|
+
| --- | --- | --- | --- | --- |
|
|
1681
|
+
| formulaOrAst | string \| Object | Yes | - | Formula string without equals or parsed AST |
|
|
1682
|
+
| defaultSheetName | string | No | null | Sheet name used by local references |
|
|
1683
|
+
|
|
1684
|
+
**Returns**
|
|
1685
|
+
- Type: `{sheetName:string | null,r:number,c:number}[]`
|
|
1686
|
+
|
|
1687
|
+
#### `parseDependencyAreas(formulaOrAst, defaultSheetName = null): {sheetName:string | null,s:{r:number,c:number},e:{r:number,c:number}}[]`
|
|
1688
|
+
- Extract dependency areas without expanding large ranges.
|
|
1689
|
+
|
|
1690
|
+
**Parameters**
|
|
1691
|
+
| Name | Type | Required | Default | Description |
|
|
1692
|
+
| --- | --- | --- | --- | --- |
|
|
1693
|
+
| formulaOrAst | string \| Object | Yes | - | Formula string without equals or parsed AST |
|
|
1694
|
+
| defaultSheetName | string | No | null | Sheet name used by local references |
|
|
1695
|
+
|
|
1696
|
+
**Returns**
|
|
1697
|
+
- Type: `{sheetName:string | null,s:{r:number,c:number},e:{r:number,c:number}}[]`
|
|
1698
|
+
|
|
1699
|
+
#### `executeFunction(funcName, stack): any`
|
|
1700
|
+
- Execute Function
|
|
1701
|
+
|
|
1702
|
+
**Parameters**
|
|
1703
|
+
| Name | Type | Required | Default | Description |
|
|
1704
|
+
| --- | --- | --- | --- | --- |
|
|
1705
|
+
| funcName | string | Yes | - | Function name |
|
|
1706
|
+
| stack | Array | Yes | - | Parameter Stack |
|
|
1707
|
+
|
|
1708
|
+
**Returns**
|
|
1709
|
+
- Type: `any`
|
|
1710
|
+
|
|
1711
|
+
### Potential Lifecycle Props
|
|
1712
|
+
- Assigned outside the constructor. These are flagged for audit because they may be public state that the scanner should not silently miss.
|
|
1713
|
+
| Name | Static | Source Line | Example Assignment |
|
|
1714
|
+
| --- | --- | --- | --- |
|
|
1715
|
+
| currentCell | No | 79 | cell |
|
|
1716
|
+
|
|
1569
1717
|
## AutoFilter
|
|
1570
1718
|
|
|
1571
1719
|
### Props
|
|
@@ -2559,6 +2707,31 @@ sparkline.add({
|
|
|
2559
2707
|
**Returns**
|
|
2560
2708
|
- Type: `Object | null`
|
|
2561
2709
|
|
|
2710
|
+
## FormulaAstParser
|
|
2711
|
+
|
|
2712
|
+
### Methods
|
|
2713
|
+
#### `parse()`
|
|
2714
|
+
|
|
2715
|
+
## FormulaError
|
|
2716
|
+
|
|
2717
|
+
### Props
|
|
2718
|
+
| Name | Type | Static | Default | Description |
|
|
2719
|
+
| --- | --- | --- | --- | --- |
|
|
2720
|
+
| name | string | No | 'FormulaError' | - |
|
|
2721
|
+
| code | - | No | this.message | - |
|
|
2722
|
+
|
|
2723
|
+
## FormulaLexer
|
|
2724
|
+
|
|
2725
|
+
### Methods
|
|
2726
|
+
#### `scan()`
|
|
2727
|
+
|
|
2728
|
+
## FormulaParseError
|
|
2729
|
+
|
|
2730
|
+
### Props
|
|
2731
|
+
| Name | Type | Static | Default | Description |
|
|
2732
|
+
| --- | --- | --- | --- | --- |
|
|
2733
|
+
| name | string | No | 'FormulaParseError' | - |
|
|
2734
|
+
|
|
2562
2735
|
## CF
|
|
2563
2736
|
- CF conditional formatting Manager<br>Responsible for parsing, storing and managing Excel conditional formatting rules
|
|
2564
2737
|
|
package/docs/enums.md
CHANGED
package/docs/events.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Event API
|
|
2
2
|
|
|
3
|
-
> Generated: 2026-
|
|
3
|
+
> Generated: 2026-04-27
|
|
4
4
|
|
|
5
5
|
## Subscription surface
|
|
6
6
|
|
|
@@ -157,7 +157,7 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
157
157
|
|
|
158
158
|
## Emitted events
|
|
159
159
|
|
|
160
|
-
- Total detected events:
|
|
160
|
+
- Total detected events: 120
|
|
161
161
|
- Dynamic event patterns: 7
|
|
162
162
|
|
|
163
163
|
### Col
|
|
@@ -172,6 +172,7 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
172
172
|
| Event | Mode | Cancelable | Payload Keys |
|
|
173
173
|
| --- | --- | --- | --- |
|
|
174
174
|
| after${eventSuffix} | emit | No | [indexKey], changedCount, limitedCount, maxLevel, sheet |
|
|
175
|
+
| afterClearCellControl | emit | No | ...summary, sheet |
|
|
175
176
|
| afterClearDataValidation | emit | No | ...summary, sheet |
|
|
176
177
|
| afterConsolidate | emit | No | ...summary, sheet |
|
|
177
178
|
| afterDeleteColumns | emit | No | col, count, sheet |
|
|
@@ -182,14 +183,15 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
182
183
|
| afterMerge | emit | No | areas, mode, sheet |
|
|
183
184
|
| afterMoveArea | emit | No | moveArea, sheet, targetArea |
|
|
184
185
|
| afterSelectionChange | emit | No | newAreas, newCell, oldAreas, oldCell, sheet, type |
|
|
186
|
+
| afterSetCellControl | emit | No | ...summary, control, sheet |
|
|
185
187
|
| afterSetDataValidation | emit | No | ...summary, sheet |
|
|
186
188
|
| afterSheetRename | emit | No | newName, oldName, sheet |
|
|
187
|
-
| afterSort | emit | No | range, sheet, sortKeys, success |
|
|
189
|
+
| afterSort | emit | No | options, range, sheet, sortKeys, success |
|
|
188
190
|
| afterSubtotal | emit | No | ...summary, options, sheet |
|
|
189
191
|
| afterTextToColumns | emit | No | columnCount, rowCount, sheet, sourceRange, targetRange |
|
|
190
192
|
| afterUnmerge | emit | No | cellAd, sheet |
|
|
191
|
-
| afterZoomChange | emit | No | newZoom, oldZoom, sheet |
|
|
192
193
|
| before${eventSuffix} | emit | No | [indexKey], areas, maxLevel, sheet |
|
|
194
|
+
| beforeClearCellControl | emit | No | areas, sheet |
|
|
193
195
|
| beforeClearDataValidation | emit | No | areas, sheet |
|
|
194
196
|
| beforeConsolidate | emit | No | functionName, sheet, skipBlanks, sourceRanges, targetRange |
|
|
195
197
|
| beforeDeleteColumns | emit | No | col, count, sheet |
|
|
@@ -200,13 +202,13 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
200
202
|
| beforeMerge | emit | No | areas, mode, sheet |
|
|
201
203
|
| beforeMoveArea | emit | No | moveArea, sheet, targetArea |
|
|
202
204
|
| beforeSelectionChange | emit | No | newAreas, newCell, oldAreas, oldCell, sheet, type |
|
|
205
|
+
| beforeSetCellControl | emit | No | areas, control, sheet |
|
|
203
206
|
| beforeSetDataValidation | emit | No | areas, rule, sheet |
|
|
204
207
|
| beforeSheetRename | emit | No | newName, oldName, sheet |
|
|
205
|
-
| beforeSort | emit | No | range, sheet, sortKeys |
|
|
208
|
+
| beforeSort | emit | No | options, range, sheet, sortKeys |
|
|
206
209
|
| beforeSubtotal | emit | No | options, range, sheet |
|
|
207
210
|
| beforeTextToColumns | emit | No | options, sheet, sourceRange, targetRange |
|
|
208
211
|
| beforeUnmerge | emit | No | cellAd, sheet |
|
|
209
|
-
| beforeZoomChange | emit | No | newZoom, oldZoom, sheet |
|
|
210
212
|
|
|
211
213
|
### Workbook
|
|
212
214
|
| Event | Mode | Cancelable | Payload Keys |
|
|
@@ -216,12 +218,14 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
216
218
|
| afterOperation:${op.type} | emitAsync | No | - |
|
|
217
219
|
| afterSheetAdd | emit | No | name, sheet |
|
|
218
220
|
| afterSheetDelete | emit | No | index, name, sheet |
|
|
221
|
+
| afterSheetMove | emit | No | fromIndex, sheet, toIndex |
|
|
219
222
|
| afterWorkbookRename | emit | No | newName, oldName |
|
|
220
223
|
| beforeActiveSheetChange | emit | No | newSheet, oldSheet |
|
|
221
224
|
| beforeOperation | emit | No | ...data, operation |
|
|
222
225
|
| beforeOperation:${type} | emit | No | ...data, operation |
|
|
223
226
|
| beforeSheetAdd | emit | No | name |
|
|
224
227
|
| beforeSheetDelete | emit | No | index, name, sheet |
|
|
228
|
+
| beforeSheetMove | emit | No | fromIndex, sheet, toIndex |
|
|
225
229
|
| beforeWorkbookRename | emit | No | newName, oldName |
|
|
226
230
|
|
|
227
231
|
### AI
|
|
@@ -325,6 +329,12 @@ SN.Event.once('afterSheetAdd', (e) => {
|
|
|
325
329
|
| beforeTableStyleChange | emit | No | newStyle, oldStyle, sheet, table |
|
|
326
330
|
| beforeTableTotalsRowToggle | emit | No | newValue, oldValue, sheet, table |
|
|
327
331
|
|
|
332
|
+
### Canvas
|
|
333
|
+
| Event | Mode | Cancelable | Payload Keys |
|
|
334
|
+
| --- | --- | --- | --- |
|
|
335
|
+
| afterZoomChange | emit | No | newZoom, oldZoom, sheet |
|
|
336
|
+
| beforeZoomChange | emit | No | newZoom, oldZoom, sheet |
|
|
337
|
+
|
|
328
338
|
### Comment
|
|
329
339
|
| Event | Mode | Cancelable | Payload Keys |
|
|
330
340
|
| --- | --- | --- | --- |
|