handsontable 12.3.3 → 12.4.0-next-ddbea0c-20230512
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/cell/coords.js +13 -16
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -16
- package/3rdparty/walkontable/src/cell/range.js +25 -29
- package/3rdparty/walkontable/src/cell/range.mjs +24 -28
- package/3rdparty/walkontable/src/core/_base.js +16 -20
- package/3rdparty/walkontable/src/core/_base.mjs +16 -20
- package/3rdparty/walkontable/src/event.js +4 -0
- package/3rdparty/walkontable/src/event.mjs +4 -0
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +22 -26
- package/3rdparty/walkontable/src/table.mjs +22 -26
- package/CHANGELOG.md +14 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/core.js +23 -6
- package/core.mjs +23 -6
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/metaSchema.js +9 -7
- package/dataMap/metaManager/metaSchema.mjs +9 -7
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7364 -5992
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +256 -234
- package/dist/handsontable.js +4326 -3275
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
- package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.js +16 -6
- package/pluginHooks.mjs +15 -3
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/base/base.js +9 -10
- package/plugins/base/base.mjs +9 -10
- package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
- package/plugins/copyPaste/copyPaste.js +92 -16
- package/plugins/copyPaste/copyPaste.mjs +92 -16
- package/plugins/copyPaste/copyableRanges.js +39 -39
- package/plugins/copyPaste/copyableRanges.mjs +32 -32
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +6 -7
- package/plugins/customBorders/customBorders.mjs +6 -7
- package/plugins/filters/filters.js +5 -0
- package/plugins/filters/filters.mjs +5 -0
- package/plugins/formulas/engine/register.js +9 -0
- package/plugins/formulas/engine/register.mjs +13 -4
- package/plugins/formulas/engine/settings.js +18 -3
- package/plugins/formulas/engine/settings.mjs +16 -3
- package/plugins/formulas/formulas.js +308 -162
- package/plugins/formulas/formulas.mjs +308 -163
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/formulas/utils.js +81 -0
- package/plugins/formulas/utils.mjs +74 -0
- package/plugins/hiddenColumns/hiddenColumns.js +12 -7
- package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
- package/plugins/hiddenRows/hiddenRows.js +12 -7
- package/plugins/hiddenRows/hiddenRows.mjs +12 -7
- package/plugins/manualRowMove/manualRowMove.js +26 -11
- package/plugins/manualRowMove/manualRowMove.mjs +27 -12
- package/plugins/nestedHeaders/nestedHeaders.js +26 -7
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
- package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
- package/plugins/nestedHeaders/stateManager/index.js +21 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/registry.js +3 -1
- package/plugins/undoRedo/undoRedo.js +0 -1
- package/plugins/undoRedo/undoRedo.mjs +0 -1
- package/selection/highlight/visualSelection.js +5 -6
- package/selection/highlight/visualSelection.mjs +5 -6
- package/tableView.js +62 -72
- package/tableView.mjs +62 -72
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +8 -1
- package/translations/changesObservable/observer.mjs +7 -0
- package/translations/indexMapper.js +21 -0
- package/translations/indexMapper.mjs +21 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
- package/utils/dataStructures/tree.js +15 -18
- package/utils/dataStructures/tree.mjs +15 -18
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
package/core.js
CHANGED
@@ -107,7 +107,7 @@ var deprecationWarns = new Set();
|
|
107
107
|
* :::
|
108
108
|
*
|
109
109
|
* ::: only-for react
|
110
|
-
* ```jsx
|
110
|
+
* ```jsx
|
111
111
|
* import { useRef } from 'react';
|
112
112
|
*
|
113
113
|
* const hotTableComponent = useRef(null);
|
@@ -263,6 +263,12 @@ function Core(rootElement, userSettings) {
|
|
263
263
|
* @type {IndexMapper}
|
264
264
|
*/
|
265
265
|
this.rowIndexMapper = new _translations.IndexMapper();
|
266
|
+
this.columnIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
267
|
+
instance.runHooks('afterColumnSequenceChange', source);
|
268
|
+
});
|
269
|
+
this.rowIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
270
|
+
instance.runHooks('afterRowSequenceChange', source);
|
271
|
+
});
|
266
272
|
dataSource = new _dataSource.default(instance);
|
267
273
|
if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
|
268
274
|
this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
|
@@ -2442,11 +2448,13 @@ function Core(rootElement, userSettings) {
|
|
2442
2448
|
};
|
2443
2449
|
|
2444
2450
|
/**
|
2445
|
-
*
|
2451
|
+
* Gets the value of the currently focused cell.
|
2452
|
+
*
|
2453
|
+
* For column headers and row headers, returns `null`.
|
2446
2454
|
*
|
2447
2455
|
* @memberof Core#
|
2448
2456
|
* @function getValue
|
2449
|
-
* @returns {*}
|
2457
|
+
* @returns {*} The value of the focused cell.
|
2450
2458
|
*/
|
2451
2459
|
this.getValue = function () {
|
2452
2460
|
var sel = instance.getSelectedLast();
|
@@ -2789,6 +2797,11 @@ function Core(rootElement, userSettings) {
|
|
2789
2797
|
* __Note__: This method does not participate in data transformation. If the visual data of the table is reordered,
|
2790
2798
|
* sorted or trimmed only physical indexes are correct.
|
2791
2799
|
*
|
2800
|
+
* __Note__: This method may return incorrect values for cells that contain
|
2801
|
+
* [formulas](@/guides/formulas/formula-calculation.md). This is because `getSourceData()`
|
2802
|
+
* operates on source data ([physical indexes](@/api/indexMapper.md)),
|
2803
|
+
* whereas formulas operate on visual data (visual indexes).
|
2804
|
+
*
|
2792
2805
|
* @memberof Core#
|
2793
2806
|
* @function getSourceData
|
2794
2807
|
* @param {number} [row] From physical row index.
|
@@ -3138,7 +3151,13 @@ function Core(rootElement, userSettings) {
|
|
3138
3151
|
};
|
3139
3152
|
|
3140
3153
|
/**
|
3141
|
-
* Checks if
|
3154
|
+
* Checks if your [data format](@/guides/getting-started/binding-to-data.md#compatible-data-types)
|
3155
|
+
* and [configuration options](@/guides/getting-started/configuration-options.md)
|
3156
|
+
* allow for changing the number of columns.
|
3157
|
+
*
|
3158
|
+
* Returns `false` when your data is an array of objects,
|
3159
|
+
* or when you use the [`columns`](@/api/options.md#columns) option.
|
3160
|
+
* Otherwise, returns `true`.
|
3142
3161
|
*
|
3143
3162
|
* @memberof Core#
|
3144
3163
|
* @function isColumnModificationAllowed
|
@@ -4104,8 +4123,6 @@ function Core(rootElement, userSettings) {
|
|
4104
4123
|
if (datamap) {
|
4105
4124
|
datamap.destroy();
|
4106
4125
|
}
|
4107
|
-
instance.rowIndexMapper = null;
|
4108
|
-
instance.columnIndexMapper = null;
|
4109
4126
|
datamap = null;
|
4110
4127
|
grid = null;
|
4111
4128
|
selection = null;
|
package/core.mjs
CHANGED
@@ -102,7 +102,7 @@ var deprecationWarns = new Set();
|
|
102
102
|
* :::
|
103
103
|
*
|
104
104
|
* ::: only-for react
|
105
|
-
* ```jsx
|
105
|
+
* ```jsx
|
106
106
|
* import { useRef } from 'react';
|
107
107
|
*
|
108
108
|
* const hotTableComponent = useRef(null);
|
@@ -258,6 +258,12 @@ export default function Core(rootElement, userSettings) {
|
|
258
258
|
* @type {IndexMapper}
|
259
259
|
*/
|
260
260
|
this.rowIndexMapper = new IndexMapper();
|
261
|
+
this.columnIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
262
|
+
instance.runHooks('afterColumnSequenceChange', source);
|
263
|
+
});
|
264
|
+
this.rowIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
265
|
+
instance.runHooks('afterRowSequenceChange', source);
|
266
|
+
});
|
261
267
|
dataSource = new DataSource(instance);
|
262
268
|
if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
|
263
269
|
this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
|
@@ -2437,11 +2443,13 @@ export default function Core(rootElement, userSettings) {
|
|
2437
2443
|
};
|
2438
2444
|
|
2439
2445
|
/**
|
2440
|
-
*
|
2446
|
+
* Gets the value of the currently focused cell.
|
2447
|
+
*
|
2448
|
+
* For column headers and row headers, returns `null`.
|
2441
2449
|
*
|
2442
2450
|
* @memberof Core#
|
2443
2451
|
* @function getValue
|
2444
|
-
* @returns {*}
|
2452
|
+
* @returns {*} The value of the focused cell.
|
2445
2453
|
*/
|
2446
2454
|
this.getValue = function () {
|
2447
2455
|
var sel = instance.getSelectedLast();
|
@@ -2784,6 +2792,11 @@ export default function Core(rootElement, userSettings) {
|
|
2784
2792
|
* __Note__: This method does not participate in data transformation. If the visual data of the table is reordered,
|
2785
2793
|
* sorted or trimmed only physical indexes are correct.
|
2786
2794
|
*
|
2795
|
+
* __Note__: This method may return incorrect values for cells that contain
|
2796
|
+
* [formulas](@/guides/formulas/formula-calculation.md). This is because `getSourceData()`
|
2797
|
+
* operates on source data ([physical indexes](@/api/indexMapper.md)),
|
2798
|
+
* whereas formulas operate on visual data (visual indexes).
|
2799
|
+
*
|
2787
2800
|
* @memberof Core#
|
2788
2801
|
* @function getSourceData
|
2789
2802
|
* @param {number} [row] From physical row index.
|
@@ -3133,7 +3146,13 @@ export default function Core(rootElement, userSettings) {
|
|
3133
3146
|
};
|
3134
3147
|
|
3135
3148
|
/**
|
3136
|
-
* Checks if
|
3149
|
+
* Checks if your [data format](@/guides/getting-started/binding-to-data.md#compatible-data-types)
|
3150
|
+
* and [configuration options](@/guides/getting-started/configuration-options.md)
|
3151
|
+
* allow for changing the number of columns.
|
3152
|
+
*
|
3153
|
+
* Returns `false` when your data is an array of objects,
|
3154
|
+
* or when you use the [`columns`](@/api/options.md#columns) option.
|
3155
|
+
* Otherwise, returns `true`.
|
3137
3156
|
*
|
3138
3157
|
* @memberof Core#
|
3139
3158
|
* @function isColumnModificationAllowed
|
@@ -4099,8 +4118,6 @@ export default function Core(rootElement, userSettings) {
|
|
4099
4118
|
if (datamap) {
|
4100
4119
|
datamap.destroy();
|
4101
4120
|
}
|
4102
|
-
instance.rowIndexMapper = null;
|
4103
|
-
instance.columnIndexMapper = null;
|
4104
4121
|
datamap = null;
|
4105
4122
|
grid = null;
|
4106
4123
|
selection = null;
|
package/dataMap/dataSource.js
CHANGED
@@ -195,7 +195,7 @@ var DataSource = /*#__PURE__*/function () {
|
|
195
195
|
}
|
196
196
|
if (this.hot.hasHook('modifySourceData')) {
|
197
197
|
var valueHolder = (0, _object.createObjectPropListener)(value);
|
198
|
-
this.hot.runHooks('modifySourceData', row,
|
198
|
+
this.hot.runHooks('modifySourceData', row, column, valueHolder, 'set');
|
199
199
|
if (valueHolder.isTouched()) {
|
200
200
|
value = valueHolder.value;
|
201
201
|
}
|
@@ -232,7 +232,7 @@ var DataSource = /*#__PURE__*/function () {
|
|
232
232
|
}
|
233
233
|
if (this.hot.hasHook('modifySourceData')) {
|
234
234
|
var valueHolder = (0, _object.createObjectPropListener)(result);
|
235
|
-
this.hot.runHooks('modifySourceData', row,
|
235
|
+
this.hot.runHooks('modifySourceData', row, column, valueHolder, 'get');
|
236
236
|
if (valueHolder.isTouched()) {
|
237
237
|
result = valueHolder.value;
|
238
238
|
}
|
@@ -244,14 +244,14 @@ var DataSource = /*#__PURE__*/function () {
|
|
244
244
|
* Returns a single value from the data.
|
245
245
|
*
|
246
246
|
* @param {number} row Physical row index.
|
247
|
-
* @param {number}
|
247
|
+
* @param {number} columnOrProp Visual column index or property.
|
248
248
|
* @returns {*}
|
249
249
|
*/
|
250
250
|
}, {
|
251
251
|
key: "getAtCell",
|
252
|
-
value: function getAtCell(row,
|
252
|
+
value: function getAtCell(row, columnOrProp) {
|
253
253
|
var dataRow = this.modifyRowData(row);
|
254
|
-
return this.getAtPhysicalCell(row, this.colToProp(
|
254
|
+
return this.getAtPhysicalCell(row, this.colToProp(columnOrProp), dataRow);
|
255
255
|
}
|
256
256
|
|
257
257
|
/**
|
package/dataMap/dataSource.mjs
CHANGED
@@ -191,7 +191,7 @@ var DataSource = /*#__PURE__*/function () {
|
|
191
191
|
}
|
192
192
|
if (this.hot.hasHook('modifySourceData')) {
|
193
193
|
var valueHolder = createObjectPropListener(value);
|
194
|
-
this.hot.runHooks('modifySourceData', row,
|
194
|
+
this.hot.runHooks('modifySourceData', row, column, valueHolder, 'set');
|
195
195
|
if (valueHolder.isTouched()) {
|
196
196
|
value = valueHolder.value;
|
197
197
|
}
|
@@ -228,7 +228,7 @@ var DataSource = /*#__PURE__*/function () {
|
|
228
228
|
}
|
229
229
|
if (this.hot.hasHook('modifySourceData')) {
|
230
230
|
var valueHolder = createObjectPropListener(result);
|
231
|
-
this.hot.runHooks('modifySourceData', row,
|
231
|
+
this.hot.runHooks('modifySourceData', row, column, valueHolder, 'get');
|
232
232
|
if (valueHolder.isTouched()) {
|
233
233
|
result = valueHolder.value;
|
234
234
|
}
|
@@ -240,14 +240,14 @@ var DataSource = /*#__PURE__*/function () {
|
|
240
240
|
* Returns a single value from the data.
|
241
241
|
*
|
242
242
|
* @param {number} row Physical row index.
|
243
|
-
* @param {number}
|
243
|
+
* @param {number} columnOrProp Visual column index or property.
|
244
244
|
* @returns {*}
|
245
245
|
*/
|
246
246
|
}, {
|
247
247
|
key: "getAtCell",
|
248
|
-
value: function getAtCell(row,
|
248
|
+
value: function getAtCell(row, columnOrProp) {
|
249
249
|
var dataRow = this.modifyRowData(row);
|
250
|
-
return this.getAtPhysicalCell(row, this.colToProp(
|
250
|
+
return this.getAtPhysicalCell(row, this.colToProp(columnOrProp), dataRow);
|
251
251
|
}
|
252
252
|
|
253
253
|
/**
|
@@ -21,7 +21,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
21
21
|
* [Configuration options](@/guides/getting-started/configuration-options.md) let you heavily customize your Handsontable instance. For example, you can:
|
22
22
|
*
|
23
23
|
* - Enable and disable built-in features
|
24
|
-
* - Enable and configure additional [plugins](@/
|
24
|
+
* - Enable and configure additional [plugins](@/api/plugins.md)
|
25
25
|
* - Personalize Handsontable's look
|
26
26
|
* - Adjust Handsontable's behavior
|
27
27
|
* - Implement your own custom features
|
@@ -945,8 +945,7 @@ var _default = function _default() {
|
|
945
945
|
/**
|
946
946
|
* The `colWidths` option sets columns' widths, in pixels.
|
947
947
|
*
|
948
|
-
*
|
949
|
-
* set the `colWidths` option to one of the following:
|
948
|
+
* The default column width is 50px. To change it, set the `colWidths` option to one of the following:
|
950
949
|
*
|
951
950
|
* | Setting | Description | Example |
|
952
951
|
* | ----------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
@@ -956,7 +955,10 @@ var _default = function _default() {
|
|
956
955
|
* | A function | Set column widths dynamically,<br>on each render | `colWidths(visualColumnIndex) { return visualColumnIndex * 10; }` |
|
957
956
|
* | `undefined` | Used by the [modifyColWidth](@/api/hooks.md#modifyColWidth) hook,<br>to detect column width changes. | `colWidths: undefined` |
|
958
957
|
*
|
959
|
-
* Setting
|
958
|
+
* Setting `colWidths` even for a single column disables the {@link AutoColumnSize} plugin
|
959
|
+
* for all columns. For this reason, if you use `colWidths`, we recommend you set a width for each one
|
960
|
+
* of your columns. Otherwise, every column with an undefined width defaults back to 50px,
|
961
|
+
* which may cut longer columns names.
|
960
962
|
*
|
961
963
|
* Read more:
|
962
964
|
* - [Column width](@/guides/columns/column-width.md)
|
@@ -978,8 +980,8 @@ var _default = function _default() {
|
|
978
980
|
*
|
979
981
|
* // set the first (by visual index) column's width to 100
|
980
982
|
* // set the second (by visual index) column's width to 120
|
981
|
-
* // set the third (by visual index) column's width to `undefined
|
982
|
-
* // set any other column's width to the default 50px
|
983
|
+
* // set the third (by visual index) column's width to `undefined`, so that it defaults to 50px
|
984
|
+
* // set any other column's width to the default 50px (note that longer cell values and column names can get cut)
|
983
985
|
* colWidths: [100, 120, undefined],
|
984
986
|
*
|
985
987
|
* // set each column's width individually, using a function
|
@@ -2872,7 +2874,7 @@ var _default = function _default() {
|
|
2872
2874
|
* The `maxRows` option sets a maximum number of rows.
|
2873
2875
|
*
|
2874
2876
|
* The `maxRows` option is used:
|
2875
|
-
* - At initialization: if the `maxRows` value is lower than the initial number of
|
2877
|
+
* - At initialization: if the `maxRows` value is lower than the initial number of rows,
|
2876
2878
|
* Handsontable trims rows from the bottom.
|
2877
2879
|
* - At runtime: for example, when inserting rows.
|
2878
2880
|
*
|
@@ -17,7 +17,7 @@ import { isObjectEqual } from "../../helpers/object.mjs";
|
|
17
17
|
* [Configuration options](@/guides/getting-started/configuration-options.md) let you heavily customize your Handsontable instance. For example, you can:
|
18
18
|
*
|
19
19
|
* - Enable and disable built-in features
|
20
|
-
* - Enable and configure additional [plugins](@/
|
20
|
+
* - Enable and configure additional [plugins](@/api/plugins.md)
|
21
21
|
* - Personalize Handsontable's look
|
22
22
|
* - Adjust Handsontable's behavior
|
23
23
|
* - Implement your own custom features
|
@@ -941,8 +941,7 @@ export default (function () {
|
|
941
941
|
/**
|
942
942
|
* The `colWidths` option sets columns' widths, in pixels.
|
943
943
|
*
|
944
|
-
*
|
945
|
-
* set the `colWidths` option to one of the following:
|
944
|
+
* The default column width is 50px. To change it, set the `colWidths` option to one of the following:
|
946
945
|
*
|
947
946
|
* | Setting | Description | Example |
|
948
947
|
* | ----------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
@@ -952,7 +951,10 @@ export default (function () {
|
|
952
951
|
* | A function | Set column widths dynamically,<br>on each render | `colWidths(visualColumnIndex) { return visualColumnIndex * 10; }` |
|
953
952
|
* | `undefined` | Used by the [modifyColWidth](@/api/hooks.md#modifyColWidth) hook,<br>to detect column width changes. | `colWidths: undefined` |
|
954
953
|
*
|
955
|
-
* Setting
|
954
|
+
* Setting `colWidths` even for a single column disables the {@link AutoColumnSize} plugin
|
955
|
+
* for all columns. For this reason, if you use `colWidths`, we recommend you set a width for each one
|
956
|
+
* of your columns. Otherwise, every column with an undefined width defaults back to 50px,
|
957
|
+
* which may cut longer columns names.
|
956
958
|
*
|
957
959
|
* Read more:
|
958
960
|
* - [Column width](@/guides/columns/column-width.md)
|
@@ -974,8 +976,8 @@ export default (function () {
|
|
974
976
|
*
|
975
977
|
* // set the first (by visual index) column's width to 100
|
976
978
|
* // set the second (by visual index) column's width to 120
|
977
|
-
* // set the third (by visual index) column's width to `undefined
|
978
|
-
* // set any other column's width to the default 50px
|
979
|
+
* // set the third (by visual index) column's width to `undefined`, so that it defaults to 50px
|
980
|
+
* // set any other column's width to the default 50px (note that longer cell values and column names can get cut)
|
979
981
|
* colWidths: [100, 120, undefined],
|
980
982
|
*
|
981
983
|
* // set each column's width individually, using a function
|
@@ -2868,7 +2870,7 @@ export default (function () {
|
|
2868
2870
|
* The `maxRows` option sets a maximum number of rows.
|
2869
2871
|
*
|
2870
2872
|
* The `maxRows` option is used:
|
2871
|
-
* - At initialization: if the `maxRows` value is lower than the initial number of
|
2873
|
+
* - At initialization: if the `maxRows` value is lower than the initial number of rows,
|
2872
2874
|
* Handsontable trims rows from the bottom.
|
2873
2875
|
* - At runtime: for example, when inserting rows.
|
2874
2876
|
*
|
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: 12.
|
29
|
-
* Release date:
|
28
|
+
* Version: 12.4.0-next-ddbea0c-20230512
|
29
|
+
* Release date: 23/05/2023 (built at 12/05/2023 12:12:44)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -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: 12.
|
29
|
-
* Release date:
|
28
|
+
* Version: 12.4.0-next-ddbea0c-20230512
|
29
|
+
* Release date: 23/05/2023 (built at 12/05/2023 12:12:44)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|