handsontable 15.0.0 → 15.1.0-next-dfdf994-20250206
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/3rdparty/walkontable/src/index.js +2 -0
- package/3rdparty/walkontable/src/index.mjs +2 -1
- package/3rdparty/walkontable/src/overlays.js +2 -39
- package/3rdparty/walkontable/src/overlays.mjs +2 -39
- package/3rdparty/walkontable/src/renderer/_base.js +3 -4
- package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/cells.js +7 -11
- package/3rdparty/walkontable/src/renderer/cells.mjs +6 -9
- package/3rdparty/walkontable/src/renderer/colGroup.js +6 -7
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +5 -5
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +4 -5
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
- package/3rdparty/walkontable/src/renderer/index.js +18 -19
- package/3rdparty/walkontable/src/renderer/index.mjs +6 -6
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -7
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +5 -5
- package/3rdparty/walkontable/src/renderer/rows.js +23 -11
- package/3rdparty/walkontable/src/renderer/rows.mjs +23 -10
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/selection/border/border.js +10 -2
- package/3rdparty/walkontable/src/selection/border/border.mjs +10 -2
- package/3rdparty/walkontable/src/utils/nodesPool.js +21 -6
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +21 -6
- package/3rdparty/walkontable/src/utils/orderView/index.js +4 -5
- package/3rdparty/walkontable/src/utils/orderView/index.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -4
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.js +60 -76
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +59 -74
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.js +138 -0
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.mjs +135 -0
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +72 -0
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +68 -0
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +4 -5
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +3 -3
- package/CHANGELOG.md +54 -0
- package/README.md +3 -3
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dropdownType/dropdownType.js +4 -2
- package/cellTypes/dropdownType/dropdownType.mjs +4 -2
- package/core.js +39 -38
- package/core.mjs +36 -35
- package/dataMap/dataMap.js +8 -0
- package/dataMap/dataMap.mjs +8 -0
- package/dataMap/dataSource.js +4 -0
- package/dataMap/dataSource.mjs +4 -0
- package/dataMap/metaManager/lazyFactoryMap.js +8 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +8 -5
- package/dataMap/metaManager/metaSchema.js +24 -9
- package/dataMap/metaManager/metaSchema.mjs +24 -9
- package/dist/handsontable.css +6 -2
- package/dist/handsontable.full.css +6 -2
- package/dist/handsontable.full.js +8020 -6915
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +530 -528
- package/dist/handsontable.js +3827 -2902
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +35 -33
- package/editors/autocompleteEditor/autocompleteEditor.js +1 -3
- package/editors/autocompleteEditor/autocompleteEditor.mjs +1 -3
- package/editors/dateEditor/dateEditor.js +4 -0
- package/editors/dateEditor/dateEditor.mjs +4 -0
- package/editors/dropdownEditor/dropdownEditor.js +3 -16
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -16
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
- package/focusManager.js +1 -1
- package/focusManager.mjs +1 -1
- package/helpers/dom/element.d.ts +0 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +4 -0
- package/helpers/object.mjs +4 -0
- package/package.json +2 -2
- package/plugins/base/base.js +0 -7
- package/plugins/base/base.mjs +0 -7
- package/plugins/comments/comments.js +12 -3
- package/plugins/comments/comments.mjs +12 -3
- package/plugins/contextMenu/contextMenu.js +2 -7
- package/plugins/contextMenu/contextMenu.mjs +2 -7
- package/plugins/contextMenu/menu/menu.js +2 -2
- package/plugins/contextMenu/menu/menu.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/clearColumn.js +15 -4
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +15 -4
- package/plugins/filters/conditionCollection.js +8 -7
- package/plugins/filters/conditionCollection.mjs +8 -7
- package/plugins/filters/filters.js +26 -16
- package/plugins/filters/filters.mjs +26 -16
- package/plugins/filters/utils.js +7 -24
- package/plugins/filters/utils.mjs +7 -24
- package/plugins/hiddenColumns/hiddenColumns.js +1 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -3
- package/plugins/hiddenRows/hiddenRows.js +1 -3
- package/plugins/hiddenRows/hiddenRows.mjs +1 -3
- package/plugins/manualRowMove/manualRowMove.js +1 -1
- package/plugins/manualRowMove/manualRowMove.mjs +1 -1
- package/plugins/mergeCells/calculations/autofill.js +60 -44
- package/plugins/mergeCells/calculations/autofill.mjs +60 -44
- package/plugins/mergeCells/cellsCollection.js +25 -8
- package/plugins/mergeCells/cellsCollection.mjs +25 -8
- package/plugins/mergeCells/mergeCells.js +15 -16
- package/plugins/mergeCells/mergeCells.mjs +15 -16
- package/plugins/nestedHeaders/nestedHeaders.js +6 -1
- package/plugins/nestedHeaders/nestedHeaders.mjs +6 -1
- package/plugins/nestedHeaders/stateManager/index.js +1 -2
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +4 -0
- package/plugins/nestedHeaders/utils/ghostTable.mjs +4 -0
- package/plugins/nestedRows/utils/rowMoveController.js +1 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -6
- package/plugins/undoRedo/actions/_base.js +19 -0
- package/plugins/undoRedo/actions/_base.mjs +15 -0
- package/plugins/undoRedo/actions/cellAlignment.js +85 -0
- package/plugins/undoRedo/actions/cellAlignment.mjs +81 -0
- package/plugins/undoRedo/actions/columnMove.js +84 -0
- package/plugins/undoRedo/actions/columnMove.mjs +80 -0
- package/plugins/undoRedo/actions/columnSort.js +73 -0
- package/plugins/undoRedo/actions/columnSort.mjs +69 -0
- package/plugins/undoRedo/actions/createColumn.js +60 -0
- package/plugins/undoRedo/actions/createColumn.mjs +56 -0
- package/plugins/undoRedo/actions/createRow.js +65 -0
- package/plugins/undoRedo/actions/createRow.mjs +61 -0
- package/plugins/undoRedo/actions/dataChange.js +123 -0
- package/plugins/undoRedo/actions/dataChange.mjs +119 -0
- package/plugins/undoRedo/actions/filters.js +66 -0
- package/plugins/undoRedo/actions/filters.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +27 -0
- package/plugins/undoRedo/actions/index.mjs +23 -0
- package/plugins/undoRedo/actions/mergeCells.js +63 -0
- package/plugins/undoRedo/actions/mergeCells.mjs +59 -0
- package/plugins/undoRedo/actions/removeColumn.js +176 -0
- package/plugins/undoRedo/actions/removeColumn.mjs +172 -0
- package/plugins/undoRedo/actions/removeRow.js +119 -0
- package/plugins/undoRedo/actions/removeRow.mjs +115 -0
- package/plugins/undoRedo/actions/rowMove.js +84 -0
- package/plugins/undoRedo/actions/rowMove.mjs +80 -0
- package/plugins/undoRedo/actions/unmergeCells.js +56 -0
- package/plugins/undoRedo/actions/unmergeCells.mjs +52 -0
- package/plugins/undoRedo/index.js +3 -4
- package/plugins/undoRedo/index.mjs +1 -2
- package/plugins/undoRedo/undoRedo.js +277 -879
- package/plugins/undoRedo/undoRedo.mjs +277 -880
- package/plugins/undoRedo/utils.js +37 -0
- package/plugins/undoRedo/utils.mjs +33 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -1
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -1
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +1 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +1 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +2 -1
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +2 -1
- package/styles/handsontable.css +75 -103
- package/styles/handsontable.min.css +3 -3
- 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
- package/tableView.js +17 -1
- package/tableView.mjs +17 -1
- package/utils/autoResize.js +1 -1
- package/utils/autoResize.mjs +1 -1
- package/utils/parseTable.js +1 -1
- package/utils/parseTable.mjs +1 -1
- package/validators/dateValidator/dateValidator.js +1 -1
- package/validators/dateValidator/dateValidator.mjs +1 -1
package/dataMap/dataSource.mjs
CHANGED
@@ -182,6 +182,10 @@ class DataSource {
|
|
182
182
|
value = valueHolder.value;
|
183
183
|
}
|
184
184
|
}
|
185
|
+
if (!Number.isInteger(row)) {
|
186
|
+
// invalid row number
|
187
|
+
return;
|
188
|
+
}
|
185
189
|
if (!Number.isInteger(column)) {
|
186
190
|
// column argument is the prop name
|
187
191
|
setProperty(this.data[row], column, value);
|
@@ -10,7 +10,8 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
10
10
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
11
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
12
|
require("core-js/modules/es.set.union.v2.js");
|
13
|
-
|
13
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
14
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
14
15
|
var _utils = require("./utils");
|
15
16
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
16
17
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
@@ -208,7 +209,7 @@ class LazyFactoryMap {
|
|
208
209
|
* new data.
|
209
210
|
*
|
210
211
|
* @param {number} key The key as volatile zero-based index at which to begin inserting space for new data.
|
211
|
-
* @param {number} [amount=1]
|
212
|
+
* @param {number} [amount=1] Amount of data to insert.
|
212
213
|
*/
|
213
214
|
insert(key) {
|
214
215
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
@@ -227,7 +228,7 @@ class LazyFactoryMap {
|
|
227
228
|
* Removes (soft remove) data from "index" and according to the amount of data.
|
228
229
|
*
|
229
230
|
* @param {number} key The key as volatile zero-based index at which to begin removing the data.
|
230
|
-
* @param {number} [amount=1]
|
231
|
+
* @param {number} [amount=1] Amount data to remove.
|
231
232
|
*/
|
232
233
|
remove(key) {
|
233
234
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
@@ -256,7 +257,9 @@ class LazyFactoryMap {
|
|
256
257
|
* @returns {Iterator}
|
257
258
|
*/
|
258
259
|
values() {
|
259
|
-
return
|
260
|
+
return this.data.filter((meta, index) => {
|
261
|
+
return meta !== undefined && !this.holes.has(index);
|
262
|
+
})[Symbol.iterator]();
|
260
263
|
}
|
261
264
|
|
262
265
|
/**
|
@@ -268,7 +271,7 @@ class LazyFactoryMap {
|
|
268
271
|
const validEntries = [];
|
269
272
|
for (let i = 0; i < this.data.length; i++) {
|
270
273
|
const keyIndex = this._getKeyByStorageIndex(i);
|
271
|
-
if (keyIndex !== -1) {
|
274
|
+
if (keyIndex !== -1 && this.data[i] !== undefined) {
|
272
275
|
validEntries.push([keyIndex, this.data[i]]);
|
273
276
|
}
|
274
277
|
}
|
@@ -7,10 +7,11 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
7
7
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
8
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
9
|
import "core-js/modules/es.set.union.v2.js";
|
10
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
11
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
10
12
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
11
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
12
14
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
13
|
-
import { arrayFilter } from "../../helpers/array.mjs";
|
14
15
|
import { assert, isUnsignedNumber, isNullish } from "./utils.mjs";
|
15
16
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
16
17
|
/**
|
@@ -205,7 +206,7 @@ export default class LazyFactoryMap {
|
|
205
206
|
* new data.
|
206
207
|
*
|
207
208
|
* @param {number} key The key as volatile zero-based index at which to begin inserting space for new data.
|
208
|
-
* @param {number} [amount=1]
|
209
|
+
* @param {number} [amount=1] Amount of data to insert.
|
209
210
|
*/
|
210
211
|
insert(key) {
|
211
212
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
@@ -224,7 +225,7 @@ export default class LazyFactoryMap {
|
|
224
225
|
* Removes (soft remove) data from "index" and according to the amount of data.
|
225
226
|
*
|
226
227
|
* @param {number} key The key as volatile zero-based index at which to begin removing the data.
|
227
|
-
* @param {number} [amount=1]
|
228
|
+
* @param {number} [amount=1] Amount data to remove.
|
228
229
|
*/
|
229
230
|
remove(key) {
|
230
231
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
@@ -253,7 +254,9 @@ export default class LazyFactoryMap {
|
|
253
254
|
* @returns {Iterator}
|
254
255
|
*/
|
255
256
|
values() {
|
256
|
-
return
|
257
|
+
return this.data.filter((meta, index) => {
|
258
|
+
return meta !== undefined && !this.holes.has(index);
|
259
|
+
})[Symbol.iterator]();
|
257
260
|
}
|
258
261
|
|
259
262
|
/**
|
@@ -265,7 +268,7 @@ export default class LazyFactoryMap {
|
|
265
268
|
const validEntries = [];
|
266
269
|
for (let i = 0; i < this.data.length; i++) {
|
267
270
|
const keyIndex = this._getKeyByStorageIndex(i);
|
268
|
-
if (keyIndex !== -1) {
|
271
|
+
if (keyIndex !== -1 && this.data[i] !== undefined) {
|
269
272
|
validEntries.push([keyIndex, this.data[i]]);
|
270
273
|
}
|
271
274
|
}
|
@@ -2631,7 +2631,7 @@ var _default = () => {
|
|
2631
2631
|
* columns: [{
|
2632
2632
|
* type: 'checkbox',
|
2633
2633
|
* // add 'My label:' after the checkbox
|
2634
|
-
* label: { position: '
|
2634
|
+
* label: { position: 'before', value: 'My label: ', separated: true }
|
2635
2635
|
* }],
|
2636
2636
|
* ```
|
2637
2637
|
*/
|
@@ -2992,11 +2992,13 @@ var _default = () => {
|
|
2992
2992
|
*
|
2993
2993
|
* You can set the `mergeCells` option to one of the following:
|
2994
2994
|
*
|
2995
|
-
* | Setting
|
2996
|
-
* |
|
2997
|
-
* | `true`
|
2998
|
-
* | `false`
|
2999
|
-
* | An array of objects
|
2995
|
+
* | Setting | Description |
|
2996
|
+
* | --------------------- | --------------------------------------------------------------------------------------------------- |
|
2997
|
+
* | `true` | Enable the [`MergeCells`](@/api/mergeCells.md) plugin |
|
2998
|
+
* | `false` | Disable the [`MergeCells`](@/api/mergeCells.md) plugin |
|
2999
|
+
* | An array of objects | - Enable the [`MergeCells`](@/api/mergeCells.md) plugin<br>- Merge specific cells at initialization |
|
3000
|
+
* | { virtualized: true } | Enable the [`MergeCells`](@/api/mergeCells.md) plugin with enabled virtualization mode |
|
3001
|
+
*
|
3000
3002
|
*
|
3001
3003
|
* To merge specific cells at Handsontable's initialization,
|
3002
3004
|
* set the `mergeCells` option to an array of objects, with the following properties:
|
@@ -3031,6 +3033,20 @@ var _default = () => {
|
|
3031
3033
|
* // merge cells from cell (5,6) to cell (3,3)
|
3032
3034
|
* {row: 5, col: 6, rowspan: 3, colspan: 3}
|
3033
3035
|
* ],
|
3036
|
+
*
|
3037
|
+
* // enable the `MergeCells` plugin with enabled virtualization mode
|
3038
|
+
* // and merge specific cells at initialization
|
3039
|
+
* mergeCells: {
|
3040
|
+
* virtualized: true,
|
3041
|
+
* cells: [
|
3042
|
+
* // merge cells from cell (1,1) to cell (3,3)
|
3043
|
+
* {row: 1, col: 1, rowspan: 3, colspan: 3},
|
3044
|
+
* // merge cells from cell (3,4) to cell (2,2)
|
3045
|
+
* {row: 3, col: 4, rowspan: 2, colspan: 2},
|
3046
|
+
* // merge cells from cell (5,6) to cell (3,3)
|
3047
|
+
* {row: 5, col: 6, rowspan: 3, colspan: 3}
|
3048
|
+
* ],
|
3049
|
+
* },
|
3034
3050
|
* ```
|
3035
3051
|
*/
|
3036
3052
|
mergeCells: false,
|
@@ -4604,8 +4620,7 @@ var _default = () => {
|
|
4604
4620
|
* | `true` | Enable the [`UndoRedo`](@/api/undoRedo.md) plugin |
|
4605
4621
|
* | `false` | Disable the [`UndoRedo`](@/api/undoRedo.md) plugin |
|
4606
4622
|
*
|
4607
|
-
* By default, the `undo` option is set to `
|
4608
|
-
* but the [`UndoRedo`](@/api/undoRedo.md) plugin acts as enabled.
|
4623
|
+
* By default, the `undo` option is set to `true`,
|
4609
4624
|
* To disable the [`UndoRedo`](@/api/undoRedo.md) plugin completely,
|
4610
4625
|
* set the `undo` option to `false`.
|
4611
4626
|
*
|
@@ -4623,7 +4638,7 @@ var _default = () => {
|
|
4623
4638
|
* undo: true,
|
4624
4639
|
* ```
|
4625
4640
|
*/
|
4626
|
-
undo:
|
4641
|
+
undo: true,
|
4627
4642
|
/**
|
4628
4643
|
* @description
|
4629
4644
|
* The `validator` option sets a [cell validator](@/guides/cell-functions/cell-validator/cell-validator.md) for a cell.
|
@@ -2628,7 +2628,7 @@ export default () => {
|
|
2628
2628
|
* columns: [{
|
2629
2629
|
* type: 'checkbox',
|
2630
2630
|
* // add 'My label:' after the checkbox
|
2631
|
-
* label: { position: '
|
2631
|
+
* label: { position: 'before', value: 'My label: ', separated: true }
|
2632
2632
|
* }],
|
2633
2633
|
* ```
|
2634
2634
|
*/
|
@@ -2989,11 +2989,13 @@ export default () => {
|
|
2989
2989
|
*
|
2990
2990
|
* You can set the `mergeCells` option to one of the following:
|
2991
2991
|
*
|
2992
|
-
* | Setting
|
2993
|
-
* |
|
2994
|
-
* | `true`
|
2995
|
-
* | `false`
|
2996
|
-
* | An array of objects
|
2992
|
+
* | Setting | Description |
|
2993
|
+
* | --------------------- | --------------------------------------------------------------------------------------------------- |
|
2994
|
+
* | `true` | Enable the [`MergeCells`](@/api/mergeCells.md) plugin |
|
2995
|
+
* | `false` | Disable the [`MergeCells`](@/api/mergeCells.md) plugin |
|
2996
|
+
* | An array of objects | - Enable the [`MergeCells`](@/api/mergeCells.md) plugin<br>- Merge specific cells at initialization |
|
2997
|
+
* | { virtualized: true } | Enable the [`MergeCells`](@/api/mergeCells.md) plugin with enabled virtualization mode |
|
2998
|
+
*
|
2997
2999
|
*
|
2998
3000
|
* To merge specific cells at Handsontable's initialization,
|
2999
3001
|
* set the `mergeCells` option to an array of objects, with the following properties:
|
@@ -3028,6 +3030,20 @@ export default () => {
|
|
3028
3030
|
* // merge cells from cell (5,6) to cell (3,3)
|
3029
3031
|
* {row: 5, col: 6, rowspan: 3, colspan: 3}
|
3030
3032
|
* ],
|
3033
|
+
*
|
3034
|
+
* // enable the `MergeCells` plugin with enabled virtualization mode
|
3035
|
+
* // and merge specific cells at initialization
|
3036
|
+
* mergeCells: {
|
3037
|
+
* virtualized: true,
|
3038
|
+
* cells: [
|
3039
|
+
* // merge cells from cell (1,1) to cell (3,3)
|
3040
|
+
* {row: 1, col: 1, rowspan: 3, colspan: 3},
|
3041
|
+
* // merge cells from cell (3,4) to cell (2,2)
|
3042
|
+
* {row: 3, col: 4, rowspan: 2, colspan: 2},
|
3043
|
+
* // merge cells from cell (5,6) to cell (3,3)
|
3044
|
+
* {row: 5, col: 6, rowspan: 3, colspan: 3}
|
3045
|
+
* ],
|
3046
|
+
* },
|
3031
3047
|
* ```
|
3032
3048
|
*/
|
3033
3049
|
mergeCells: false,
|
@@ -4601,8 +4617,7 @@ export default () => {
|
|
4601
4617
|
* | `true` | Enable the [`UndoRedo`](@/api/undoRedo.md) plugin |
|
4602
4618
|
* | `false` | Disable the [`UndoRedo`](@/api/undoRedo.md) plugin |
|
4603
4619
|
*
|
4604
|
-
* By default, the `undo` option is set to `
|
4605
|
-
* but the [`UndoRedo`](@/api/undoRedo.md) plugin acts as enabled.
|
4620
|
+
* By default, the `undo` option is set to `true`,
|
4606
4621
|
* To disable the [`UndoRedo`](@/api/undoRedo.md) plugin completely,
|
4607
4622
|
* set the `undo` option to `false`.
|
4608
4623
|
*
|
@@ -4620,7 +4635,7 @@ export default () => {
|
|
4620
4635
|
* undo: true,
|
4621
4636
|
* ```
|
4622
4637
|
*/
|
4623
|
-
undo:
|
4638
|
+
undo: true,
|
4624
4639
|
/**
|
4625
4640
|
* @description
|
4626
4641
|
* The `validator` option sets a [cell validator](@/guides/cell-functions/cell-validator/cell-validator.md) for a cell.
|
package/dist/handsontable.css
CHANGED
@@ -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: 15.
|
29
|
-
* Release date:
|
28
|
+
* Version: 15.1.0-next-dfdf994-20250206
|
29
|
+
* Release date: 12/02/2025 (built at 06/02/2025 09:05:15)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -1990,6 +1990,10 @@ textarea.HandsontableCopyPaste {
|
|
1990
1990
|
display: none;
|
1991
1991
|
}
|
1992
1992
|
|
1993
|
+
thead th.hiddenHeaderText .colHeader {
|
1994
|
+
opacity: 0;
|
1995
|
+
}
|
1996
|
+
|
1993
1997
|
@charset "UTF-8";
|
1994
1998
|
|
1995
1999
|
.handsontable th.ht_nestingLevels {
|
@@ -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: 15.
|
29
|
-
* Release date:
|
28
|
+
* Version: 15.1.0-next-dfdf994-20250206
|
29
|
+
* Release date: 12/02/2025 (built at 06/02/2025 09:05:15)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -1990,6 +1990,10 @@ textarea.HandsontableCopyPaste {
|
|
1990
1990
|
display: none;
|
1991
1991
|
}
|
1992
1992
|
|
1993
|
+
thead th.hiddenHeaderText .colHeader {
|
1994
|
+
opacity: 0;
|
1995
|
+
}
|
1996
|
+
|
1993
1997
|
@charset "UTF-8";
|
1994
1998
|
|
1995
1999
|
.handsontable th.ht_nestingLevels {
|