handsontable 0.0.0-next-87b048b-20250409 → 0.0.0-next-d9b3885-20250415
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.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/hooks/constants.js +258 -0
- package/core/hooks/constants.mjs +258 -0
- package/core.js +39 -0
- package/core.mjs +39 -0
- package/dataMap/metaManager/metaSchema.js +27 -0
- package/dataMap/metaManager/metaSchema.mjs +27 -0
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +943 -5
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +4 -4
- package/dist/handsontable.js +943 -5
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +4 -4
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/autoColumnSize/autoColumnSize.js +47 -0
- package/plugins/autoColumnSize/autoColumnSize.mjs +47 -0
- package/plugins/autoRowSize/autoRowSize.js +45 -0
- package/plugins/autoRowSize/autoRowSize.mjs +45 -0
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +13 -0
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +13 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +31 -0
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +31 -0
- package/plugins/columnSummary/columnSummary.js +33 -0
- package/plugins/columnSummary/columnSummary.mjs +33 -0
- package/plugins/comments/comments.js +53 -0
- package/plugins/comments/comments.mjs +53 -0
- package/plugins/dropdownMenu/dropdownMenu.js +15 -0
- package/plugins/dropdownMenu/dropdownMenu.mjs +15 -0
- package/plugins/exportFile/exportFile.js +58 -0
- package/plugins/exportFile/exportFile.mjs +58 -0
- package/plugins/filters/filters.js +74 -0
- package/plugins/filters/filters.mjs +74 -0
- package/plugins/hiddenColumns/hiddenColumns.js +64 -0
- package/plugins/hiddenColumns/hiddenColumns.mjs +64 -0
- package/plugins/hiddenRows/hiddenRows.js +64 -0
- package/plugins/hiddenRows/hiddenRows.mjs +64 -0
- package/plugins/mergeCells/mergeCells.js +18 -0
- package/plugins/mergeCells/mergeCells.mjs +18 -0
- package/plugins/nestedHeaders/nestedHeaders.js +25 -0
- package/plugins/nestedHeaders/nestedHeaders.mjs +25 -0
- package/plugins/stretchColumns/stretchColumns.js +13 -0
- package/plugins/stretchColumns/stretchColumns.mjs +13 -0
- package/plugins/trimRows/trimRows.js +61 -0
- package/plugins/trimRows/trimRows.mjs +61 -0
- package/styles/handsontable.css +2 -2
- package/styles/handsontable.min.css +2 -2
- package/styles/ht-theme-horizon.css +2 -2
- package/styles/ht-theme-horizon.min.css +2 -2
- package/styles/ht-theme-main.css +2 -2
- package/styles/ht-theme-main.min.css +2 -2
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
|
27
27
|
*
|
|
28
|
-
* Version: 0.0.0-next-
|
|
29
|
-
* Release date: 19/03/2025 (built at
|
|
28
|
+
* Version: 0.0.0-next-d9b3885-20250415
|
|
29
|
+
* Release date: 19/03/2025 (built at 15/04/2025 10:06:49)
|
|
30
30
|
*/
|
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -42855,8 +42855,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
|
42855
42855
|
Handsontable.CellCoords = _src.CellCoords;
|
|
42856
42856
|
Handsontable.CellRange = _src.CellRange;
|
|
42857
42857
|
Handsontable.packageName = 'handsontable';
|
|
42858
|
-
Handsontable.buildDate = "
|
|
42859
|
-
Handsontable.version = "0.0.0-next-
|
|
42858
|
+
Handsontable.buildDate = "15/04/2025 10:06:49";
|
|
42859
|
+
Handsontable.version = "0.0.0-next-d9b3885-20250415";
|
|
42860
42860
|
Handsontable.languages = {
|
|
42861
42861
|
dictionaryKeys: _registry.dictionaryKeys,
|
|
42862
42862
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
|
@@ -42963,6 +42963,12 @@ const deprecationWarns = new Set();
|
|
|
42963
42963
|
* by using React's `ref` feature (read more on the [Instance methods](@/guides/getting-started/react-methods/react-methods.md) page).
|
|
42964
42964
|
* :::
|
|
42965
42965
|
*
|
|
42966
|
+
* ::: only-for angular
|
|
42967
|
+
* To use these methods, associate a Handsontable instance with your instance
|
|
42968
|
+
* of the [`HotTable` component](@/guides/getting-started/installation/installation.md#5-use-the-hottable-component),
|
|
42969
|
+
* by using `@ViewChild` decorator (read more on the [Instance access](@/guides/getting-started/angular-hot-instance/angular-hot-instance.md) page).
|
|
42970
|
+
* :::
|
|
42971
|
+
*
|
|
42966
42972
|
* ## How to call a method
|
|
42967
42973
|
*
|
|
42968
42974
|
* ::: only-for javascript
|
|
@@ -42993,6 +42999,39 @@ const deprecationWarns = new Set();
|
|
|
42993
42999
|
* ```
|
|
42994
43000
|
* :::
|
|
42995
43001
|
*
|
|
43002
|
+
* ::: only-for angular
|
|
43003
|
+
* ```ts
|
|
43004
|
+
* import { Component, ViewChild, AfterViewInit } from "@angular/core";
|
|
43005
|
+
* import {
|
|
43006
|
+
* GridSettings,
|
|
43007
|
+
* HotTableComponent,
|
|
43008
|
+
* HotTableModule,
|
|
43009
|
+
* } from "@handsontable/angular-wrapper";
|
|
43010
|
+
*
|
|
43011
|
+
* `@Component`({
|
|
43012
|
+
* standalone: true,
|
|
43013
|
+
* imports: [HotTableModule],
|
|
43014
|
+
* template: ` <div class="ht-theme-main">
|
|
43015
|
+
* <hot-table [settings]="gridSettings" />
|
|
43016
|
+
* </div>`,
|
|
43017
|
+
* })
|
|
43018
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
43019
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
43020
|
+
* readonly hotTable!: HotTableComponent;
|
|
43021
|
+
*
|
|
43022
|
+
* readonly gridSettings = <GridSettings>{
|
|
43023
|
+
* columns: [{}],
|
|
43024
|
+
* };
|
|
43025
|
+
*
|
|
43026
|
+
* ngAfterViewInit(): void {
|
|
43027
|
+
* // Access the Handsontable instance
|
|
43028
|
+
* // Call a method
|
|
43029
|
+
* this.hotTable?.hotInstance?.setDataAtCell(0, 0, "new value");
|
|
43030
|
+
* }
|
|
43031
|
+
* }
|
|
43032
|
+
* ```
|
|
43033
|
+
* :::
|
|
43034
|
+
*
|
|
42996
43035
|
* @param {HTMLElement} rootElement The element to which the Handsontable instance is injected.
|
|
42997
43036
|
* @param {object} userSettings The user defined options.
|
|
42998
43037
|
* @param {boolean} [rootInstanceSymbol=false] Indicates if the instance is root of all later instances created.
|
|
@@ -54195,7 +54234,7 @@ const domMessages = {
|
|
|
54195
54234
|
function _injectProductInfo(key, element) {
|
|
54196
54235
|
const hasValidType = !isEmpty(key);
|
|
54197
54236
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
|
54198
|
-
const hotVersion = "0.0.0-next-
|
|
54237
|
+
const hotVersion = "0.0.0-next-d9b3885-20250415";
|
|
54199
54238
|
let keyValidityDate;
|
|
54200
54239
|
let consoleMessageState = 'invalid';
|
|
54201
54240
|
let domMessageState = 'invalid';
|
|
@@ -63896,6 +63935,22 @@ exports.__esModule = true;
|
|
|
63896
63935
|
* />
|
|
63897
63936
|
* :::
|
|
63898
63937
|
*
|
|
63938
|
+
* ::: only-for angular
|
|
63939
|
+
* ```ts
|
|
63940
|
+
* settings = {
|
|
63941
|
+
* afterChange: (changes, source) => {
|
|
63942
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
|
63943
|
+
* // Some logic...
|
|
63944
|
+
* });
|
|
63945
|
+
* },
|
|
63946
|
+
* };
|
|
63947
|
+
* ```
|
|
63948
|
+
*
|
|
63949
|
+
* ```html
|
|
63950
|
+
* <hot-table [settings]="settings" />
|
|
63951
|
+
* ```
|
|
63952
|
+
* :::
|
|
63953
|
+
*
|
|
63899
63954
|
* ::: only-for javascript
|
|
63900
63955
|
* ```js
|
|
63901
63956
|
* // using events as plugin hooks
|
|
@@ -64000,6 +64055,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64000
64055
|
* />
|
|
64001
64056
|
* ```
|
|
64002
64057
|
* :::
|
|
64058
|
+
*
|
|
64059
|
+
* ::: only-for angular
|
|
64060
|
+
* ```ts
|
|
64061
|
+
* settings = {
|
|
64062
|
+
* afterChange: (changes, source) => {
|
|
64063
|
+
* changes?.forEach(([row, prop, oldValue, newValue]) => {
|
|
64064
|
+
* // Some logic...
|
|
64065
|
+
* });
|
|
64066
|
+
* },
|
|
64067
|
+
* };
|
|
64068
|
+
* ```
|
|
64069
|
+
*
|
|
64070
|
+
* ```html
|
|
64071
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64072
|
+
* ```
|
|
64073
|
+
* :::
|
|
64003
64074
|
*/
|
|
64004
64075
|
'afterChange',
|
|
64005
64076
|
/**
|
|
@@ -64103,6 +64174,21 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64103
64174
|
* />
|
|
64104
64175
|
* ```
|
|
64105
64176
|
* :::
|
|
64177
|
+
*
|
|
64178
|
+
* ::: only-for angular
|
|
64179
|
+
* ```ts
|
|
64180
|
+
* settings = {
|
|
64181
|
+
* beforeCreateCol: (data, coords) => {
|
|
64182
|
+
* // Return `false` to cancel column inserting.
|
|
64183
|
+
* return false;
|
|
64184
|
+
* },
|
|
64185
|
+
* };
|
|
64186
|
+
* ```
|
|
64187
|
+
*
|
|
64188
|
+
* ```html
|
|
64189
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64190
|
+
* ```
|
|
64191
|
+
* :::
|
|
64106
64192
|
*/
|
|
64107
64193
|
'beforeCreateCol',
|
|
64108
64194
|
/**
|
|
@@ -64486,6 +64572,31 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64486
64572
|
* }}
|
|
64487
64573
|
* />
|
|
64488
64574
|
* ```
|
|
64575
|
+
* :::
|
|
64576
|
+
*
|
|
64577
|
+
* ::: only-for angular
|
|
64578
|
+
* ```ts
|
|
64579
|
+
* settings = {
|
|
64580
|
+
* afterSelection: (
|
|
64581
|
+
* row,
|
|
64582
|
+
* column,
|
|
64583
|
+
* row2,
|
|
64584
|
+
* column2,
|
|
64585
|
+
* preventScrolling,
|
|
64586
|
+
* selectionLayerLevel
|
|
64587
|
+
* ) => {
|
|
64588
|
+
* // If set to `false` (default): when cell selection is outside the viewport,
|
|
64589
|
+
* // Handsontable scrolls the viewport to cell selection's end corner.
|
|
64590
|
+
* // If set to `true`: when cell selection is outside the viewport,
|
|
64591
|
+
* // Handsontable doesn't scroll to cell selection's end corner.
|
|
64592
|
+
* preventScrolling.value = true;
|
|
64593
|
+
* },
|
|
64594
|
+
* };
|
|
64595
|
+
* ```
|
|
64596
|
+
*
|
|
64597
|
+
* ```html
|
|
64598
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64599
|
+
* ```
|
|
64489
64600
|
* :::
|
|
64490
64601
|
*/
|
|
64491
64602
|
'afterSelection',
|
|
@@ -64525,6 +64636,28 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64525
64636
|
* />
|
|
64526
64637
|
* ```
|
|
64527
64638
|
* :::
|
|
64639
|
+
*
|
|
64640
|
+
* ::: only-for angular
|
|
64641
|
+
* ```ts
|
|
64642
|
+
* settings = {
|
|
64643
|
+
* afterSelectionByProp: (
|
|
64644
|
+
* row,
|
|
64645
|
+
* column,
|
|
64646
|
+
* row2,
|
|
64647
|
+
* column2,
|
|
64648
|
+
* preventScrolling,
|
|
64649
|
+
* selectionLayerLevel
|
|
64650
|
+
* ) => {
|
|
64651
|
+
* // Setting if prevent scrolling after selection
|
|
64652
|
+
* preventScrolling.value = true;
|
|
64653
|
+
* },
|
|
64654
|
+
* };
|
|
64655
|
+
* ```
|
|
64656
|
+
*
|
|
64657
|
+
* ```html
|
|
64658
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64659
|
+
* ```
|
|
64660
|
+
* :::
|
|
64528
64661
|
*/
|
|
64529
64662
|
'afterSelectionByProp',
|
|
64530
64663
|
/**
|
|
@@ -64589,6 +64722,24 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64589
64722
|
* />
|
|
64590
64723
|
* ```
|
|
64591
64724
|
* :::
|
|
64725
|
+
*
|
|
64726
|
+
* ::: only-for angular
|
|
64727
|
+
* ```ts
|
|
64728
|
+
* settings = {
|
|
64729
|
+
* afterSelectionFocusSet: (row, column, preventScrolling) => {
|
|
64730
|
+
* // If set to `false` (default): when focused cell selection is outside the viewport,
|
|
64731
|
+
* // Handsontable scrolls the viewport to that cell.
|
|
64732
|
+
* // If set to `true`: when focused cell selection is outside the viewport,
|
|
64733
|
+
* // Handsontable doesn't scroll the viewport.
|
|
64734
|
+
* preventScrolling.value = true;
|
|
64735
|
+
* },
|
|
64736
|
+
* };
|
|
64737
|
+
* ```
|
|
64738
|
+
*
|
|
64739
|
+
* ```html
|
|
64740
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64741
|
+
* ```
|
|
64742
|
+
* :::
|
|
64592
64743
|
*/
|
|
64593
64744
|
'afterSelectionFocusSet',
|
|
64594
64745
|
/**
|
|
@@ -64623,6 +64774,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64623
64774
|
* />
|
|
64624
64775
|
* ```
|
|
64625
64776
|
* :::
|
|
64777
|
+
*
|
|
64778
|
+
* ::: only-for angular
|
|
64779
|
+
* ```ts
|
|
64780
|
+
* settings = {
|
|
64781
|
+
* beforeSelectColumns: (from, to, highlight) => {
|
|
64782
|
+
* // Extend the column selection by one column left and one column right.
|
|
64783
|
+
* from.col = Math.max(from.col - 1, 0);
|
|
64784
|
+
* to.col = Math.min(to.col + 1, this.countCols() - 1);
|
|
64785
|
+
* },
|
|
64786
|
+
* };
|
|
64787
|
+
* ```
|
|
64788
|
+
*
|
|
64789
|
+
* ```html
|
|
64790
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64791
|
+
* ```
|
|
64792
|
+
* :::
|
|
64626
64793
|
*/
|
|
64627
64794
|
'beforeSelectColumns',
|
|
64628
64795
|
/**
|
|
@@ -64667,6 +64834,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64667
64834
|
* />
|
|
64668
64835
|
* ```
|
|
64669
64836
|
* :::
|
|
64837
|
+
*
|
|
64838
|
+
* ::: only-for angular
|
|
64839
|
+
* ```ts
|
|
64840
|
+
* settings = {
|
|
64841
|
+
* beforeSelectRows: (from, to, highlight) => {
|
|
64842
|
+
* // Extend the row selection by one row up and one row down.
|
|
64843
|
+
* from.row = Math.max(from.row - 1, 0);
|
|
64844
|
+
* to.row = Math.min(to.row + 1, this.countRows() - 1);
|
|
64845
|
+
* },
|
|
64846
|
+
* };
|
|
64847
|
+
* ```
|
|
64848
|
+
*
|
|
64849
|
+
* ```html
|
|
64850
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
64851
|
+
* ```
|
|
64852
|
+
* :::
|
|
64670
64853
|
*/
|
|
64671
64854
|
'beforeSelectRows',
|
|
64672
64855
|
/**
|
|
@@ -64887,6 +65070,42 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
64887
65070
|
* />
|
|
64888
65071
|
* ```
|
|
64889
65072
|
* :::
|
|
65073
|
+
* ::: only-for angular
|
|
65074
|
+
*```ts
|
|
65075
|
+
* // To alter a single change, overwrite the desired value with `changes[i][3]`
|
|
65076
|
+
* settings1 = {
|
|
65077
|
+
* beforeChange: (changes, source) => {
|
|
65078
|
+
* // [[row, prop, oldVal, newVal], ...]
|
|
65079
|
+
* changes[0][3] = 10;
|
|
65080
|
+
* },
|
|
65081
|
+
* };
|
|
65082
|
+
*
|
|
65083
|
+
* // To ignore a single change, set `changes[i]` to `null`
|
|
65084
|
+
* // or remove `changes[i]` from the array, by using changes.splice(i, 1).
|
|
65085
|
+
* settings2 = {
|
|
65086
|
+
* beforeChange: (changes, source) => {
|
|
65087
|
+
* // [[row, prop, oldVal, newVal], ...]
|
|
65088
|
+
* changes[0] = null;
|
|
65089
|
+
* },
|
|
65090
|
+
* };
|
|
65091
|
+
*
|
|
65092
|
+
* // To ignore all changes, return `false`
|
|
65093
|
+
* // or set the array's length to 0 (`changes.length = 0`)
|
|
65094
|
+
* settings3 = {
|
|
65095
|
+
* beforeChange: (changes, source) => {
|
|
65096
|
+
* // [[row, prop, oldVal, newVal], ...]
|
|
65097
|
+
* return false;
|
|
65098
|
+
* },
|
|
65099
|
+
* };
|
|
65100
|
+
* ```
|
|
65101
|
+
*
|
|
65102
|
+
* ```html
|
|
65103
|
+
* <hot-table [settings]="settings1"></hot-table>
|
|
65104
|
+
* <hot-table [settings]="settings2"></hot-table>
|
|
65105
|
+
* <hot-table [settings]="settings3"></hot-table>
|
|
65106
|
+
* ```
|
|
65107
|
+
*
|
|
65108
|
+
* :::
|
|
64890
65109
|
*/
|
|
64891
65110
|
'beforeChange',
|
|
64892
65111
|
/**
|
|
@@ -65497,6 +65716,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
65497
65716
|
* />
|
|
65498
65717
|
* ```
|
|
65499
65718
|
* :::
|
|
65719
|
+
*
|
|
65720
|
+
* ::: only-for angular
|
|
65721
|
+
*```ts
|
|
65722
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
|
65723
|
+
* settings1 = {
|
|
65724
|
+
* beforeCut: (data, coords) => {
|
|
65725
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
|
65726
|
+
* data.splice(0, 1);
|
|
65727
|
+
* // data -> [[4, 5, 6]]
|
|
65728
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
|
65729
|
+
* },
|
|
65730
|
+
* };
|
|
65731
|
+
*
|
|
65732
|
+
* // To cancel a cutting action, just return `false`.
|
|
65733
|
+
* settings2 = {
|
|
65734
|
+
* beforeCut: (data, coords) => {
|
|
65735
|
+
* return false;
|
|
65736
|
+
* },
|
|
65737
|
+
* };
|
|
65738
|
+
* ```
|
|
65739
|
+
*
|
|
65740
|
+
* ```html
|
|
65741
|
+
* <hot-table [settings]="settings1"></hot-table>
|
|
65742
|
+
* <hot-table [settings]="settings2"></hot-table>
|
|
65743
|
+
* ```
|
|
65744
|
+
* :::
|
|
65500
65745
|
*/
|
|
65501
65746
|
'beforeCut',
|
|
65502
65747
|
/**
|
|
@@ -65569,6 +65814,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
65569
65814
|
* ...
|
|
65570
65815
|
* ```
|
|
65571
65816
|
* :::
|
|
65817
|
+
*
|
|
65818
|
+
* ::: only-for angular
|
|
65819
|
+
* ```ts
|
|
65820
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
|
65821
|
+
* settings1 = {
|
|
65822
|
+
* beforeCopy: (data, coords) => {
|
|
65823
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
|
65824
|
+
* data.splice(0, 1);
|
|
65825
|
+
* // data -> [[4, 5, 6]]
|
|
65826
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
|
65827
|
+
* },
|
|
65828
|
+
* };
|
|
65829
|
+
*
|
|
65830
|
+
* // To cancel copying, return false from the callback.
|
|
65831
|
+
* settings2 = {
|
|
65832
|
+
* beforeCopy: (data, coords) => {
|
|
65833
|
+
* return false;
|
|
65834
|
+
* },
|
|
65835
|
+
* };
|
|
65836
|
+
* ```
|
|
65837
|
+
*
|
|
65838
|
+
* ```html
|
|
65839
|
+
* <hot-table [settings]="settings1"></hot-table>
|
|
65840
|
+
* <hot-table [settings]="settings2"></hot-table>
|
|
65841
|
+
* ```
|
|
65842
|
+
* :::
|
|
65572
65843
|
*/
|
|
65573
65844
|
'beforeCopy',
|
|
65574
65845
|
/**
|
|
@@ -65631,6 +65902,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
|
|
|
65631
65902
|
* />
|
|
65632
65903
|
* ```
|
|
65633
65904
|
* :::
|
|
65905
|
+
*
|
|
65906
|
+
* ::: only-for angular
|
|
65907
|
+
* ```ts
|
|
65908
|
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
|
65909
|
+
* settings1 = {
|
|
65910
|
+
* beforePaste: (data, coords) => {
|
|
65911
|
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
|
65912
|
+
* data.splice(0, 1);
|
|
65913
|
+
* // data -> [[4, 5, 6]]
|
|
65914
|
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
|
65915
|
+
* },
|
|
65916
|
+
* };
|
|
65917
|
+
*
|
|
65918
|
+
* // To cancel pasting, return false from the callback.
|
|
65919
|
+
* settings2 = {
|
|
65920
|
+
* beforePaste: (data, coords) => {
|
|
65921
|
+
* return false;
|
|
65922
|
+
* },
|
|
65923
|
+
* };
|
|
65924
|
+
* ```
|
|
65925
|
+
*
|
|
65926
|
+
* ```html
|
|
65927
|
+
* <hot-table [settings]="settings1"></hot-table>
|
|
65928
|
+
* <hot-table [settings]="settings2"></hot-table>
|
|
65929
|
+
* ```
|
|
65930
|
+
* :::
|
|
65634
65931
|
*/
|
|
65635
65932
|
'beforePaste',
|
|
65636
65933
|
/**
|
|
@@ -91571,6 +91868,33 @@ var _object = __webpack_require__(499);
|
|
|
91571
91868
|
* ```
|
|
91572
91869
|
* :::
|
|
91573
91870
|
*
|
|
91871
|
+
* ::: only-for angular
|
|
91872
|
+
* ```ts
|
|
91873
|
+
* settings = {
|
|
91874
|
+
* data: [
|
|
91875
|
+
* ["A1", "B1", "C1", "D1", "E1"],
|
|
91876
|
+
* ["A2", "B2", "C2", "D2", "E2"],
|
|
91877
|
+
* ["A3", "B3", "C3", "D3", "E3"],
|
|
91878
|
+
* ["A4", "B4", "C4", "D4", "E4"],
|
|
91879
|
+
* ["A5", "B5", "C5", "D5", "E5"],
|
|
91880
|
+
* ],
|
|
91881
|
+
* width: 400,
|
|
91882
|
+
* height: 300,
|
|
91883
|
+
* colHeaders: true,
|
|
91884
|
+
* rowHeaders: true,
|
|
91885
|
+
* customBorders: true,
|
|
91886
|
+
* dropdownMenu: true,
|
|
91887
|
+
* multiColumnSorting: true,
|
|
91888
|
+
* filters: true,
|
|
91889
|
+
* manualRowMove: true,
|
|
91890
|
+
* };
|
|
91891
|
+
* ```
|
|
91892
|
+
*
|
|
91893
|
+
* ```html
|
|
91894
|
+
* <hot-table [settings]="settings" />
|
|
91895
|
+
* ```
|
|
91896
|
+
* :::
|
|
91897
|
+
*
|
|
91574
91898
|
* Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
|
|
91575
91899
|
* - [The entire grid](@/guides/getting-started/configuration-options/configuration-options.md#set-grid-options)
|
|
91576
91900
|
* - [Individual columns](@/guides/getting-started/configuration-options/configuration-options.md#set-column-options)
|
|
@@ -112226,6 +112550,53 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
|
|
112226
112550
|
* }
|
|
112227
112551
|
* ```
|
|
112228
112552
|
* :::
|
|
112553
|
+
*
|
|
112554
|
+
* ::: only-for angular
|
|
112555
|
+
*
|
|
112556
|
+
* ```ts
|
|
112557
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
112558
|
+
* import {
|
|
112559
|
+
* GridSettings,
|
|
112560
|
+
* HotTableModule,
|
|
112561
|
+
* HotTableComponent,
|
|
112562
|
+
* } from "@handsontable/angular-wrapper";
|
|
112563
|
+
*
|
|
112564
|
+
* `@Component`({
|
|
112565
|
+
* selector: "app-example",
|
|
112566
|
+
* standalone: true,
|
|
112567
|
+
* imports: [HotTableModule],
|
|
112568
|
+
* template: ` <div class="ht-theme-main">
|
|
112569
|
+
* <hot-table [settings]="gridSettings" />
|
|
112570
|
+
* </div>`,
|
|
112571
|
+
* })
|
|
112572
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
112573
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
112574
|
+
* readonly hotTable!: HotTableComponent;
|
|
112575
|
+
*
|
|
112576
|
+
* readonly gridSettings = <GridSettings>{
|
|
112577
|
+
* data: this.getData(),
|
|
112578
|
+
* autoColumnSize: true,
|
|
112579
|
+
* };
|
|
112580
|
+
*
|
|
112581
|
+
* ngAfterViewInit(): void {
|
|
112582
|
+
* // Access to plugin instance:
|
|
112583
|
+
* const hot = this.hotTable.hotInstance;
|
|
112584
|
+
* const plugin = hot.getPlugin("autoColumnSize");
|
|
112585
|
+
*
|
|
112586
|
+
* plugin.getColumnWidth(4);
|
|
112587
|
+
*
|
|
112588
|
+
* if (plugin.isEnabled()) {
|
|
112589
|
+
* // code...
|
|
112590
|
+
* }
|
|
112591
|
+
* }
|
|
112592
|
+
*
|
|
112593
|
+
* private getData(): any[] {
|
|
112594
|
+
* //get some data
|
|
112595
|
+
* }
|
|
112596
|
+
* }
|
|
112597
|
+
* ```
|
|
112598
|
+
*
|
|
112599
|
+
* :::
|
|
112229
112600
|
*/
|
|
112230
112601
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
112231
112602
|
var _isInitialized = /*#__PURE__*/new WeakMap();
|
|
@@ -114627,6 +114998,51 @@ const ROW_WIDTHS_MAP_NAME = 'autoRowSize';
|
|
|
114627
114998
|
* }
|
|
114628
114999
|
* ```
|
|
114629
115000
|
* :::
|
|
115001
|
+
*
|
|
115002
|
+
* ::: only-for angular
|
|
115003
|
+
* ```ts
|
|
115004
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
115005
|
+
* import {
|
|
115006
|
+
* GridSettings,
|
|
115007
|
+
* HotTableModule,
|
|
115008
|
+
* HotTableComponent,
|
|
115009
|
+
* } from "@handsontable/angular-wrapper";
|
|
115010
|
+
*
|
|
115011
|
+
* `@Component`({
|
|
115012
|
+
* selector: "app-example",
|
|
115013
|
+
* standalone: true,
|
|
115014
|
+
* imports: [HotTableModule],
|
|
115015
|
+
* template: ` <div class="ht-theme-main">
|
|
115016
|
+
* <hot-table [settings]="gridSettings" />
|
|
115017
|
+
* </div>`,
|
|
115018
|
+
* })
|
|
115019
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
115020
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
115021
|
+
* readonly hotTable!: HotTableComponent;
|
|
115022
|
+
*
|
|
115023
|
+
* readonly gridSettings = <GridSettings>{
|
|
115024
|
+
* data: this.getData(),
|
|
115025
|
+
* autoRowSize: true,
|
|
115026
|
+
* };
|
|
115027
|
+
*
|
|
115028
|
+
* ngAfterViewInit(): void {
|
|
115029
|
+
* // Access to plugin instance:
|
|
115030
|
+
* const hot = this.hotTable.hotInstance;
|
|
115031
|
+
* const plugin = hot.getPlugin("autoRowSize");
|
|
115032
|
+
*
|
|
115033
|
+
* plugin.getRowHeight(4);
|
|
115034
|
+
*
|
|
115035
|
+
* if (plugin.isEnabled()) {
|
|
115036
|
+
* // code...
|
|
115037
|
+
* }
|
|
115038
|
+
* }
|
|
115039
|
+
*
|
|
115040
|
+
* private getData(): any[] {
|
|
115041
|
+
* // get some data
|
|
115042
|
+
* }
|
|
115043
|
+
* }
|
|
115044
|
+
* ```
|
|
115045
|
+
* :::
|
|
114630
115046
|
*/
|
|
114631
115047
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
114632
115048
|
var _visualRowsToRefresh = /*#__PURE__*/new WeakMap();
|
|
@@ -115255,6 +115671,19 @@ const bindTypeToMapStrategy = new Map([['loose', _looseBindsMap.default], ['stri
|
|
|
115255
115671
|
* />
|
|
115256
115672
|
* ```
|
|
115257
115673
|
* :::
|
|
115674
|
+
*
|
|
115675
|
+
* ::: only-for angular
|
|
115676
|
+
* ```ts
|
|
115677
|
+
* settings = {
|
|
115678
|
+
* data: getData(),
|
|
115679
|
+
* bindRowsWithHeaders: true,
|
|
115680
|
+
* };
|
|
115681
|
+
* ```
|
|
115682
|
+
*
|
|
115683
|
+
* ```html
|
|
115684
|
+
* <hot-table [settings]="settings" />
|
|
115685
|
+
* ```
|
|
115686
|
+
* :::
|
|
115258
115687
|
*/
|
|
115259
115688
|
var _BindRowsWithHeaders_brand = /*#__PURE__*/new WeakSet();
|
|
115260
115689
|
class BindRowsWithHeaders extends _base.BasePlugin {
|
|
@@ -115554,6 +115983,37 @@ const actionDictionary = new Map([['collapse', {
|
|
|
115554
115983
|
* />
|
|
115555
115984
|
* ```
|
|
115556
115985
|
* :::
|
|
115986
|
+
*
|
|
115987
|
+
* ::: only-for angular
|
|
115988
|
+
* ```ts
|
|
115989
|
+
* // Enable the collapsibleColumns plugin
|
|
115990
|
+
* settings = {
|
|
115991
|
+
* data: generateDataObj(),
|
|
115992
|
+
* colHeaders: true,
|
|
115993
|
+
* rowHeaders: true,
|
|
115994
|
+
* nestedHeaders: true,
|
|
115995
|
+
* // enable plugin
|
|
115996
|
+
* collapsibleColumns: true,
|
|
115997
|
+
* };
|
|
115998
|
+
*
|
|
115999
|
+
* // Or enable and configure specific collapsible columns
|
|
116000
|
+
* settings = {
|
|
116001
|
+
* data: generateDataObj(),
|
|
116002
|
+
* colHeaders: true,
|
|
116003
|
+
* rowHeaders: true,
|
|
116004
|
+
* nestedHeaders: true,
|
|
116005
|
+
* // enable and configure which columns can be collapsed
|
|
116006
|
+
* collapsibleColumns: [
|
|
116007
|
+
* { row: -4, col: 1, collapsible: true },
|
|
116008
|
+
* { row: -3, col: 5, collapsible: true },
|
|
116009
|
+
* ],
|
|
116010
|
+
* };
|
|
116011
|
+
* ```
|
|
116012
|
+
*
|
|
116013
|
+
* ```html
|
|
116014
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
116015
|
+
* ```
|
|
116016
|
+
* :::
|
|
115557
116017
|
*/
|
|
115558
116018
|
var _collapsedColumnsMap = /*#__PURE__*/new WeakMap();
|
|
115559
116019
|
var _CollapsibleColumns_brand = /*#__PURE__*/new WeakSet();
|
|
@@ -117836,6 +118296,39 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
|
|
|
117836
118296
|
* />
|
|
117837
118297
|
* ```
|
|
117838
118298
|
* :::
|
|
118299
|
+
*
|
|
118300
|
+
* ::: only-for angular
|
|
118301
|
+
* ```ts
|
|
118302
|
+
* settings = {
|
|
118303
|
+
* data: getData(),
|
|
118304
|
+
* colHeaders: true,
|
|
118305
|
+
* rowHeaders: true,
|
|
118306
|
+
* columnSummary: [
|
|
118307
|
+
* {
|
|
118308
|
+
* type: "min",
|
|
118309
|
+
* destinationRow: 4,
|
|
118310
|
+
* destinationColumn: 1,
|
|
118311
|
+
* },
|
|
118312
|
+
* {
|
|
118313
|
+
* type: "max",
|
|
118314
|
+
* destinationRow: 0,
|
|
118315
|
+
* destinationColumn: 3,
|
|
118316
|
+
* reversedRowCoords: true,
|
|
118317
|
+
* },
|
|
118318
|
+
* {
|
|
118319
|
+
* type: "sum",
|
|
118320
|
+
* destinationRow: 4,
|
|
118321
|
+
* destinationColumn: 5,
|
|
118322
|
+
* forceNumeric: true,
|
|
118323
|
+
* },
|
|
118324
|
+
* ],
|
|
118325
|
+
* };
|
|
118326
|
+
* ```
|
|
118327
|
+
*
|
|
118328
|
+
* ```html
|
|
118329
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
118330
|
+
* ```
|
|
118331
|
+
* :::
|
|
117839
118332
|
*/
|
|
117840
118333
|
var _ColumnSummary_brand = /*#__PURE__*/new WeakSet();
|
|
117841
118334
|
class ColumnSummary extends _base.BasePlugin {
|
|
@@ -118925,6 +119418,59 @@ const SHORTCUTS_CONTEXT_NAME = `plugin:${PLUGIN_KEY}`;
|
|
|
118925
119418
|
* commentsPlugin.removeComment();
|
|
118926
119419
|
* ```
|
|
118927
119420
|
* :::
|
|
119421
|
+
*
|
|
119422
|
+
* ::: only-for angular
|
|
119423
|
+
* ```ts
|
|
119424
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
119425
|
+
* import {
|
|
119426
|
+
* GridSettings,
|
|
119427
|
+
* HotTableModule,
|
|
119428
|
+
* HotTableComponent,
|
|
119429
|
+
* } from "@handsontable/angular-wrapper";
|
|
119430
|
+
*
|
|
119431
|
+
* `@Component`({
|
|
119432
|
+
* selector: "app-example",
|
|
119433
|
+
* standalone: true,
|
|
119434
|
+
* imports: [HotTableModule],
|
|
119435
|
+
* template: ` <div class="ht-theme-main">
|
|
119436
|
+
* <hot-table [settings]="gridSettings" />
|
|
119437
|
+
* </div>`,
|
|
119438
|
+
* })
|
|
119439
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
119440
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
119441
|
+
* readonly hotTable!: HotTableComponent;
|
|
119442
|
+
*
|
|
119443
|
+
* readonly gridSettings = <GridSettings>{
|
|
119444
|
+
* data: this.getData(),
|
|
119445
|
+
* comments: true,
|
|
119446
|
+
* cell: [
|
|
119447
|
+
* { row: 1, col: 1, comment: { value: "Foo" } },
|
|
119448
|
+
* { row: 2, col: 2, comment: { value: "Bar" } },
|
|
119449
|
+
* ],
|
|
119450
|
+
* };
|
|
119451
|
+
*
|
|
119452
|
+
* ngAfterViewInit(): void {
|
|
119453
|
+
* // Access to plugin instance:
|
|
119454
|
+
* const hot = this.hotTable.hotInstance;
|
|
119455
|
+
* const commentsPlugin = hot.getPlugin("comments");
|
|
119456
|
+
*
|
|
119457
|
+
* // Manage comments programmatically:
|
|
119458
|
+
* commentsPlugin.setCommentAtCell(1, 6, "Comment contents");
|
|
119459
|
+
* commentsPlugin.showAtCell(1, 6);
|
|
119460
|
+
* commentsPlugin.removeCommentAtCell(1, 6);
|
|
119461
|
+
*
|
|
119462
|
+
* // You can also set range once and use proper methods:
|
|
119463
|
+
* commentsPlugin.setRange({ from: { row: 1, col: 6 } });
|
|
119464
|
+
* commentsPlugin.setComment("Comment contents");
|
|
119465
|
+
* commentsPlugin.show();
|
|
119466
|
+
* }
|
|
119467
|
+
*
|
|
119468
|
+
* private getData(): any[] {
|
|
119469
|
+
* // get some data
|
|
119470
|
+
* }
|
|
119471
|
+
* }
|
|
119472
|
+
* ```
|
|
119473
|
+
* :::
|
|
118928
119474
|
*/
|
|
118929
119475
|
var _editor = /*#__PURE__*/new WeakMap();
|
|
118930
119476
|
var _displaySwitch = /*#__PURE__*/new WeakMap();
|
|
@@ -126547,6 +127093,21 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
|
126547
127093
|
* />
|
|
126548
127094
|
* ```
|
|
126549
127095
|
* :::
|
|
127096
|
+
*
|
|
127097
|
+
* ::: only-for angular
|
|
127098
|
+
* ```ts
|
|
127099
|
+
* settings = {
|
|
127100
|
+
* data: data,
|
|
127101
|
+
* comments: true,
|
|
127102
|
+
* // enable and configure dropdown menu
|
|
127103
|
+
* dropdownMenu: ["remove_col", "---------", "make_read_only", "alignment"],
|
|
127104
|
+
* };
|
|
127105
|
+
* ```
|
|
127106
|
+
*
|
|
127107
|
+
* ```html
|
|
127108
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
127109
|
+
* ```
|
|
127110
|
+
* :::
|
|
126550
127111
|
*/
|
|
126551
127112
|
var _isButtonClicked = /*#__PURE__*/new WeakMap();
|
|
126552
127113
|
var _DropdownMenu_brand = /*#__PURE__*/new WeakSet();
|
|
@@ -127127,6 +127688,64 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 240;
|
|
|
127127
127688
|
* });
|
|
127128
127689
|
* ```
|
|
127129
127690
|
* :::
|
|
127691
|
+
*
|
|
127692
|
+
* ::: only-for angular
|
|
127693
|
+
* ```ts
|
|
127694
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
127695
|
+
* import {
|
|
127696
|
+
* GridSettings,
|
|
127697
|
+
* HotTableModule,
|
|
127698
|
+
* HotTableComponent,
|
|
127699
|
+
* } from "@handsontable/angular-wrapper";
|
|
127700
|
+
*
|
|
127701
|
+
* `@Component`({
|
|
127702
|
+
* selector: "app-example",
|
|
127703
|
+
* standalone: true,
|
|
127704
|
+
* imports: [HotTableModule],
|
|
127705
|
+
* template: ` <div class="ht-theme-main">
|
|
127706
|
+
* <hot-table [settings]="gridSettings" />
|
|
127707
|
+
* </div>`,
|
|
127708
|
+
* })
|
|
127709
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
127710
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
127711
|
+
* readonly hotTable!: HotTableComponent;
|
|
127712
|
+
*
|
|
127713
|
+
* readonly gridSettings = <GridSettings>{
|
|
127714
|
+
* data: this.getData(),
|
|
127715
|
+
* };
|
|
127716
|
+
*
|
|
127717
|
+
* ngAfterViewInit(): void {
|
|
127718
|
+
* // Access to plugin instance:
|
|
127719
|
+
* const hot = this.hotTable.hotInstance;
|
|
127720
|
+
* // Access to exportFile plugin instance
|
|
127721
|
+
* const exportPlugin = hot.getPlugin("exportFile");
|
|
127722
|
+
*
|
|
127723
|
+
* // Export as a string
|
|
127724
|
+
* exportPlugin.exportAsString("csv");
|
|
127725
|
+
*
|
|
127726
|
+
* // Export as a blob object
|
|
127727
|
+
* exportPlugin.exportAsBlob("csv");
|
|
127728
|
+
*
|
|
127729
|
+
* // Export to downloadable file (named: MyFile.csv)
|
|
127730
|
+
* exportPlugin.downloadFile("csv", { filename: "MyFile" });
|
|
127731
|
+
*
|
|
127732
|
+
* // Export as a string (with specified data range):
|
|
127733
|
+
* exportPlugin.exportAsString("csv", {
|
|
127734
|
+
* exportHiddenRows: true, // default false
|
|
127735
|
+
* exportHiddenColumns: true, // default false
|
|
127736
|
+
* columnHeaders: true, // default false
|
|
127737
|
+
* rowHeaders: true, // default false
|
|
127738
|
+
* columnDelimiter: ";", // default ','
|
|
127739
|
+
* range: [1, 1, 6, 6], // [startRow, endRow, startColumn, endColumn]
|
|
127740
|
+
* });
|
|
127741
|
+
* }
|
|
127742
|
+
*
|
|
127743
|
+
* private getData(): any[] {
|
|
127744
|
+
* // get some data
|
|
127745
|
+
* }
|
|
127746
|
+
* }
|
|
127747
|
+
* ```
|
|
127748
|
+
* :::
|
|
127130
127749
|
*/
|
|
127131
127750
|
class ExportFile extends _base.BasePlugin {
|
|
127132
127751
|
static get PLUGIN_KEY() {
|
|
@@ -127708,6 +128327,22 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
|
127708
128327
|
* />
|
|
127709
128328
|
* ```
|
|
127710
128329
|
* :::
|
|
128330
|
+
*
|
|
128331
|
+
* ::: only-for angular
|
|
128332
|
+
* ```ts
|
|
128333
|
+
* settings = {
|
|
128334
|
+
* data: getData(),
|
|
128335
|
+
* colHeaders: true,
|
|
128336
|
+
* rowHeaders: true,
|
|
128337
|
+
* dropdownMenu: true,
|
|
128338
|
+
* filters: true,
|
|
128339
|
+
* };
|
|
128340
|
+
* ```
|
|
128341
|
+
*
|
|
128342
|
+
* ```html
|
|
128343
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
128344
|
+
* ```
|
|
128345
|
+
* :::
|
|
127711
128346
|
*/
|
|
127712
128347
|
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
|
127713
128348
|
var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
|
|
@@ -128090,6 +128725,64 @@ class Filters extends _base.BasePlugin {
|
|
|
128090
128725
|
* ```
|
|
128091
128726
|
* :::
|
|
128092
128727
|
*
|
|
128728
|
+
* ::: only-for angular
|
|
128729
|
+
* ```ts
|
|
128730
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
128731
|
+
* import {
|
|
128732
|
+
* GridSettings,
|
|
128733
|
+
* HotTableModule,
|
|
128734
|
+
* HotTableComponent,
|
|
128735
|
+
* } from "@handsontable/angular-wrapper";
|
|
128736
|
+
*
|
|
128737
|
+
* `@Component`({
|
|
128738
|
+
* selector: "app-example",
|
|
128739
|
+
* standalone: true,
|
|
128740
|
+
* imports: [HotTableModule],
|
|
128741
|
+
* template: ` <div class="ht-theme-main">
|
|
128742
|
+
* <hot-table [settings]="gridSettings" />
|
|
128743
|
+
* </div>`,
|
|
128744
|
+
* })
|
|
128745
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
128746
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
128747
|
+
* readonly hotTable!: HotTableComponent;
|
|
128748
|
+
*
|
|
128749
|
+
* readonly gridSettings = <GridSettings>{
|
|
128750
|
+
* data: this.getData(),
|
|
128751
|
+
* filters: true,
|
|
128752
|
+
* };
|
|
128753
|
+
*
|
|
128754
|
+
* ngAfterViewInit(): void {
|
|
128755
|
+
* // Access to filters plugin instance
|
|
128756
|
+
* const hot = this.hotTable.hotInstance;
|
|
128757
|
+
* const filtersPlugin = hot.getPlugin("filters");
|
|
128758
|
+
*
|
|
128759
|
+
* // Add filter "Greater than" 95 to column at index 1
|
|
128760
|
+
* filtersPlugin.addCondition(1, "gt", [95]);
|
|
128761
|
+
* filtersPlugin.filter();
|
|
128762
|
+
*
|
|
128763
|
+
* // Add filter "By value" to column at index 1
|
|
128764
|
+
* // In this case, all values that don't match will be filtered.
|
|
128765
|
+
* filtersPlugin.addCondition(1, "by_value", [["ing", "ed", "as", "on"]]);
|
|
128766
|
+
* filtersPlugin.filter();
|
|
128767
|
+
*
|
|
128768
|
+
* // Add filter "Begins with" with value "de" AND "Not contains" with value "ing"
|
|
128769
|
+
* filtersPlugin.addCondition(1, "begins_with", ["de"], "conjunction");
|
|
128770
|
+
* filtersPlugin.addCondition(1, "not_contains", ["ing"], "conjunction");
|
|
128771
|
+
* filtersPlugin.filter();
|
|
128772
|
+
*
|
|
128773
|
+
* // Add filter "Begins with" with value "de" OR "Not contains" with value "ing"
|
|
128774
|
+
* filtersPlugin.addCondition(1, "begins_with", ["de"], "disjunction");
|
|
128775
|
+
* filtersPlugin.addCondition(1, "not_contains", ["ing"], "disjunction");
|
|
128776
|
+
* filtersPlugin.filter();
|
|
128777
|
+
* }
|
|
128778
|
+
*
|
|
128779
|
+
* private getData(): any[] {
|
|
128780
|
+
* // Get some data
|
|
128781
|
+
* }
|
|
128782
|
+
* }
|
|
128783
|
+
* ```
|
|
128784
|
+
* :::
|
|
128785
|
+
*
|
|
128093
128786
|
* @param {number} column Visual column index.
|
|
128094
128787
|
* @param {string} name Condition short name.
|
|
128095
128788
|
* @param {Array} args Condition arguments.
|
|
@@ -135280,6 +135973,70 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
|
|
|
135280
135973
|
* hot.render();
|
|
135281
135974
|
* ```
|
|
135282
135975
|
* :::
|
|
135976
|
+
*
|
|
135977
|
+
* ::: only-for angular
|
|
135978
|
+
* ```ts
|
|
135979
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
135980
|
+
* import {
|
|
135981
|
+
* GridSettings,
|
|
135982
|
+
* HotTableModule,
|
|
135983
|
+
* HotTableComponent,
|
|
135984
|
+
* } from "@handsontable/angular-wrapper";
|
|
135985
|
+
*
|
|
135986
|
+
* `@Component`({
|
|
135987
|
+
* selector: "app-example",
|
|
135988
|
+
* standalone: true,
|
|
135989
|
+
* imports: [HotTableModule],
|
|
135990
|
+
* template: ` <div class="ht-theme-main">
|
|
135991
|
+
* <hot-table [settings]="gridSettings" />
|
|
135992
|
+
* </div>`,
|
|
135993
|
+
* })
|
|
135994
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
135995
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
135996
|
+
* readonly hotTable!: HotTableComponent;
|
|
135997
|
+
*
|
|
135998
|
+
* readonly gridSettings = <GridSettings>{
|
|
135999
|
+
* data: this.getData(),
|
|
136000
|
+
* hiddenColumns: {
|
|
136001
|
+
* copyPasteEnabled: true,
|
|
136002
|
+
* indicators: true,
|
|
136003
|
+
* columns: [1, 2, 5],
|
|
136004
|
+
* },
|
|
136005
|
+
* };
|
|
136006
|
+
*
|
|
136007
|
+
* ngAfterViewInit(): void {
|
|
136008
|
+
* // Access the `HiddenColumns` plugin's instance
|
|
136009
|
+
* const hot = this.hotTable.hotInstance;
|
|
136010
|
+
* const hiddenColumnsPlugin = hot.getPlugin("hiddenColumns");
|
|
136011
|
+
*
|
|
136012
|
+
* // Hide a single column
|
|
136013
|
+
* hiddenColumnsPlugin.hideColumn(1);
|
|
136014
|
+
*
|
|
136015
|
+
* // Hide multiple columns
|
|
136016
|
+
* hiddenColumnsPlugin.hideColumn(1, 2, 9);
|
|
136017
|
+
*
|
|
136018
|
+
* // Hide multiple columns as an array
|
|
136019
|
+
* hiddenColumnsPlugin.hideColumns([1, 2, 9]);
|
|
136020
|
+
*
|
|
136021
|
+
* // Unhide a single column
|
|
136022
|
+
* hiddenColumnsPlugin.showColumn(1);
|
|
136023
|
+
*
|
|
136024
|
+
* // Unhide multiple columns
|
|
136025
|
+
* hiddenColumnsPlugin.showColumn(1, 2, 9);
|
|
136026
|
+
*
|
|
136027
|
+
* // Unhide multiple columns as an array
|
|
136028
|
+
* hiddenColumnsPlugin.showColumns([1, 2, 9]);
|
|
136029
|
+
*
|
|
136030
|
+
* // To see your changes, re-render your Handsontable instance
|
|
136031
|
+
* hot.render();
|
|
136032
|
+
* }
|
|
136033
|
+
*
|
|
136034
|
+
* private getData(): any[] {
|
|
136035
|
+
* // Get some data
|
|
136036
|
+
* }
|
|
136037
|
+
* }
|
|
136038
|
+
* ```
|
|
136039
|
+
* :::
|
|
135283
136040
|
*/
|
|
135284
136041
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
|
135285
136042
|
var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
|
|
@@ -135969,6 +136726,70 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
|
|
|
135969
136726
|
* hot.render();
|
|
135970
136727
|
* ```
|
|
135971
136728
|
* :::
|
|
136729
|
+
*
|
|
136730
|
+
* ::: only-for angular
|
|
136731
|
+
* ```ts
|
|
136732
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
136733
|
+
* import {
|
|
136734
|
+
* GridSettings,
|
|
136735
|
+
* HotTableModule,
|
|
136736
|
+
* HotTableComponent,
|
|
136737
|
+
* } from "@handsontable/angular-wrapper";
|
|
136738
|
+
*
|
|
136739
|
+
* `@Component`({
|
|
136740
|
+
* selector: "app-example",
|
|
136741
|
+
* standalone: true,
|
|
136742
|
+
* imports: [HotTableModule],
|
|
136743
|
+
* template: ` <div class="ht-theme-main">
|
|
136744
|
+
* <hot-table [settings]="gridSettings" />
|
|
136745
|
+
* </div>`,
|
|
136746
|
+
* })
|
|
136747
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
136748
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
136749
|
+
* readonly hotTable!: HotTableComponent;
|
|
136750
|
+
*
|
|
136751
|
+
* readonly gridSettings = <GridSettings>{
|
|
136752
|
+
* data: this.getData(),
|
|
136753
|
+
* hiddenRows: {
|
|
136754
|
+
* copyPasteEnabled: true,
|
|
136755
|
+
* indicators: true,
|
|
136756
|
+
* rows: [1, 2, 5],
|
|
136757
|
+
* },
|
|
136758
|
+
* };
|
|
136759
|
+
*
|
|
136760
|
+
* ngAfterViewInit(): void {
|
|
136761
|
+
* // Access the `HiddenRows` plugin's instance
|
|
136762
|
+
* const hot = this.hotTable.hotInstance;
|
|
136763
|
+
* const hiddenRowsPlugin = hot.getPlugin("hiddenRows");
|
|
136764
|
+
*
|
|
136765
|
+
* // Hide a single row
|
|
136766
|
+
* hiddenRowsPlugin.hideRow(1);
|
|
136767
|
+
*
|
|
136768
|
+
* // Hide multiple rows
|
|
136769
|
+
* hiddenRowsPlugin.hideRow(1, 2, 9);
|
|
136770
|
+
*
|
|
136771
|
+
* // Hide multiple rows as an array
|
|
136772
|
+
* hiddenRowsPlugin.hideRows([1, 2, 9]);
|
|
136773
|
+
*
|
|
136774
|
+
* // Unhide a single row
|
|
136775
|
+
* hiddenRowsPlugin.showRow(1);
|
|
136776
|
+
*
|
|
136777
|
+
* // Unhide multiple rows
|
|
136778
|
+
* hiddenRowsPlugin.showRow(1, 2, 9);
|
|
136779
|
+
*
|
|
136780
|
+
* // Unhide multiple rows as an array
|
|
136781
|
+
* hiddenRowsPlugin.showRows([1, 2, 9]);
|
|
136782
|
+
*
|
|
136783
|
+
* // To see your changes, re-render your Handsontable instance
|
|
136784
|
+
* hot.render();
|
|
136785
|
+
* }
|
|
136786
|
+
*
|
|
136787
|
+
* private getData(): any[] {
|
|
136788
|
+
* // Get some data
|
|
136789
|
+
* }
|
|
136790
|
+
* }
|
|
136791
|
+
* ```
|
|
136792
|
+
* :::
|
|
135972
136793
|
*/
|
|
135973
136794
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
|
135974
136795
|
var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
|
|
@@ -140057,6 +140878,24 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
|
140057
140878
|
* />
|
|
140058
140879
|
* ```
|
|
140059
140880
|
* :::
|
|
140881
|
+
*
|
|
140882
|
+
* ::: only-for angular
|
|
140883
|
+
* ```ts
|
|
140884
|
+
* settings = {
|
|
140885
|
+
* data: getData(),
|
|
140886
|
+
* // Enable plugin
|
|
140887
|
+
* mergeCells: [
|
|
140888
|
+
* { row: 0, col: 3, rowspan: 3, colspan: 3 },
|
|
140889
|
+
* { row: 2, col: 6, rowspan: 2, colspan: 2 },
|
|
140890
|
+
* { row: 4, col: 8, rowspan: 3, colspan: 3 },
|
|
140891
|
+
* ],
|
|
140892
|
+
* };
|
|
140893
|
+
* ```
|
|
140894
|
+
*
|
|
140895
|
+
* ```html
|
|
140896
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
140897
|
+
* ```
|
|
140898
|
+
* :::
|
|
140060
140899
|
*/
|
|
140061
140900
|
var _lastSelectedFocus = /*#__PURE__*/new WeakMap();
|
|
140062
140901
|
var _lastFocusDelta = /*#__PURE__*/new WeakMap();
|
|
@@ -144619,6 +145458,31 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 280;
|
|
|
144619
145458
|
* />
|
|
144620
145459
|
* ```
|
|
144621
145460
|
* :::
|
|
145461
|
+
*
|
|
145462
|
+
* ::: only-for angular
|
|
145463
|
+
* ```ts
|
|
145464
|
+
* settings = {
|
|
145465
|
+
* data: getData(),
|
|
145466
|
+
* nestedHeaders: [
|
|
145467
|
+
* ["A", { label: "B", colspan: 8, headerClassName: "htRight" }, "C"],
|
|
145468
|
+
* ["D", { label: "E", colspan: 4 }, { label: "F", colspan: 4 }, "G"],
|
|
145469
|
+
* [
|
|
145470
|
+
* "H",
|
|
145471
|
+
* { label: "I", colspan: 2 },
|
|
145472
|
+
* { label: "J", colspan: 2 },
|
|
145473
|
+
* { label: "K", colspan: 2 },
|
|
145474
|
+
* { label: "L", colspan: 2 },
|
|
145475
|
+
* "M",
|
|
145476
|
+
* ],
|
|
145477
|
+
* ["N", "O", "P", "Q", "R", "S", "T", "U", "V", "W"],
|
|
145478
|
+
* ],
|
|
145479
|
+
* };
|
|
145480
|
+
* ```
|
|
145481
|
+
*
|
|
145482
|
+
* ```html
|
|
145483
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
145484
|
+
* ```
|
|
145485
|
+
* :::
|
|
144622
145486
|
*/
|
|
144623
145487
|
var _stateManager = /*#__PURE__*/new WeakMap();
|
|
144624
145488
|
var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
|
|
@@ -150670,6 +151534,19 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 155;
|
|
|
150670
151534
|
* />
|
|
150671
151535
|
* ```
|
|
150672
151536
|
* :::
|
|
151537
|
+
*
|
|
151538
|
+
* ::: only-for angular
|
|
151539
|
+
* ```ts
|
|
151540
|
+
* settings = {
|
|
151541
|
+
* data: getData(),
|
|
151542
|
+
* stretchH: "all",
|
|
151543
|
+
* };
|
|
151544
|
+
* ```
|
|
151545
|
+
*
|
|
151546
|
+
* ```html
|
|
151547
|
+
* <hot-table [settings]="settings"></hot-table>
|
|
151548
|
+
* ```
|
|
151549
|
+
* :::
|
|
150673
151550
|
*/
|
|
150674
151551
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
150675
151552
|
var _stretchCalculator = /*#__PURE__*/new WeakMap();
|
|
@@ -151579,6 +152456,67 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 330;
|
|
|
151579
152456
|
* hot.render();
|
|
151580
152457
|
* ```
|
|
151581
152458
|
* :::
|
|
152459
|
+
*
|
|
152460
|
+
* ::: only-for angular
|
|
152461
|
+
* ```ts
|
|
152462
|
+
* import { AfterViewInit, Component, ViewChild } from "@angular/core";
|
|
152463
|
+
* import {
|
|
152464
|
+
* GridSettings,
|
|
152465
|
+
* HotTableModule,
|
|
152466
|
+
* HotTableComponent,
|
|
152467
|
+
* } from "@handsontable/angular-wrapper";
|
|
152468
|
+
*
|
|
152469
|
+
* `@Component`({
|
|
152470
|
+
* selector: "app-example",
|
|
152471
|
+
* standalone: true,
|
|
152472
|
+
* imports: [HotTableModule],
|
|
152473
|
+
* template: ` <div class="ht-theme-main">
|
|
152474
|
+
* <hot-table [settings]="gridSettings" />
|
|
152475
|
+
* </div>`,
|
|
152476
|
+
* })
|
|
152477
|
+
* export class ExampleComponent implements AfterViewInit {
|
|
152478
|
+
* `@ViewChild`(HotTableComponent, { static: false })
|
|
152479
|
+
* readonly hotTable!: HotTableComponent;
|
|
152480
|
+
*
|
|
152481
|
+
* readonly gridSettings = <GridSettings>{
|
|
152482
|
+
* data: this.getData(),
|
|
152483
|
+
* // Hide selected rows on table initialization
|
|
152484
|
+
* trimRows: [1, 2, 5],
|
|
152485
|
+
* };
|
|
152486
|
+
*
|
|
152487
|
+
* ngAfterViewInit(): void {
|
|
152488
|
+
* // Access the trimRows plugin instance
|
|
152489
|
+
* const hot = this.hotTable.hotInstance;
|
|
152490
|
+
* const trimRowsPlugin = hot.getPlugin("trimRows");
|
|
152491
|
+
*
|
|
152492
|
+
* // Hide a single row
|
|
152493
|
+
* trimRowsPlugin.trimRow(1);
|
|
152494
|
+
*
|
|
152495
|
+
* // Hide multiple rows
|
|
152496
|
+
* trimRowsPlugin.trimRow(1, 2, 9);
|
|
152497
|
+
*
|
|
152498
|
+
* // Or as an array
|
|
152499
|
+
* trimRowsPlugin.trimRows([1, 2, 9]);
|
|
152500
|
+
*
|
|
152501
|
+
* // Show a single row
|
|
152502
|
+
* trimRowsPlugin.untrimRow(1);
|
|
152503
|
+
*
|
|
152504
|
+
* // Show multiple rows
|
|
152505
|
+
* trimRowsPlugin.untrimRow(1, 2, 9);
|
|
152506
|
+
*
|
|
152507
|
+
* // Or as an array
|
|
152508
|
+
* trimRowsPlugin.untrimRows([1, 2, 9]);
|
|
152509
|
+
*
|
|
152510
|
+
* // Re-render table to see the changes
|
|
152511
|
+
* hot.render();
|
|
152512
|
+
* }
|
|
152513
|
+
*
|
|
152514
|
+
* private getData(): any[] {
|
|
152515
|
+
* // Get some data
|
|
152516
|
+
* }
|
|
152517
|
+
* }
|
|
152518
|
+
* ```
|
|
152519
|
+
* :::
|
|
151582
152520
|
*/
|
|
151583
152521
|
var _TrimRows_brand = /*#__PURE__*/new WeakSet();
|
|
151584
152522
|
class TrimRows extends _base.BasePlugin {
|