handsontable 0.0.0-next-d4ae6d7-20221205 → 0.0.0-next-21b8f14-20221206
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.js +11 -5
- package/core.mjs +11 -5
- package/dataMap/dataMap.js +33 -65
- package/dataMap/dataMap.mjs +33 -65
- package/dataMap/metaManager/metaSchema.js +54 -38
- package/dataMap/metaManager/metaSchema.mjs +54 -38
- package/dataMap/replaceData.js +1 -2
- package/dataMap/replaceData.mjs +1 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +130 -129
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +6 -6
- package/dist/handsontable.js +130 -129
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/columnSummary/columnSummary.js +5 -5
- package/plugins/columnSummary/columnSummary.mjs +5 -5
- package/plugins/columnSummary/endpoints.js +14 -2
- package/plugins/columnSummary/endpoints.mjs +14 -2
- package/plugins/formulas/formulas.js +6 -6
- package/plugins/formulas/formulas.mjs +6 -6
- package/shortcuts/manager.js +1 -1
- package/shortcuts/manager.mjs +1 -1
package/dist/handsontable.js
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: 0.0.0-next-
|
29
|
-
* Release date: 25/10/2022 (built at
|
28
|
+
* Version: 0.0.0-next-21b8f14-20221206
|
29
|
+
* Release date: 25/10/2022 (built at 06/12/2022 11:15:30)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -2846,7 +2846,7 @@ var domMessages = {
|
|
2846
2846
|
function _injectProductInfo(key, element) {
|
2847
2847
|
var hasValidType = !isEmpty(key);
|
2848
2848
|
var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
2849
|
-
var hotVersion = "0.0.0-next-
|
2849
|
+
var hotVersion = "0.0.0-next-21b8f14-20221206";
|
2850
2850
|
var keyValidityDate;
|
2851
2851
|
var consoleMessageState = 'invalid';
|
2852
2852
|
var domMessageState = 'invalid';
|
@@ -21101,7 +21101,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21101
21101
|
* @private
|
21102
21102
|
* @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
|
21103
21103
|
* @param {string} [source] String that identifies source of hook call
|
21104
|
-
* ([list of all available sources]{@link
|
21104
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21105
21105
|
*/
|
21106
21106
|
}, {
|
21107
21107
|
key: "onAfterSetDataAtCell",
|
@@ -21162,7 +21162,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21162
21162
|
* @private
|
21163
21163
|
* @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
|
21164
21164
|
* @param {string} [source] String that identifies source of hook call
|
21165
|
-
* ([list of all available sources]{@link
|
21165
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21166
21166
|
*/
|
21167
21167
|
}, {
|
21168
21168
|
key: "onAfterSetSourceDataAtCell",
|
@@ -21277,7 +21277,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21277
21277
|
* @param {number} row Represents the visual index of first newly created row in the data source array.
|
21278
21278
|
* @param {number} amount Number of newly created rows in the data source array.
|
21279
21279
|
* @param {string} [source] String that identifies source of hook call
|
21280
|
-
* ([list of all available sources]{@link
|
21280
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21281
21281
|
*/
|
21282
21282
|
}, {
|
21283
21283
|
key: "onAfterCreateRow",
|
@@ -21296,7 +21296,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21296
21296
|
* @param {number} col Represents the visual index of first newly created column in the data source.
|
21297
21297
|
* @param {number} amount Number of newly created columns in the data source.
|
21298
21298
|
* @param {string} [source] String that identifies source of hook call
|
21299
|
-
* ([list of all available sources]{@link
|
21299
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21300
21300
|
*/
|
21301
21301
|
}, {
|
21302
21302
|
key: "onAfterCreateCol",
|
@@ -21316,7 +21316,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21316
21316
|
* @param {number} amount An amount of removed rows.
|
21317
21317
|
* @param {number[]} physicalRows An array of physical rows removed from the data source.
|
21318
21318
|
* @param {string} [source] String that identifies source of hook call
|
21319
|
-
* ([list of all available sources]{@link
|
21319
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21320
21320
|
*/
|
21321
21321
|
}, {
|
21322
21322
|
key: "onAfterRemoveRow",
|
@@ -21342,7 +21342,7 @@ var Formulas = /*#__PURE__*/function (_BasePlugin) {
|
|
21342
21342
|
* @param {number} amount An amount of removed columns.
|
21343
21343
|
* @param {number[]} physicalColumns An array of physical columns removed from the data source.
|
21344
21344
|
* @param {string} [source] String that identifies source of hook call
|
21345
|
-
* ([list of all available sources]{@link
|
21345
|
+
* ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
|
21346
21346
|
*/
|
21347
21347
|
}, {
|
21348
21348
|
key: "onAfterRemoveCol",
|
@@ -22642,7 +22642,7 @@ var deprecationWarns = new Set();
|
|
22642
22642
|
*
|
22643
22643
|
* ::: only-for react
|
22644
22644
|
* To use these methods, associate a Handsontable instance with your instance
|
22645
|
-
* of the [`HotTable` component](@/guides/getting-started/installation.md#hottable-component),
|
22645
|
+
* of the [`HotTable` component](@/guides/getting-started/installation.md#use-the-hottable-component),
|
22646
22646
|
* by using React's `ref` feature (read more on the [Instance methods](@/guides/getting-started/react-methods.md) page).
|
22647
22647
|
* :::
|
22648
22648
|
*
|
@@ -23079,6 +23079,7 @@ function Core(rootElement, userSettings) {
|
|
23079
23079
|
rowDelta = _datamap$createRow.delta,
|
23080
23080
|
startRowPhysicalIndex = _datamap$createRow.startPhysicalIndex;
|
23081
23081
|
if (rowDelta) {
|
23082
|
+
metaManager.createRow(startRowPhysicalIndex, amount);
|
23082
23083
|
var currentSelectedRange = selection.selectedRange.current();
|
23083
23084
|
var currentFromRange = currentSelectedRange === null || currentSelectedRange === void 0 ? void 0 : currentSelectedRange.from;
|
23084
23085
|
var currentFromRow = currentFromRange === null || currentFromRange === void 0 ? void 0 : currentFromRange.row;
|
@@ -23134,6 +23135,7 @@ function Core(rootElement, userSettings) {
|
|
23134
23135
|
colDelta = _datamap$createCol.delta,
|
23135
23136
|
startColumnPhysicalIndex = _datamap$createCol.startPhysicalIndex;
|
23136
23137
|
if (colDelta) {
|
23138
|
+
metaManager.createColumn(startColumnPhysicalIndex, amount);
|
23137
23139
|
if (Array.isArray(tableMeta.colHeaders)) {
|
23138
23140
|
var spliceArray = [instance.toVisualColumn(startColumnPhysicalIndex), 0];
|
23139
23141
|
spliceArray.length += colDelta; // inserts empty (undefined) elements at the end of an array
|
@@ -23196,6 +23198,7 @@ function Core(rootElement, userSettings) {
|
|
23196
23198
|
if (!wasRemoved) {
|
23197
23199
|
return;
|
23198
23200
|
}
|
23201
|
+
metaManager.removeRow(instance.toPhysicalRow(calcIndex), groupAmount);
|
23199
23202
|
var totalRows = instance.countRows();
|
23200
23203
|
var fixedRowsTop = tableMeta.fixedRowsTop;
|
23201
23204
|
if (fixedRowsTop >= calcIndex + 1) {
|
@@ -23241,6 +23244,7 @@ function Core(rootElement, userSettings) {
|
|
23241
23244
|
if (!wasRemoved) {
|
23242
23245
|
return;
|
23243
23246
|
}
|
23247
|
+
metaManager.removeColumn(physicalColumnIndex, groupAmount);
|
23244
23248
|
var fixedColumnsStart = tableMeta.fixedColumnsStart;
|
23245
23249
|
if (fixedColumnsStart >= calcIndex + 1) {
|
23246
23250
|
tableMeta.fixedColumnsStart -= Math.min(groupAmount, fixedColumnsStart - calcIndex);
|
@@ -23822,7 +23826,9 @@ function Core(rootElement, userSettings) {
|
|
23822
23826
|
source: source
|
23823
23827
|
}),
|
23824
23828
|
numberOfCreatedRows = _datamap$createRow2.delta;
|
23825
|
-
if (numberOfCreatedRows
|
23829
|
+
if (numberOfCreatedRows >= 1) {
|
23830
|
+
metaManager.createRow(null, numberOfCreatedRows);
|
23831
|
+
} else {
|
23826
23832
|
skipThisChange = true;
|
23827
23833
|
break;
|
23828
23834
|
}
|
@@ -23834,7 +23840,9 @@ function Core(rootElement, userSettings) {
|
|
23834
23840
|
source: source
|
23835
23841
|
}),
|
23836
23842
|
numberOfCreatedColumns = _datamap$createCol2.delta;
|
23837
|
-
if (numberOfCreatedColumns
|
23843
|
+
if (numberOfCreatedColumns >= 1) {
|
23844
|
+
metaManager.createColumn(null, numberOfCreatedColumns);
|
23845
|
+
} else {
|
23838
23846
|
skipThisChange = true;
|
23839
23847
|
break;
|
23840
23848
|
}
|
@@ -24659,7 +24667,6 @@ function Core(rootElement, userSettings) {
|
|
24659
24667
|
dataSource: dataSource,
|
24660
24668
|
internalSource: 'updateData',
|
24661
24669
|
source: source,
|
24662
|
-
metaManager: metaManager,
|
24663
24670
|
firstRun: firstRun
|
24664
24671
|
});
|
24665
24672
|
};
|
@@ -24702,7 +24709,6 @@ function Core(rootElement, userSettings) {
|
|
24702
24709
|
dataSource: dataSource,
|
24703
24710
|
internalSource: 'loadData',
|
24704
24711
|
source: source,
|
24705
|
-
metaManager: metaManager,
|
24706
24712
|
firstRun: firstRun
|
24707
24713
|
});
|
24708
24714
|
};
|
@@ -31583,8 +31589,8 @@ __webpack_require__(63);
|
|
31583
31589
|
__webpack_require__(46);
|
31584
31590
|
__webpack_require__(77);
|
31585
31591
|
__webpack_require__(34);
|
31586
|
-
__webpack_require__(22);
|
31587
31592
|
__webpack_require__(19);
|
31593
|
+
__webpack_require__(22);
|
31588
31594
|
__webpack_require__(31);
|
31589
31595
|
__webpack_require__(21);
|
31590
31596
|
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(29));
|
@@ -31631,9 +31637,9 @@ var DataMap = /*#__PURE__*/function () {
|
|
31631
31637
|
/**
|
31632
31638
|
* @param {object} instance Instance of Handsontable.
|
31633
31639
|
* @param {Array} data Array of arrays or array of objects containing data.
|
31634
|
-
* @param {
|
31640
|
+
* @param {TableMeta} tableMeta The table meta instance.
|
31635
31641
|
*/
|
31636
|
-
function DataMap(instance, data,
|
31642
|
+
function DataMap(instance, data, tableMeta) {
|
31637
31643
|
(0, _classCallCheck2.default)(this, DataMap);
|
31638
31644
|
/**
|
31639
31645
|
* Instance of {@link Handsontable}.
|
@@ -31643,12 +31649,12 @@ var DataMap = /*#__PURE__*/function () {
|
|
31643
31649
|
*/
|
31644
31650
|
this.instance = instance;
|
31645
31651
|
/**
|
31646
|
-
* Instance of {@link
|
31652
|
+
* Instance of {@link TableMeta}.
|
31647
31653
|
*
|
31648
31654
|
* @private
|
31649
|
-
* @type {
|
31655
|
+
* @type {TableMeta}
|
31650
31656
|
*/
|
31651
|
-
this.
|
31657
|
+
this.tableMeta = tableMeta;
|
31652
31658
|
/**
|
31653
31659
|
* Reference to the original dataset.
|
31654
31660
|
*
|
@@ -31686,7 +31692,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31686
31692
|
if (typeof schema === 'undefined') {
|
31687
31693
|
throw new Error('trying to create `columns` definition but you didn\'t provide `schema` nor `data`');
|
31688
31694
|
}
|
31689
|
-
var columns = this.
|
31695
|
+
var columns = this.tableMeta.columns;
|
31690
31696
|
var i;
|
31691
31697
|
this.colToPropCache = [];
|
31692
31698
|
this.propToColCache = new Map();
|
@@ -31699,7 +31705,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31699
31705
|
columnsLen = schemaLen > 0 ? schemaLen : this.countFirstRowKeys();
|
31700
31706
|
columnsAsFunc = true;
|
31701
31707
|
} else {
|
31702
|
-
var maxCols = this.
|
31708
|
+
var maxCols = this.tableMeta.maxCols;
|
31703
31709
|
columnsLen = Math.min(maxCols, columns.length);
|
31704
31710
|
}
|
31705
31711
|
for (i = 0; i < columnsLen; i++) {
|
@@ -31821,7 +31827,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31821
31827
|
}, {
|
31822
31828
|
key: "getSchema",
|
31823
31829
|
value: function getSchema() {
|
31824
|
-
var schema = this.
|
31830
|
+
var schema = this.tableMeta.dataSchema;
|
31825
31831
|
if (schema) {
|
31826
31832
|
if (typeof schema === 'function') {
|
31827
31833
|
return schema();
|
@@ -31883,17 +31889,15 @@ var DataMap = /*#__PURE__*/function () {
|
|
31883
31889
|
}
|
31884
31890
|
var continueProcess = this.instance.runHooks('beforeCreateRow', rowIndex, amount, source);
|
31885
31891
|
if (continueProcess === false || physicalRowIndex === null) {
|
31886
|
-
return
|
31887
|
-
delta: 0
|
31888
|
-
};
|
31892
|
+
return 0;
|
31889
31893
|
}
|
31890
|
-
var maxRows = this.
|
31894
|
+
var maxRows = this.tableMeta.maxRows;
|
31891
31895
|
var columnCount = this.getSchema().length;
|
31892
31896
|
var rowsToAdd = [];
|
31893
31897
|
var _loop = function _loop() {
|
31894
31898
|
var row = null;
|
31895
31899
|
if (_this2.instance.dataType === 'array') {
|
31896
|
-
if (_this2.
|
31900
|
+
if (_this2.tableMeta.dataSchema) {
|
31897
31901
|
// Clone template array
|
31898
31902
|
row = (0, _object.deepClone)(_this2.getSchema());
|
31899
31903
|
} else {
|
@@ -31904,7 +31908,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31904
31908
|
});
|
31905
31909
|
}
|
31906
31910
|
} else if (_this2.instance.dataType === 'function') {
|
31907
|
-
row = _this2.
|
31911
|
+
row = _this2.tableMeta.dataSchema(rowIndex + numberOfCreatedRows);
|
31908
31912
|
} else {
|
31909
31913
|
row = {};
|
31910
31914
|
(0, _object.deepExtend)(row, _this2.getSchema());
|
@@ -31927,14 +31931,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
31927
31931
|
if (this.instance.countSourceRows() === rowsToAdd.length) {
|
31928
31932
|
this.instance.columnIndexMapper.initToLength(this.instance.getInitialColumnCount());
|
31929
31933
|
}
|
31930
|
-
if (numberOfCreatedRows > 0) {
|
31931
|
-
if (index === void 0 || index === null) {
|
31932
|
-
// Creates the meta rows at the end of the rows collection.
|
31933
|
-
this.metaManager.createRow(null, numberOfCreatedRows);
|
31934
|
-
} else if (source !== 'auto') {
|
31935
|
-
this.metaManager.createRow(physicalRowIndex, amount);
|
31936
|
-
}
|
31937
|
-
}
|
31938
31934
|
this.instance.runHooks('afterCreateRow', newVisualRowIndex, numberOfCreatedRows, source);
|
31939
31935
|
this.instance.forceFullRender = true; // used when data was changed
|
31940
31936
|
|
@@ -31968,7 +31964,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31968
31964
|
throw new Error('Cannot create new column. When data source in an object, ' + 'you can only have as much columns as defined in first data row, data schema or in the \'columns\' setting.' + 'If you want to be able to add new columns, you have to use array datasource.');
|
31969
31965
|
}
|
31970
31966
|
var dataSource = this.dataSource;
|
31971
|
-
var maxCols = this.
|
31967
|
+
var maxCols = this.tableMeta.maxCols;
|
31972
31968
|
var countSourceCols = this.instance.countSourceCols();
|
31973
31969
|
var columnIndex = index;
|
31974
31970
|
if (typeof columnIndex !== 'number' || columnIndex >= countSourceCols) {
|
@@ -31976,9 +31972,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
31976
31972
|
}
|
31977
31973
|
var continueProcess = this.instance.runHooks('beforeCreateCol', columnIndex, amount, source);
|
31978
31974
|
if (continueProcess === false) {
|
31979
|
-
return
|
31980
|
-
delta: 0
|
31981
|
-
};
|
31975
|
+
return 0;
|
31982
31976
|
}
|
31983
31977
|
var physicalColumnIndex = countSourceCols;
|
31984
31978
|
if (columnIndex < this.instance.countCols()) {
|
@@ -32014,14 +32008,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
32014
32008
|
nrOfColumns += 1;
|
32015
32009
|
}
|
32016
32010
|
this.instance.columnIndexMapper.insertIndexes(columnIndex, numberOfCreatedCols);
|
32017
|
-
if (numberOfCreatedCols > 0) {
|
32018
|
-
if (index === void 0 || index === null) {
|
32019
|
-
// Creates the meta columns at the end of the columns collection.
|
32020
|
-
this.metaManager.createColumn(null, numberOfCreatedCols);
|
32021
|
-
} else if (source !== 'auto') {
|
32022
|
-
this.metaManager.createColumn(startPhysicalIndex, amount);
|
32023
|
-
}
|
32024
|
-
}
|
32025
32011
|
var newVisualColumnIndex = this.instance.toVisualColumn(startPhysicalIndex);
|
32026
32012
|
this.instance.runHooks('afterCreateCol', newVisualColumnIndex, numberOfCreatedCols, source);
|
32027
32013
|
this.instance.forceFullRender = true; // used when data was changed
|
@@ -32046,7 +32032,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
32046
32032
|
}, {
|
32047
32033
|
key: "removeRow",
|
32048
32034
|
value: function removeRow(index) {
|
32049
|
-
var _this3 = this;
|
32050
32035
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
32051
32036
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
32052
32037
|
var rowIndex = Number.isInteger(index) ? index : -amount; // -amount = taking indexes from the end.
|
@@ -32067,19 +32052,13 @@ var DataMap = /*#__PURE__*/function () {
|
|
32067
32052
|
// TODO: Function `removeRow` should validate fully, probably above.
|
32068
32053
|
if (rowIndex < this.instance.countRows()) {
|
32069
32054
|
this.instance.rowIndexMapper.removeIndexes(removedPhysicalIndexes);
|
32070
|
-
var customDefinedColumns = (0, _mixed.isDefined)(this.
|
32055
|
+
var customDefinedColumns = (0, _mixed.isDefined)(this.tableMeta.columns) || (0, _mixed.isDefined)(this.tableMeta.dataSchema);
|
32071
32056
|
|
32072
32057
|
// All rows have been removed. There shouldn't be any columns.
|
32073
32058
|
if (this.instance.rowIndexMapper.getNotTrimmedIndexesLength() === 0 && customDefinedColumns === false) {
|
32074
32059
|
this.instance.columnIndexMapper.setIndexesSequence([]);
|
32075
32060
|
}
|
32076
32061
|
}
|
32077
|
-
var descendingPhysicalRows = removedPhysicalIndexes.slice(0).sort(function (a, b) {
|
32078
|
-
return b - a;
|
32079
|
-
});
|
32080
|
-
descendingPhysicalRows.forEach(function (rowPhysicalIndex) {
|
32081
|
-
_this3.metaManager.removeRow(rowPhysicalIndex, 1);
|
32082
|
-
});
|
32083
32062
|
this.instance.runHooks('afterRemoveRow', rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes, source);
|
32084
32063
|
this.instance.forceFullRender = true; // used when data was changed
|
32085
32064
|
|
@@ -32101,56 +32080,51 @@ var DataMap = /*#__PURE__*/function () {
|
|
32101
32080
|
value: function removeCol(index) {
|
32102
32081
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
32103
32082
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
32104
|
-
if (this.instance.dataType === 'object' || this.
|
32083
|
+
if (this.instance.dataType === 'object' || this.tableMeta.columns) {
|
32105
32084
|
throw new Error('cannot remove column with object data source or columns option specified');
|
32106
32085
|
}
|
32107
32086
|
var columnIndex = typeof index !== 'number' ? -amount : index;
|
32108
32087
|
columnIndex = (this.instance.countCols() + columnIndex) % this.instance.countCols();
|
32109
|
-
var
|
32110
|
-
var
|
32088
|
+
var logicColumns = this.visualColumnsToPhysical(columnIndex, amount);
|
32089
|
+
var descendingLogicColumns = logicColumns.slice(0).sort(function (a, b) {
|
32111
32090
|
return b - a;
|
32112
32091
|
});
|
32113
|
-
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveCol', columnIndex, amount,
|
32092
|
+
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveCol', columnIndex, amount, logicColumns, source);
|
32114
32093
|
if (actionWasNotCancelled === false) {
|
32115
32094
|
return false;
|
32116
32095
|
}
|
32117
32096
|
var isTableUniform = true;
|
32118
|
-
var removedColumnsCount =
|
32097
|
+
var removedColumnsCount = descendingLogicColumns.length;
|
32119
32098
|
var data = this.dataSource;
|
32120
32099
|
for (var c = 0; c < removedColumnsCount; c++) {
|
32121
|
-
if (isTableUniform &&
|
32100
|
+
if (isTableUniform && logicColumns[0] !== logicColumns[c] - c) {
|
32122
32101
|
isTableUniform = false;
|
32123
32102
|
}
|
32124
32103
|
}
|
32125
32104
|
if (isTableUniform) {
|
32126
32105
|
for (var r = 0, rlen = this.instance.countSourceRows(); r < rlen; r++) {
|
32127
|
-
data[r].splice(
|
32128
|
-
if (r === 0) {
|
32129
|
-
this.metaManager.removeColumn(removedPhysicalIndexes[0], amount);
|
32130
|
-
}
|
32106
|
+
data[r].splice(logicColumns[0], amount);
|
32131
32107
|
}
|
32132
32108
|
} else {
|
32133
32109
|
for (var _r = 0, _rlen = this.instance.countSourceRows(); _r < _rlen; _r++) {
|
32134
32110
|
for (var _c = 0; _c < removedColumnsCount; _c++) {
|
32135
|
-
data[_r].splice(
|
32136
|
-
if (_r === 0) {
|
32137
|
-
this.metaManager.removeColumn(descendingPhysicalColumns[_c], 1);
|
32138
|
-
}
|
32111
|
+
data[_r].splice(descendingLogicColumns[_c], 1);
|
32139
32112
|
}
|
32140
32113
|
}
|
32141
32114
|
}
|
32142
32115
|
|
32143
32116
|
// TODO: Function `removeCol` should validate fully, probably above.
|
32144
32117
|
if (columnIndex < this.instance.countCols()) {
|
32145
|
-
this.instance.columnIndexMapper.removeIndexes(
|
32118
|
+
this.instance.columnIndexMapper.removeIndexes(logicColumns);
|
32146
32119
|
|
32147
32120
|
// All columns have been removed. There shouldn't be any rows.
|
32148
32121
|
if (this.instance.columnIndexMapper.getNotTrimmedIndexesLength() === 0) {
|
32149
32122
|
this.instance.rowIndexMapper.setIndexesSequence([]);
|
32150
32123
|
}
|
32151
32124
|
}
|
32152
|
-
this.instance.runHooks('afterRemoveCol', columnIndex, amount,
|
32125
|
+
this.instance.runHooks('afterRemoveCol', columnIndex, amount, logicColumns, source);
|
32153
32126
|
this.instance.forceFullRender = true; // used when data was changed
|
32127
|
+
|
32154
32128
|
this.refreshDuckSchema();
|
32155
32129
|
return true;
|
32156
32130
|
}
|
@@ -32222,7 +32196,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
32222
32196
|
}, {
|
32223
32197
|
key: "spliceData",
|
32224
32198
|
value: function spliceData(index, deleteCount, elements) {
|
32225
|
-
var
|
32199
|
+
var _this3 = this;
|
32226
32200
|
var continueSplicing = this.instance.runHooks('beforeDataSplice', index, deleteCount, elements);
|
32227
32201
|
if (continueSplicing !== false) {
|
32228
32202
|
var newData = [].concat((0, _toConsumableArray2.default)(this.dataSource.slice(0, index)), (0, _toConsumableArray2.default)(elements), (0, _toConsumableArray2.default)(this.dataSource.slice(index)));
|
@@ -32233,7 +32207,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
32233
32207
|
// Pushing to array instead of using `splice`, because Babel changes the code to one that uses the `apply` method.
|
32234
32208
|
// The used method was cause of the problem described within #7840.
|
32235
32209
|
newData.forEach(function (row) {
|
32236
|
-
return
|
32210
|
+
return _this3.dataSource.push(row);
|
32237
32211
|
});
|
32238
32212
|
}
|
32239
32213
|
}
|
@@ -32442,7 +32416,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
32442
32416
|
}, {
|
32443
32417
|
key: "getLength",
|
32444
32418
|
value: function getLength() {
|
32445
|
-
var maxRowsFromSettings = this.
|
32419
|
+
var maxRowsFromSettings = this.tableMeta.maxRows;
|
32446
32420
|
var maxRows;
|
32447
32421
|
if (maxRowsFromSettings < 0 || maxRowsFromSettings === 0) {
|
32448
32422
|
maxRows = 0;
|
@@ -32501,8 +32475,8 @@ var DataMap = /*#__PURE__*/function () {
|
|
32501
32475
|
var r;
|
32502
32476
|
var c;
|
32503
32477
|
var row;
|
32504
|
-
var maxRows = this.
|
32505
|
-
var maxCols = this.
|
32478
|
+
var maxRows = this.tableMeta.maxRows;
|
32479
|
+
var maxCols = this.tableMeta.maxCols;
|
32506
32480
|
if (maxRows === 0 || maxCols === 0) {
|
32507
32481
|
return [];
|
32508
32482
|
}
|
@@ -32559,7 +32533,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
32559
32533
|
key: "destroy",
|
32560
32534
|
value: function destroy() {
|
32561
32535
|
this.instance = null;
|
32562
|
-
this.
|
32536
|
+
this.tableMeta = null;
|
32563
32537
|
this.dataSource = null;
|
32564
32538
|
this.duckSchema = null;
|
32565
32539
|
this.colToPropCache.length = 0;
|
@@ -32667,7 +32641,7 @@ var _object = __webpack_require__(12);
|
|
32667
32641
|
* ::: only-for react
|
32668
32642
|
*
|
32669
32643
|
* To apply configuration options, pass them as individual props
|
32670
|
-
* of the [`HotTable`](@/guides/getting-started/installation.md
|
32644
|
+
* of the [`HotTable`](@/guides/getting-started/installation.md#use-the-hottable-component)
|
32671
32645
|
* or [`HotColumn`](@/guides/columns/react-hot-column.md) components.
|
32672
32646
|
*
|
32673
32647
|
* Read more on the [Configuration options](@/guides/getting-started/configuration-options.md) page.
|
@@ -32697,10 +32671,10 @@ var _object = __webpack_require__(12);
|
|
32697
32671
|
* :::
|
32698
32672
|
*
|
32699
32673
|
* Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
|
32700
|
-
* - [The entire grid](@/guides/getting-started/configuration-options.md#
|
32701
|
-
* - [Individual columns](@/guides/getting-started/configuration-options.md#
|
32702
|
-
* - [Individual rows](@/guides/getting-started/configuration-options.md#
|
32703
|
-
* - [Individual cells](@/guides/getting-started/configuration-options.md#
|
32674
|
+
* - [The entire grid](@/guides/getting-started/configuration-options.md#set-grid-options)
|
32675
|
+
* - [Individual columns](@/guides/getting-started/configuration-options.md#set-column-options)
|
32676
|
+
* - [Individual rows](@/guides/getting-started/configuration-options.md#set-row-options)
|
32677
|
+
* - [Individual cells](@/guides/getting-started/configuration-options.md#set-cell-options)
|
32704
32678
|
* - [Individual grid elements, based on any logic you implement](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
|
32705
32679
|
*
|
32706
32680
|
* Read more:
|
@@ -33021,14 +32995,16 @@ var _default = function _default() {
|
|
33021
32995
|
*/
|
33022
32996
|
autoRowSize: void 0,
|
33023
32997
|
/**
|
33024
|
-
*
|
32998
|
+
* With [`autoWrapCol`](#autowrapcol) enabled:
|
32999
|
+
* - When you select a bottom-most cell, pressing <kbd>**↓**</kbd> takes you to the top-most cell of the next column.
|
33000
|
+
* - When you select a top-most cell, pressing <kbd>**↑**</kbd> takes you to the bottom-most cell of the previous column.
|
33025
33001
|
*
|
33026
|
-
* You can set the `autoWrapCol` option to one of the following:
|
33002
|
+
* You can set the [`autoWrapCol`](#autowrapcol) option to one of the following:
|
33027
33003
|
*
|
33028
|
-
* | Setting | Description
|
33029
|
-
* | ----------------- |
|
33030
|
-
* | `true` |
|
33031
|
-
* | `false` (default) |
|
33004
|
+
* | Setting | Description |
|
33005
|
+
* | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
33006
|
+
* | `true` | When you select a bottom-most cell, pressing <kbd>**↓**</kbd> takes you to the top-most cell of the next column.<br><br>When you select a top-most cell, pressing <kbd>**↑**</kbd> takes you to the bottom-most cell of the previous column. |
|
33007
|
+
* | `false` (default) | When you select a bottom-most cell, pressing <kbd>**↓**</kbd> doesn't do anything.<br><br>When you select a top-most cell, pressing <kbd>**↑**</kbd> doesn't do anything. |
|
33032
33008
|
*
|
33033
33009
|
* @memberof Options#
|
33034
33010
|
* @type {boolean}
|
@@ -33037,20 +33013,29 @@ var _default = function _default() {
|
|
33037
33013
|
*
|
33038
33014
|
* @example
|
33039
33015
|
* ```js
|
33040
|
-
* //
|
33016
|
+
* // when you select a bottom-most cell, pressing ⬇ doesn't do anything
|
33017
|
+
* // when you select a top-most cell, pressing ⬆ doesn't do anything
|
33018
|
+
* autoWrapCol: false, // default setting
|
33019
|
+
*
|
33020
|
+
* // when you select a bottom-most cell, pressing ⬇ takes you to the top-most cell of the next column
|
33021
|
+
* // when you select a top-most cell, pressing ⬆ takes you to the bottom-most cell of the previous column
|
33041
33022
|
* autoWrapCol: true,
|
33042
33023
|
* ```
|
33043
33024
|
*/
|
33044
33025
|
autoWrapCol: false,
|
33045
33026
|
/**
|
33046
|
-
*
|
33027
|
+
* With [`autoWrapRow`](#autoWrapRow) enabled:
|
33028
|
+
* - When you select the first cell of a row, pressing <kbd>**←**</kbd>* takes you to the last cell of the row above.
|
33029
|
+
* - When you select the last cell of a row, pressing <kbd>**→**</kbd>* takes you to the first cell of the row below.
|
33030
|
+
*
|
33031
|
+
* You can set the [`autoWrapRow`](#autoWrapRow) option to one of the following:
|
33047
33032
|
*
|
33048
|
-
*
|
33033
|
+
* | Setting | Description |
|
33034
|
+
* | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
33035
|
+
* | `true` | When you select the first cell of a row, pressing <kbd>**←**</kbd>* takes you to the last cell of the row above.<br><br>When you select the last cell of a row, pressing <kbd>**→**</kbd>* takes you to the first cell of the row below. |
|
33036
|
+
* | `false` (default) | When you select the first cell of a row, pressing <kbd>**←**</kbd>* doesn't do anything.<br><br>When you select the last cell of a row, pressing <kbd>**→**</kbd>* doesn't do anything. |
|
33049
33037
|
*
|
33050
|
-
*
|
33051
|
-
* | ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
33052
|
-
* | `true` | On reaching the grid's left or right edge:<br>- Jump to the grid's opposite edge<br>- Select a cell in the previous/next row |
|
33053
|
-
* | `false` (default) | On reaching the grid's left or right edge, stop |
|
33038
|
+
* \* The exact key depends on your [`layoutDirection`](#layoutdirection) configuration.
|
33054
33039
|
*
|
33055
33040
|
* @memberof Options#
|
33056
33041
|
* @type {boolean}
|
@@ -33059,7 +33044,12 @@ var _default = function _default() {
|
|
33059
33044
|
*
|
33060
33045
|
* @example
|
33061
33046
|
* ```js
|
33062
|
-
* //
|
33047
|
+
* // when you select the first cell of a row, pressing ⬅ doesn't do anything
|
33048
|
+
* // when you select the last cell of a row, pressing ➡️ doesn't do anything
|
33049
|
+
* autoWrapRow: false, // default setting
|
33050
|
+
*
|
33051
|
+
* // when you select the first cell of a row, pressing ⬅ takes you to the last cell of the row above
|
33052
|
+
* // when you select the last cell of a row, pressing ➡️ takes you to the first cell of the row below
|
33063
33053
|
* autoWrapRow: true,
|
33064
33054
|
* ```
|
33065
33055
|
*/
|
@@ -33093,11 +33083,11 @@ var _default = function _default() {
|
|
33093
33083
|
/**
|
33094
33084
|
* The `cell` option lets you apply [configuration options](@/guides/getting-started/configuration-options.md) to individual cells.
|
33095
33085
|
*
|
33096
|
-
* The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#
|
33086
|
+
* The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options),
|
33097
33087
|
* and the [`columns`](#columns) options.
|
33098
33088
|
*
|
33099
33089
|
* Read more:
|
33100
|
-
* - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#
|
33090
|
+
* - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#set-cell-options)
|
33101
33091
|
* - [`columns`](#columns)
|
33102
33092
|
*
|
33103
33093
|
* @memberof Options#
|
@@ -33134,8 +33124,8 @@ var _default = function _default() {
|
|
33134
33124
|
* | `prop` | No | String \| Number | If [`data`](#data) is set to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), `prop` is the same number as `column`.<br><br>If [`data`](#data) is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), `prop` is a property name for the column's data object. |
|
33135
33125
|
*
|
33136
33126
|
* Read more:
|
33137
|
-
* - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#
|
33138
|
-
* - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#
|
33127
|
+
* - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implement-custom-logic)
|
33128
|
+
* - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
|
33139
33129
|
* - [`columns`](#columns)
|
33140
33130
|
* - [`cell`](#cell)
|
33141
33131
|
*
|
@@ -33352,12 +33342,12 @@ var _default = function _default() {
|
|
33352
33342
|
* - An array of objects (each object represents one column)
|
33353
33343
|
* - A function that returns an array of objects
|
33354
33344
|
*
|
33355
|
-
* The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#
|
33345
|
+
* The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#set-grid-options).
|
33356
33346
|
*
|
33357
33347
|
* When you use `columns`, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) options are ignored.
|
33358
33348
|
*
|
33359
33349
|
* Read more:
|
33360
|
-
* - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#
|
33350
|
+
* - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
|
33361
33351
|
* - [`startCols`](#startCols)
|
33362
33352
|
* - [`minCols`](#minCols)
|
33363
33353
|
* - [`maxCols`](#maxCols)
|
@@ -33490,12 +33480,12 @@ var _default = function _default() {
|
|
33490
33480
|
* | `type` | `'sum'` \| `'min'` \| `'max'` \| `'count'` \| `'average'` \| `'custom'` | [Summary function](@/guides/columns/column-summary.md#step-3-calculate-your-summary) |
|
33491
33481
|
* | `destinationRow` | A number | [Destination cell's row coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
33492
33482
|
* | `destinationColumn` | A number | [Destination cell's column coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
33493
|
-
* | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#
|
33483
|
+
* | `forceNumeric` | `true` \| `false` | [Treat non-numerics as numerics](@/guides/columns/column-summary.md#force-numeric-values) |
|
33494
33484
|
* | `reversedRowCoords` | `true` \| `false` | [Reverse row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
|
33495
|
-
* | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#
|
33485
|
+
* | `suppressDataTypeErrors` | `true` \| `false` | [Suppress data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
|
33496
33486
|
* | `readOnly` | `true` \| `false` | Make summary cell read-only |
|
33497
|
-
* | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#
|
33498
|
-
* | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#
|
33487
|
+
* | `roundFloat` | `true` \| `false` | [Round summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
|
33488
|
+
* | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
|
33499
33489
|
*
|
33500
33490
|
* Read more:
|
33501
33491
|
* - [Column summary](@/guides/columns/column-summary.md)
|
@@ -33673,13 +33663,13 @@ var _default = function _default() {
|
|
33673
33663
|
* | `false` | Disable the [`ContextMenu`](@/api/contextMenu.md) plugin |
|
33674
33664
|
* | `true` | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Use the [default context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options) |
|
33675
33665
|
* | An array | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Modify [individual context menu options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options) |
|
33676
|
-
* | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration) |
|
33666
|
+
* | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration) |
|
33677
33667
|
*
|
33678
33668
|
* Read more:
|
33679
33669
|
* - [Context menu](@/guides/accessories-and-menus/context-menu.md)
|
33680
33670
|
* - [Context menu: Context menu with default options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
|
33681
33671
|
* - [Context menu: Context menu with specific options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
|
33682
|
-
* - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
|
33672
|
+
* - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-a-fully-custom-configuration)
|
33683
33673
|
* - [Plugins: `ContextMenu`](@/api/contextMenu.md)
|
33684
33674
|
*
|
33685
33675
|
* @memberof Options#
|
@@ -35176,7 +35166,7 @@ var _default = function _default() {
|
|
35176
35166
|
*
|
35177
35167
|
* You can set the layout direction only at Handsontable's [initialization](@/guides/getting-started/installation.md#initialize-handsontable). Any change of the `layoutDirection` option after the initialization (e.g. using the [`updateSettings()`](@/api/core.md#updatesettings) method) is ignored.
|
35178
35168
|
*
|
35179
|
-
* You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#
|
35169
|
+
* You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#set-grid-options).
|
35180
35170
|
* You can't set it for individual columns, rows, or cells.
|
35181
35171
|
*
|
35182
35172
|
* You can set the `layoutDirection` option to one of the following strings:
|
@@ -35248,8 +35238,8 @@ var _default = function _default() {
|
|
35248
35238
|
* The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
|
35249
35239
|
*
|
35250
35240
|
* You can set the `locale` option to any valid and canonicalized Unicode BCP 47 locale tag,
|
35251
|
-
* both for the [entire grid](@/guides/internationalization/locale.md#
|
35252
|
-
* and for [individual columns](@/guides/internationalization/locale.md#
|
35241
|
+
* both for the [entire grid](@/guides/internationalization/locale.md#set-the-grid-s-locale),
|
35242
|
+
* and for [individual columns](@/guides/internationalization/locale.md#set-a-column-s-locale).
|
35253
35243
|
*
|
35254
35244
|
* Read more:
|
35255
35245
|
* - [Locale](@/guides/internationalization/locale.md)
|
@@ -35902,7 +35892,7 @@ var _default = function _default() {
|
|
35902
35892
|
* | `true` | Enable the [`PersistentState`](@/api/persistentState.md) plugin |
|
35903
35893
|
*
|
35904
35894
|
* Read more:
|
35905
|
-
* - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#
|
35895
|
+
* - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#save-data-locally)
|
35906
35896
|
* - [Plugins: `PersistentState`](@/api/persistentState.md)
|
35907
35897
|
*
|
35908
35898
|
* @memberof Options#
|
@@ -36345,7 +36335,7 @@ var _default = function _default() {
|
|
36345
36335
|
* | `'multiple'` | Allow the user to select multiple ranges of cells at a time. |
|
36346
36336
|
*
|
36347
36337
|
* Read more:
|
36348
|
-
* - [Selection: Selecting ranges](@/guides/cell-features/selection.md#
|
36338
|
+
* - [Selection: Selecting ranges](@/guides/cell-features/selection.md#select-ranges)
|
36349
36339
|
*
|
36350
36340
|
* @memberof Options#
|
36351
36341
|
* @type {string}
|
@@ -36436,7 +36426,7 @@ var _default = function _default() {
|
|
36436
36426
|
* | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
|
36437
36427
|
*
|
36438
36428
|
* Read more:
|
36439
|
-
* - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#
|
36429
|
+
* - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#set-column-options)
|
36440
36430
|
*
|
36441
36431
|
* @memberof Options#
|
36442
36432
|
* @type {boolean}
|
@@ -36469,7 +36459,7 @@ var _default = function _default() {
|
|
36469
36459
|
* | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
|
36470
36460
|
*
|
36471
36461
|
* Read more:
|
36472
|
-
* - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#
|
36462
|
+
* - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#set-row-options)
|
36473
36463
|
*
|
36474
36464
|
* @memberof Options#
|
36475
36465
|
* @type {boolean}
|
@@ -41570,8 +41560,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
41570
41560
|
Handsontable.CellCoords = _src.CellCoords;
|
41571
41561
|
Handsontable.CellRange = _src.CellRange;
|
41572
41562
|
Handsontable.packageName = 'handsontable';
|
41573
|
-
Handsontable.buildDate = "
|
41574
|
-
Handsontable.version = "0.0.0-next-
|
41563
|
+
Handsontable.buildDate = "06/12/2022 11:15:30";
|
41564
|
+
Handsontable.version = "0.0.0-next-21b8f14-20221206";
|
41575
41565
|
Handsontable.languages = {
|
41576
41566
|
dictionaryKeys: _registry.dictionaryKeys,
|
41577
41567
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -56241,7 +56231,6 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
56241
56231
|
dataSource = config.dataSource,
|
56242
56232
|
internalSource = config.internalSource,
|
56243
56233
|
source = config.source,
|
56244
|
-
metaManager = config.metaManager,
|
56245
56234
|
firstRun = config.firstRun;
|
56246
56235
|
var capitalizedInternalSource = (0, _string.toUpperCaseFirst)(internalSource);
|
56247
56236
|
var tableMeta = hotInstance.getSettings();
|
@@ -56256,7 +56245,7 @@ function replaceData(data, setDataMapFunction, callbackFunction, config) {
|
|
56256
56245
|
dataMap.destroy();
|
56257
56246
|
}
|
56258
56247
|
data = hotInstance.runHooks("before".concat(capitalizedInternalSource), data, firstRun, source);
|
56259
|
-
var newDataMap = new _dataMap.default(hotInstance, data,
|
56248
|
+
var newDataMap = new _dataMap.default(hotInstance, data, tableMeta);
|
56260
56249
|
|
56261
56250
|
// We need to apply the new dataMap immediately, because of some asynchronous logic in the
|
56262
56251
|
// `autoRowSize`/`autoColumnSize` plugins.
|
@@ -56576,7 +56565,7 @@ var _recorder = __webpack_require__(497);
|
|
56576
56565
|
* @param {object} options The manager's options
|
56577
56566
|
* @param {EventTarget} options.ownerWindow A starting `window` element
|
56578
56567
|
* @param {Function} options.handleEvent A condition on which `event` is handled.
|
56579
|
-
* @param {Function} options.beforeKeyDown A hook fired before the `keydown` event is handled. You can use it to [block a keyboard shortcut's actions](@/guides/accessories-and-menus/keyboard-shortcuts.md#
|
56568
|
+
* @param {Function} options.beforeKeyDown A hook fired before the `keydown` event is handled. You can use it to [block a keyboard shortcut's actions](@/guides/accessories-and-menus/keyboard-shortcuts.md#block-a-keyboard-shortcut-s-actions).
|
56580
56569
|
* @param {Function} options.afterKeyDown A hook fired after the `keydown` event is handled
|
56581
56570
|
*/
|
56582
56571
|
var createShortcutManager = function createShortcutManager(_ref) {
|
@@ -66752,7 +66741,7 @@ var PLUGIN_PRIORITY = 220;
|
|
66752
66741
|
* The `ColumnSummary` plugin lets you [easily summarize your columns](@/guides/columns/column-summary.md).
|
66753
66742
|
*
|
66754
66743
|
* You can use the [built-in summary functions](@/guides/columns/column-summary.md#built-in-summary-functions),
|
66755
|
-
* or implement a [custom summary function](@/guides/columns/column-summary.md#
|
66744
|
+
* or implement a [custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function).
|
66756
66745
|
*
|
66757
66746
|
* For each column summary, you can set the following configuration options:
|
66758
66747
|
*
|
@@ -66763,12 +66752,12 @@ var PLUGIN_PRIORITY = 220;
|
|
66763
66752
|
* | `type` | Yes | String | - | [Sets a summary function](@/guides/columns/column-summary.md#step-3-calculate-your-summary) |
|
66764
66753
|
* | `destinationRow` | Yes | Number | - | [Sets the destination cell's row coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
66765
66754
|
* | `destinationColumn` | Yes | Number | - | [Sets the destination cell's column coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
66766
|
-
* | `forceNumeric` | No | Boolean | `false` | [Forces the summary to treat non-numerics as numerics](@/guides/columns/column-summary.md#
|
66755
|
+
* | `forceNumeric` | No | Boolean | `false` | [Forces the summary to treat non-numerics as numerics](@/guides/columns/column-summary.md#force-numeric-values) |
|
66767
66756
|
* | `reversedRowCoords` | No | Boolean | `false` | [Reverses row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
|
66768
|
-
* | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary.md#
|
66757
|
+
* | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
|
66769
66758
|
* | `readOnly` | No | Boolean | `true` | Makes summary cell read-only |
|
66770
|
-
* | `roundFloat` | No | Number | - | [Rounds summary result](@/guides/columns/column-summary.md#
|
66771
|
-
* | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary.md#
|
66759
|
+
* | `roundFloat` | No | Number | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
|
66760
|
+
* | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
|
66772
66761
|
*
|
66773
66762
|
* @example
|
66774
66763
|
* ::: only-for javascript
|
@@ -67738,6 +67727,15 @@ var Endpoints = /*#__PURE__*/function () {
|
|
67738
67727
|
var useOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
67739
67728
|
var alterRowOffset = endpoint.alterRowOffset || 0;
|
67740
67729
|
var alterColOffset = endpoint.alterColumnOffset || 0;
|
67730
|
+
var _ref = [this.hot.toVisualRow(endpoint.destinationRow), this.hot.toVisualColumn(endpoint.destinationColumn)],
|
67731
|
+
visualRowIndex = _ref[0],
|
67732
|
+
visualColumnIndex = _ref[1];
|
67733
|
+
if (visualColumnIndex !== null && visualRowIndex !== null) {
|
67734
|
+
// Clear the meta on the "old" indexes
|
67735
|
+
var cellMeta = this.hot.getCellMeta(visualRowIndex, visualColumnIndex);
|
67736
|
+
cellMeta.readOnly = false;
|
67737
|
+
cellMeta.className = '';
|
67738
|
+
}
|
67741
67739
|
this.cellsToSetCache.push([this.hot.toVisualRow(endpoint.destinationRow + (useOffset ? alterRowOffset : 0)), this.hot.toVisualColumn(endpoint.destinationColumn + (useOffset ? alterColOffset : 0)), '']);
|
67742
67740
|
}
|
67743
67741
|
|
@@ -67752,14 +67750,17 @@ var Endpoints = /*#__PURE__*/function () {
|
|
67752
67750
|
key: "setEndpointValue",
|
67753
67751
|
value: function setEndpointValue(endpoint, source) {
|
67754
67752
|
var render = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
67753
|
+
// We'll need the reversed offset values, because cellMeta will be shifted AGAIN afterwards.
|
67754
|
+
var reverseRowOffset = -1 * endpoint.alterRowOffset || 0;
|
67755
|
+
var reverseColOffset = -1 * endpoint.alterColumnOffset || 0;
|
67755
67756
|
var visualEndpointRowIndex = this.hot.toVisualRow(endpoint.destinationRow);
|
67756
67757
|
if (endpoint.destinationRow >= this.hot.countRows() || endpoint.destinationColumn >= this.hot.countCols()) {
|
67757
67758
|
this.throwOutOfBoundsWarning();
|
67758
67759
|
return;
|
67759
67760
|
}
|
67760
|
-
var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow);
|
67761
|
+
var destinationVisualRow = this.hot.toVisualRow(endpoint.destinationRow + reverseRowOffset);
|
67761
67762
|
if (destinationVisualRow !== null) {
|
67762
|
-
var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn);
|
67763
|
+
var cellMeta = this.hot.getCellMeta(destinationVisualRow, endpoint.destinationColumn + reverseColOffset);
|
67763
67764
|
if (source === 'init' || cellMeta.readOnly !== endpoint.readOnly) {
|
67764
67765
|
cellMeta.readOnly = endpoint.readOnly;
|
67765
67766
|
cellMeta.className = 'columnSummaryResult';
|