handsontable 0.0.0-next-3d099da-20231208 → 0.0.0-next-16c18c1-20231212
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/calculator/index.js +11 -6
- package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +3 -124
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +4 -126
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +4 -5
- package/3rdparty/walkontable/src/cell/coords.js +2 -2
- package/3rdparty/walkontable/src/cell/coords.mjs +2 -2
- package/3rdparty/walkontable/src/cell/range.js +2 -2
- package/3rdparty/walkontable/src/cell/range.mjs +2 -2
- package/3rdparty/walkontable/src/core/_base.js +2 -14
- package/3rdparty/walkontable/src/core/_base.mjs +2 -14
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +0 -2
- package/3rdparty/walkontable/src/core/core.mjs +0 -2
- package/3rdparty/walkontable/src/facade/core.js +0 -9
- package/3rdparty/walkontable/src/facade/core.mjs +0 -9
- package/3rdparty/walkontable/src/filter/column.js +2 -2
- package/3rdparty/walkontable/src/filter/column.mjs +2 -2
- package/3rdparty/walkontable/src/filter/row.js +2 -2
- package/3rdparty/walkontable/src/filter/row.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +3 -4
- package/3rdparty/walkontable/src/index.mjs +1 -2
- package/3rdparty/walkontable/src/overlay/_base.js +2 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/top.js +2 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +2 -2
- package/3rdparty/walkontable/src/overlays.js +2 -5
- package/3rdparty/walkontable/src/overlays.mjs +2 -6
- package/3rdparty/walkontable/src/renderer/_base.js +2 -2
- package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/cells.js +2 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rows.js +6 -5
- package/3rdparty/walkontable/src/renderer/rows.mjs +6 -5
- package/3rdparty/walkontable/src/renderer/table.js +2 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +2 -2
- package/3rdparty/walkontable/src/scroll.js +2 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -2
- package/3rdparty/walkontable/src/selection/manager.js +0 -1
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
- package/3rdparty/walkontable/src/settings.js +5 -2
- package/3rdparty/walkontable/src/settings.mjs +4 -2
- package/3rdparty/walkontable/src/table.js +2 -3
- package/3rdparty/walkontable/src/table.mjs +2 -3
- package/3rdparty/walkontable/src/utils/column.js +29 -14
- package/3rdparty/walkontable/src/utils/column.mjs +29 -14
- package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
- package/3rdparty/walkontable/src/utils/nodesPool.js +2 -2
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +2 -2
- package/3rdparty/walkontable/src/utils/row.js +2 -2
- package/3rdparty/walkontable/src/utils/row.mjs +2 -2
- package/3rdparty/walkontable/src/viewport.js +22 -17
- package/3rdparty/walkontable/src/viewport.mjs +23 -18
- package/base.js +4 -2
- package/base.mjs +2 -2
- package/core/focusCatcher/index.js +44 -6
- package/core/focusCatcher/index.mjs +44 -6
- package/core.js +0 -11
- package/core.mjs +0 -11
- package/dataMap/dataMap.js +3 -2
- package/dataMap/dataMap.mjs +2 -2
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +2 -2
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
- package/dataMap/metaManager/metaSchema.js +28 -2
- package/dataMap/metaManager/metaSchema.mjs +28 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +2 -2
- package/dataMap/metaManager/mods/extendMetaProperties.js +14 -2
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +14 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +3 -3
- package/dist/handsontable.full.js +3991 -5589
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +66 -71
- package/dist/handsontable.js +3070 -4317
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +35 -39
- package/editorManager.js +5 -6
- package/editorManager.mjs +5 -6
- package/editors/autocompleteEditor/autocompleteEditor.js +2 -4
- package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -4
- package/editors/baseEditor/baseEditor.js +2 -2
- package/editors/baseEditor/baseEditor.mjs +2 -2
- package/editors/dateEditor/dateEditor.d.ts +1 -1
- package/editors/dateEditor/dateEditor.js +6 -3
- package/editors/dateEditor/dateEditor.mjs +6 -3
- package/editors/handsontableEditor/handsontableEditor.js +0 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
- package/editors/textEditor/textEditor.js +2 -6
- package/editors/textEditor/textEditor.mjs +2 -6
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/helpers/browser.js +5 -2
- package/helpers/browser.mjs +5 -2
- package/helpers/feature.js +10 -0
- package/helpers/feature.mjs +9 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +3 -4
- package/pluginHooks.d.ts +6 -29
- package/pluginHooks.js +67 -125
- package/pluginHooks.mjs +64 -124
- package/plugins/autoColumnSize/autoColumnSize.js +2 -2
- package/plugins/autoColumnSize/autoColumnSize.mjs +2 -2
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/autofill/autofill.js +2 -2
- package/plugins/autofill/autofill.mjs +2 -2
- package/plugins/base/base.js +2 -2
- package/plugins/base/base.mjs +2 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -2
- package/plugins/collapsibleColumns/collapsibleColumns.js +2 -2
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -2
- package/plugins/columnSorting/columnSorting.js +2 -2
- package/plugins/columnSorting/columnSorting.mjs +2 -2
- package/plugins/columnSorting/columnStatesManager.js +2 -2
- package/plugins/columnSorting/columnStatesManager.mjs +2 -2
- package/plugins/columnSummary/columnSummary.js +2 -2
- package/plugins/columnSummary/columnSummary.mjs +2 -2
- package/plugins/columnSummary/endpoints.js +2 -2
- package/plugins/columnSummary/endpoints.mjs +2 -2
- package/plugins/comments/commentEditor.js +2 -2
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/comments/comments.js +2 -2
- package/plugins/comments/comments.mjs +2 -2
- package/plugins/comments/displaySwitch.js +2 -2
- package/plugins/comments/displaySwitch.mjs +2 -2
- package/plugins/contextMenu/commandExecutor.js +2 -2
- package/plugins/contextMenu/commandExecutor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.js +2 -2
- package/plugins/contextMenu/contextMenu.mjs +2 -2
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +2 -2
- package/plugins/contextMenu/menu/cursor.mjs +2 -2
- package/plugins/contextMenu/menu/menu.js +2 -2
- package/plugins/contextMenu/menu/menu.mjs +2 -2
- package/plugins/copyPaste/clipboardData.js +18 -0
- package/plugins/copyPaste/clipboardData.mjs +14 -0
- package/plugins/copyPaste/copyPaste.js +131 -53
- package/plugins/copyPaste/copyPaste.mjs +134 -56
- package/plugins/copyPaste/copyableRanges.js +43 -7
- package/plugins/copyPaste/copyableRanges.mjs +42 -7
- package/plugins/copyPaste/pasteEvent.mjs +1 -1
- package/plugins/customBorders/customBorders.js +2 -7
- package/plugins/customBorders/customBorders.mjs +2 -7
- package/plugins/customBorders/utils.js +0 -1
- package/plugins/customBorders/utils.mjs +0 -1
- package/plugins/dragToScroll/dragToScroll.js +2 -2
- package/plugins/dragToScroll/dragToScroll.mjs +2 -2
- package/plugins/dropdownMenu/dropdownMenu.js +2 -2
- package/plugins/dropdownMenu/dropdownMenu.mjs +2 -2
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/types/_base.js +2 -2
- package/plugins/exportFile/types/_base.mjs +2 -2
- package/plugins/filters/component/_base.js +2 -2
- package/plugins/filters/component/_base.mjs +2 -2
- package/plugins/filters/component/actionBar.js +2 -2
- package/plugins/filters/component/actionBar.mjs +2 -2
- package/plugins/filters/component/condition.js +2 -2
- package/plugins/filters/component/condition.mjs +2 -2
- package/plugins/filters/component/operators.js +2 -2
- package/plugins/filters/component/operators.mjs +2 -2
- package/plugins/filters/component/value.js +2 -2
- package/plugins/filters/component/value.mjs +2 -2
- package/plugins/filters/conditionCollection.js +2 -2
- package/plugins/filters/conditionCollection.mjs +2 -2
- package/plugins/filters/conditionUpdateObserver.js +2 -2
- package/plugins/filters/conditionUpdateObserver.mjs +2 -2
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +2 -2
- package/plugins/filters/filters.mjs +2 -2
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +2 -2
- package/plugins/filters/ui/radioInput.js +1 -1
- package/plugins/filters/ui/radioInput.mjs +1 -1
- package/plugins/formulas/formulas.js +2 -4
- package/plugins/formulas/formulas.mjs +2 -4
- package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
- package/plugins/manualColumnMove/ui/_base.js +2 -2
- package/plugins/manualColumnMove/ui/_base.mjs +2 -2
- package/plugins/manualColumnResize/manualColumnResize.js +0 -1
- package/plugins/manualColumnResize/manualColumnResize.mjs +0 -1
- package/plugins/manualRowMove/ui/_base.js +2 -2
- package/plugins/manualRowMove/ui/_base.mjs +2 -2
- package/plugins/mergeCells/calculations/autofill.js +2 -2
- package/plugins/mergeCells/calculations/autofill.mjs +2 -2
- package/plugins/mergeCells/calculations/selection.js +2 -2
- package/plugins/mergeCells/calculations/selection.mjs +2 -2
- package/plugins/mergeCells/cellCoords.js +2 -2
- package/plugins/mergeCells/cellCoords.mjs +2 -2
- package/plugins/mergeCells/cellsCollection.js +2 -2
- package/plugins/mergeCells/cellsCollection.mjs +2 -2
- package/plugins/mergeCells/mergeCells.js +3 -129
- package/plugins/mergeCells/mergeCells.mjs +3 -129
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -2
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +43 -89
- package/plugins/nestedHeaders/nestedHeaders.mjs +44 -90
- package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +2 -2
- package/plugins/nestedHeaders/utils/ghostTable.mjs +2 -2
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +2 -2
- package/plugins/nestedRows/nestedRows.mjs +2 -2
- package/plugins/nestedRows/ui/_base.js +2 -2
- package/plugins/nestedRows/ui/_base.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +2 -2
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
- package/plugins/nestedRows/utils/rowMoveController.js +2 -2
- package/plugins/nestedRows/utils/rowMoveController.mjs +2 -2
- package/plugins/persistentState/persistentState.js +2 -2
- package/plugins/persistentState/persistentState.mjs +2 -2
- package/plugins/persistentState/storage.js +2 -2
- package/plugins/persistentState/storage.mjs +2 -2
- package/plugins/search/search.js +2 -2
- package/plugins/search/search.mjs +2 -2
- package/plugins/touchScroll/touchScroll.js +2 -2
- package/plugins/touchScroll/touchScroll.mjs +2 -2
- package/plugins/trimRows/trimRows.js +2 -2
- package/plugins/trimRows/trimRows.mjs +2 -2
- package/plugins/undoRedo/undoRedo.js +0 -2
- package/plugins/undoRedo/undoRedo.mjs +0 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
- package/selection/highlight/highlight.js +2 -3
- package/selection/highlight/highlight.mjs +2 -3
- package/selection/highlight/visualSelection.js +2 -2
- package/selection/highlight/visualSelection.mjs +2 -2
- package/selection/index.js +1 -3
- package/selection/index.mjs +2 -2
- package/selection/range.js +2 -2
- package/selection/range.mjs +2 -2
- package/selection/selection.js +2 -2
- package/selection/selection.mjs +2 -2
- package/selection/utils.js +0 -34
- package/selection/utils.mjs +0 -33
- package/settings.d.ts +2 -1
- package/tableView.js +3 -4
- package/tableView.mjs +3 -4
- package/translations/indexMapper.js +4 -3
- package/translations/indexMapper.mjs +2 -2
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +2 -2
- package/utils/dataStructures/linkedList.js +2 -2
- package/utils/dataStructures/linkedList.mjs +2 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +2 -2
- package/utils/ghostTable.mjs +2 -2
- package/utils/interval.js +2 -2
- package/utils/interval.mjs +2 -2
- package/utils/parseTable.js +84 -538
- package/utils/parseTable.mjs +83 -534
- package/utils/samplesGenerator.js +2 -2
- package/utils/samplesGenerator.mjs +2 -2
- package/validators/timeValidator/timeValidator.js +0 -1
- package/validators/timeValidator/timeValidator.mjs +0 -1
- package/plugins/copyPaste/clipboardData/clipboardData.js +0 -588
- package/plugins/copyPaste/clipboardData/clipboardData.mjs +0 -584
- package/plugins/copyPaste/clipboardData/copyClipboardData.js +0 -69
- package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +0 -65
- package/plugins/copyPaste/clipboardData/index.js +0 -9
- package/plugins/copyPaste/clipboardData/index.mjs +0 -4
- package/plugins/copyPaste/clipboardData/pasteClipboardData.js +0 -81
- package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +0 -77
@@ -1,6 +1,6 @@
|
|
1
1
|
import { getScrollbarWidth, getStyle, offset, outerHeight, outerWidth } from "../../../helpers/dom/element.mjs";
|
2
2
|
import { objectEach } from "../../../helpers/object.mjs";
|
3
|
-
import { RENDER_TYPE, FULLY_VISIBLE_TYPE, ViewportColumnsCalculator, ViewportRowsCalculator } from "./calculator/index.mjs";
|
3
|
+
import { RENDER_TYPE, FULLY_VISIBLE_TYPE, RenderAllColumnsCalculator, RenderAllRowsCalculator, ViewportColumnsCalculator, ViewportRowsCalculator } from "./calculator/index.mjs";
|
4
4
|
/**
|
5
5
|
* @class Viewport
|
6
6
|
*/
|
@@ -252,15 +252,15 @@ class Viewport {
|
|
252
252
|
wtSettings,
|
253
253
|
wtTable
|
254
254
|
} = this;
|
255
|
-
|
255
|
+
if (wtSettings.getSetting('renderAllRows') && calculationType === RENDER_TYPE) {
|
256
|
+
return new RenderAllRowsCalculator({
|
257
|
+
totalRows: wtSettings.getSetting('totalRows')
|
258
|
+
});
|
259
|
+
}
|
260
|
+
let height = this.getViewportHeight();
|
256
261
|
let scrollbarHeight;
|
257
262
|
let fixedRowsHeight;
|
258
263
|
this.rowHeaderWidth = NaN;
|
259
|
-
if (wtSettings.getSetting('renderAllRows') && calculationType === RENDER_TYPE) {
|
260
|
-
height = Infinity;
|
261
|
-
} else {
|
262
|
-
height = this.getViewportHeight();
|
263
|
-
}
|
264
264
|
let pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
|
265
265
|
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
266
266
|
const fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
|
@@ -305,6 +305,11 @@ class Viewport {
|
|
305
305
|
wtSettings,
|
306
306
|
wtTable
|
307
307
|
} = this;
|
308
|
+
if (wtSettings.getSetting('renderAllColumns') && calculationType === RENDER_TYPE) {
|
309
|
+
return new RenderAllColumnsCalculator({
|
310
|
+
totalColumns: wtSettings.getSetting('totalColumns')
|
311
|
+
});
|
312
|
+
}
|
308
313
|
let width = this.getViewportWidth();
|
309
314
|
let pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
|
310
315
|
this.columnHeaderHeight = NaN;
|
@@ -324,10 +329,6 @@ class Viewport {
|
|
324
329
|
columnWidthFn: sourceCol => wtTable.getColumnWidth(sourceCol),
|
325
330
|
overrideFn: wtSettings.getSettingPure('viewportColumnCalculatorOverride'),
|
326
331
|
calculationType,
|
327
|
-
stretchMode: wtSettings.getSetting('stretchH'),
|
328
|
-
stretchingColumnWidthFn: (stretchedWidth, column) => {
|
329
|
-
return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
|
330
|
-
},
|
331
332
|
inlineStartOffset: this.dataAccessObject.inlineStartParentOffset
|
332
333
|
});
|
333
334
|
}
|
@@ -342,22 +343,26 @@ class Viewport {
|
|
342
343
|
*/
|
343
344
|
createRenderCalculators() {
|
344
345
|
let fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
345
|
-
|
346
|
-
|
346
|
+
const {
|
347
|
+
wtSettings
|
348
|
+
} = this;
|
349
|
+
if (fastDraw && !wtSettings.getSetting('renderAllRows')) {
|
347
350
|
const proposedRowsVisibleCalculator = this.createRowsCalculator(FULLY_VISIBLE_TYPE);
|
351
|
+
fastDraw = this.areAllProposedVisibleRowsAlreadyRendered(proposedRowsVisibleCalculator);
|
352
|
+
}
|
353
|
+
if (fastDraw && !wtSettings.getSetting('renderAllColumns')) {
|
348
354
|
const proposedColumnsVisibleCalculator = this.createColumnsCalculator(FULLY_VISIBLE_TYPE);
|
349
|
-
|
350
|
-
runFastDraw = false;
|
351
|
-
}
|
355
|
+
fastDraw = this.areAllProposedVisibleColumnsAlreadyRendered(proposedColumnsVisibleCalculator);
|
352
356
|
}
|
353
|
-
if (!
|
357
|
+
if (!fastDraw) {
|
354
358
|
this.rowsRenderCalculator = this.createRowsCalculator(RENDER_TYPE);
|
355
359
|
this.columnsRenderCalculator = this.createColumnsCalculator(RENDER_TYPE);
|
356
360
|
}
|
361
|
+
|
357
362
|
// delete temporarily to make sure that renderers always use rowsRenderCalculator, not rowsVisibleCalculator
|
358
363
|
this.rowsVisibleCalculator = null;
|
359
364
|
this.columnsVisibleCalculator = null;
|
360
|
-
return
|
365
|
+
return fastDraw;
|
361
366
|
}
|
362
367
|
|
363
368
|
/**
|
package/base.js
CHANGED
@@ -15,7 +15,9 @@ exports.CellRange = _src.CellRange;
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
16
|
// FIXME: Bug in eslint-plugin-import: https://github.com/benmosher/eslint-plugin-import/issues/1883
|
17
17
|
/* eslint-disable import/named */
|
18
|
+
|
18
19
|
/* eslint-enable import/named */
|
20
|
+
|
19
21
|
// register default mandatory cell type for the Base package
|
20
22
|
(0, _registry2.registerCellType)(_textType.TextCellType);
|
21
23
|
|
@@ -43,8 +45,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
43
45
|
Handsontable.CellCoords = _src.CellCoords;
|
44
46
|
Handsontable.CellRange = _src.CellRange;
|
45
47
|
Handsontable.packageName = 'handsontable';
|
46
|
-
Handsontable.buildDate = "
|
47
|
-
Handsontable.version = "0.0.0-next-
|
48
|
+
Handsontable.buildDate = "12/12/2023 09:51:08";
|
49
|
+
Handsontable.version = "0.0.0-next-16c18c1-20231212";
|
48
50
|
Handsontable.languages = {
|
49
51
|
dictionaryKeys: _registry.dictionaryKeys,
|
50
52
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
package/base.mjs
CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
|
|
35
35
|
Handsontable.CellCoords = CellCoords;
|
36
36
|
Handsontable.CellRange = CellRange;
|
37
37
|
Handsontable.packageName = 'handsontable';
|
38
|
-
Handsontable.buildDate = "
|
39
|
-
Handsontable.version = "0.0.0-next-
|
38
|
+
Handsontable.buildDate = "12/12/2023 09:51:14";
|
39
|
+
Handsontable.version = "0.0.0-next-16c18c1-20231212";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys,
|
42
42
|
getLanguageDictionary,
|
@@ -12,14 +12,15 @@ var _focusDetector = require("./focusDetector");
|
|
12
12
|
* @param {Core} hot The Handsontable instance.
|
13
13
|
*/
|
14
14
|
function installFocusCatcher(hot) {
|
15
|
+
const clampCoordsIfNeeded = normalizeCoordsIfNeeded(hot);
|
15
16
|
let recentlyAddedFocusCoords;
|
16
17
|
const {
|
17
18
|
activate,
|
18
19
|
deactivate
|
19
20
|
} = (0, _focusDetector.installFocusDetector)(hot, {
|
20
21
|
onFocusFromTop() {
|
21
|
-
var
|
22
|
-
const mostTopStartCoords = (
|
22
|
+
var _clampCoordsIfNeeded;
|
23
|
+
const mostTopStartCoords = (_clampCoordsIfNeeded = clampCoordsIfNeeded(recentlyAddedFocusCoords)) !== null && _clampCoordsIfNeeded !== void 0 ? _clampCoordsIfNeeded : getMostTopStartPosition(hot);
|
23
24
|
if (mostTopStartCoords) {
|
24
25
|
hot.runHooks('modifyFocusOnTabNavigation', 'from_above', mostTopStartCoords);
|
25
26
|
hot.selectCell(mostTopStartCoords.row, mostTopStartCoords.col);
|
@@ -27,8 +28,8 @@ function installFocusCatcher(hot) {
|
|
27
28
|
hot.listen();
|
28
29
|
},
|
29
30
|
onFocusFromBottom() {
|
30
|
-
var
|
31
|
-
const mostBottomEndCoords = (
|
31
|
+
var _clampCoordsIfNeeded2;
|
32
|
+
const mostBottomEndCoords = (_clampCoordsIfNeeded2 = clampCoordsIfNeeded(recentlyAddedFocusCoords)) !== null && _clampCoordsIfNeeded2 !== void 0 ? _clampCoordsIfNeeded2 : getMostBottomEndPosition(hot);
|
32
33
|
if (mostBottomEndCoords) {
|
33
34
|
hot.runHooks('modifyFocusOnTabNavigation', 'from_below', mostBottomEndCoords);
|
34
35
|
hot.selectCell(mostBottomEndCoords.row, mostBottomEndCoords.col);
|
@@ -42,10 +43,12 @@ function installFocusCatcher(hot) {
|
|
42
43
|
};
|
43
44
|
let isSavingCoordsEnabled = true;
|
44
45
|
let isTabOrShiftTabPressed = false;
|
46
|
+
let preventViewportScroll = false;
|
45
47
|
hot.addHook('afterListen', () => deactivate());
|
46
48
|
hot.addHook('afterUnlisten', () => activate());
|
47
49
|
hot.addHook('afterSelection', (row, column, row2, column2, preventScrolling) => {
|
48
|
-
if (isTabOrShiftTabPressed && rowWrapState.wrapped && rowWrapState.flipped) {
|
50
|
+
if (isTabOrShiftTabPressed && (rowWrapState.wrapped && rowWrapState.flipped || preventViewportScroll)) {
|
51
|
+
preventViewportScroll = false;
|
49
52
|
preventScrolling.value = true;
|
50
53
|
}
|
51
54
|
if (isSavingCoordsEnabled) {
|
@@ -77,10 +80,16 @@ function installFocusCatcher(hot) {
|
|
77
80
|
hot.getShortcutManager().getContext('grid').addShortcuts([{
|
78
81
|
...shortcutOptions,
|
79
82
|
callback: () => {
|
83
|
+
const {
|
84
|
+
tabNavigation
|
85
|
+
} = hot.getSettings();
|
80
86
|
isTabOrShiftTabPressed = true;
|
81
|
-
if (hot.getSelectedRangeLast() && !
|
87
|
+
if (hot.getSelectedRangeLast() && !tabNavigation) {
|
82
88
|
isSavingCoordsEnabled = false;
|
83
89
|
}
|
90
|
+
if (!tabNavigation) {
|
91
|
+
preventViewportScroll = true;
|
92
|
+
}
|
84
93
|
},
|
85
94
|
position: 'before'
|
86
95
|
}, {
|
@@ -165,4 +174,33 @@ function getMostBottomEndPosition(hot) {
|
|
165
174
|
endColumn = -1;
|
166
175
|
}
|
167
176
|
return hot._createCellCoords((_rowIndexMapper$getVi = rowIndexMapper.getVisualFromRenderableIndex(bottomRow)) !== null && _rowIndexMapper$getVi !== void 0 ? _rowIndexMapper$getVi : bottomRow, (_columnIndexMapper$ge = columnIndexMapper.getVisualFromRenderableIndex(endColumn)) !== null && _columnIndexMapper$ge !== void 0 ? _columnIndexMapper$ge : endColumn);
|
177
|
+
}
|
178
|
+
|
179
|
+
/**
|
180
|
+
* Normalizes the coordinates (clamps to nearest visible cell position within dataset range).
|
181
|
+
*
|
182
|
+
* @param {Core} hot The Handsontable instance.
|
183
|
+
* @returns {function(Coords | undefined): Coords | null}
|
184
|
+
*/
|
185
|
+
function normalizeCoordsIfNeeded(hot) {
|
186
|
+
return coords => {
|
187
|
+
if (!coords) {
|
188
|
+
return null;
|
189
|
+
}
|
190
|
+
const mostTopStartCoords = getMostTopStartPosition(hot);
|
191
|
+
const mostBottomEndCoords = getMostBottomEndPosition(hot);
|
192
|
+
if (coords.col < mostTopStartCoords.col) {
|
193
|
+
coords.col = mostTopStartCoords.col;
|
194
|
+
}
|
195
|
+
if (coords.col > mostBottomEndCoords.col) {
|
196
|
+
coords.col = mostBottomEndCoords.col;
|
197
|
+
}
|
198
|
+
if (coords.row < mostTopStartCoords.row) {
|
199
|
+
coords.row = mostTopStartCoords.row;
|
200
|
+
}
|
201
|
+
if (coords.row > mostBottomEndCoords.row) {
|
202
|
+
coords.row = mostBottomEndCoords.row;
|
203
|
+
}
|
204
|
+
return coords;
|
205
|
+
};
|
168
206
|
}
|
@@ -8,14 +8,15 @@ import { installFocusDetector } from "./focusDetector.mjs";
|
|
8
8
|
* @param {Core} hot The Handsontable instance.
|
9
9
|
*/
|
10
10
|
export function installFocusCatcher(hot) {
|
11
|
+
const clampCoordsIfNeeded = normalizeCoordsIfNeeded(hot);
|
11
12
|
let recentlyAddedFocusCoords;
|
12
13
|
const {
|
13
14
|
activate,
|
14
15
|
deactivate
|
15
16
|
} = installFocusDetector(hot, {
|
16
17
|
onFocusFromTop() {
|
17
|
-
var
|
18
|
-
const mostTopStartCoords = (
|
18
|
+
var _clampCoordsIfNeeded;
|
19
|
+
const mostTopStartCoords = (_clampCoordsIfNeeded = clampCoordsIfNeeded(recentlyAddedFocusCoords)) !== null && _clampCoordsIfNeeded !== void 0 ? _clampCoordsIfNeeded : getMostTopStartPosition(hot);
|
19
20
|
if (mostTopStartCoords) {
|
20
21
|
hot.runHooks('modifyFocusOnTabNavigation', 'from_above', mostTopStartCoords);
|
21
22
|
hot.selectCell(mostTopStartCoords.row, mostTopStartCoords.col);
|
@@ -23,8 +24,8 @@ export function installFocusCatcher(hot) {
|
|
23
24
|
hot.listen();
|
24
25
|
},
|
25
26
|
onFocusFromBottom() {
|
26
|
-
var
|
27
|
-
const mostBottomEndCoords = (
|
27
|
+
var _clampCoordsIfNeeded2;
|
28
|
+
const mostBottomEndCoords = (_clampCoordsIfNeeded2 = clampCoordsIfNeeded(recentlyAddedFocusCoords)) !== null && _clampCoordsIfNeeded2 !== void 0 ? _clampCoordsIfNeeded2 : getMostBottomEndPosition(hot);
|
28
29
|
if (mostBottomEndCoords) {
|
29
30
|
hot.runHooks('modifyFocusOnTabNavigation', 'from_below', mostBottomEndCoords);
|
30
31
|
hot.selectCell(mostBottomEndCoords.row, mostBottomEndCoords.col);
|
@@ -38,10 +39,12 @@ export function installFocusCatcher(hot) {
|
|
38
39
|
};
|
39
40
|
let isSavingCoordsEnabled = true;
|
40
41
|
let isTabOrShiftTabPressed = false;
|
42
|
+
let preventViewportScroll = false;
|
41
43
|
hot.addHook('afterListen', () => deactivate());
|
42
44
|
hot.addHook('afterUnlisten', () => activate());
|
43
45
|
hot.addHook('afterSelection', (row, column, row2, column2, preventScrolling) => {
|
44
|
-
if (isTabOrShiftTabPressed && rowWrapState.wrapped && rowWrapState.flipped) {
|
46
|
+
if (isTabOrShiftTabPressed && (rowWrapState.wrapped && rowWrapState.flipped || preventViewportScroll)) {
|
47
|
+
preventViewportScroll = false;
|
45
48
|
preventScrolling.value = true;
|
46
49
|
}
|
47
50
|
if (isSavingCoordsEnabled) {
|
@@ -73,10 +76,16 @@ export function installFocusCatcher(hot) {
|
|
73
76
|
hot.getShortcutManager().getContext('grid').addShortcuts([{
|
74
77
|
...shortcutOptions,
|
75
78
|
callback: () => {
|
79
|
+
const {
|
80
|
+
tabNavigation
|
81
|
+
} = hot.getSettings();
|
76
82
|
isTabOrShiftTabPressed = true;
|
77
|
-
if (hot.getSelectedRangeLast() && !
|
83
|
+
if (hot.getSelectedRangeLast() && !tabNavigation) {
|
78
84
|
isSavingCoordsEnabled = false;
|
79
85
|
}
|
86
|
+
if (!tabNavigation) {
|
87
|
+
preventViewportScroll = true;
|
88
|
+
}
|
80
89
|
},
|
81
90
|
position: 'before'
|
82
91
|
}, {
|
@@ -161,4 +170,33 @@ function getMostBottomEndPosition(hot) {
|
|
161
170
|
endColumn = -1;
|
162
171
|
}
|
163
172
|
return hot._createCellCoords((_rowIndexMapper$getVi = rowIndexMapper.getVisualFromRenderableIndex(bottomRow)) !== null && _rowIndexMapper$getVi !== void 0 ? _rowIndexMapper$getVi : bottomRow, (_columnIndexMapper$ge = columnIndexMapper.getVisualFromRenderableIndex(endColumn)) !== null && _columnIndexMapper$ge !== void 0 ? _columnIndexMapper$ge : endColumn);
|
173
|
+
}
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Normalizes the coordinates (clamps to nearest visible cell position within dataset range).
|
177
|
+
*
|
178
|
+
* @param {Core} hot The Handsontable instance.
|
179
|
+
* @returns {function(Coords | undefined): Coords | null}
|
180
|
+
*/
|
181
|
+
function normalizeCoordsIfNeeded(hot) {
|
182
|
+
return coords => {
|
183
|
+
if (!coords) {
|
184
|
+
return null;
|
185
|
+
}
|
186
|
+
const mostTopStartCoords = getMostTopStartPosition(hot);
|
187
|
+
const mostBottomEndCoords = getMostBottomEndPosition(hot);
|
188
|
+
if (coords.col < mostTopStartCoords.col) {
|
189
|
+
coords.col = mostTopStartCoords.col;
|
190
|
+
}
|
191
|
+
if (coords.col > mostBottomEndCoords.col) {
|
192
|
+
coords.col = mostBottomEndCoords.col;
|
193
|
+
}
|
194
|
+
if (coords.row < mostTopStartCoords.row) {
|
195
|
+
coords.row = mostTopStartCoords.row;
|
196
|
+
}
|
197
|
+
if (coords.row > mostBottomEndCoords.row) {
|
198
|
+
coords.row = mostBottomEndCoords.row;
|
199
|
+
}
|
200
|
+
return coords;
|
201
|
+
};
|
164
202
|
}
|
package/core.js
CHANGED
@@ -254,7 +254,6 @@ function Core(rootElement, userSettings) {
|
|
254
254
|
if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
|
255
255
|
this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
|
256
256
|
}
|
257
|
-
|
258
257
|
const visualToRenderableCoords = coords => {
|
259
258
|
const {
|
260
259
|
row: visualRow,
|
@@ -274,7 +273,6 @@ function Core(rootElement, userSettings) {
|
|
274
273
|
renderableRow >= 0 ? instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRow) : renderableRow, renderableColumn >= 0 ? instance.columnIndexMapper.getVisualFromRenderableIndex(renderableColumn) : renderableColumn // eslint-disable-line max-len
|
275
274
|
);
|
276
275
|
};
|
277
|
-
|
278
276
|
let selection = new _selection.Selection(tableMeta, {
|
279
277
|
rowIndexMapper: instance.rowIndexMapper,
|
280
278
|
columnIndexMapper: instance.columnIndexMapper,
|
@@ -577,7 +575,6 @@ function Core(rootElement, userSettings) {
|
|
577
575
|
instance._refreshBorders(); // it will call render and prepare methods
|
578
576
|
}
|
579
577
|
}
|
580
|
-
|
581
578
|
break;
|
582
579
|
case 'insert_col_start':
|
583
580
|
case 'insert_col_end':
|
@@ -600,7 +597,6 @@ function Core(rootElement, userSettings) {
|
|
600
597
|
spliceArray.length += colDelta; // inserts empty (undefined) elements at the end of an array
|
601
598
|
Array.prototype.splice.apply(tableMeta.colHeaders, spliceArray); // inserts empty (undefined) elements into the colHeader array
|
602
599
|
}
|
603
|
-
|
604
600
|
const currentSelectedRange = selection.selectedRange.current();
|
605
601
|
const currentFromRange = currentSelectedRange === null || currentSelectedRange === void 0 ? void 0 : currentSelectedRange.from;
|
606
602
|
const currentFromColumn = currentFromRange === null || currentFromRange === void 0 ? void 0 : currentFromRange.col;
|
@@ -634,7 +630,6 @@ function Core(rootElement, userSettings) {
|
|
634
630
|
instance._refreshBorders(); // it will call render and prepare methods
|
635
631
|
}
|
636
632
|
}
|
637
|
-
|
638
633
|
break;
|
639
634
|
case 'remove_row':
|
640
635
|
const removeRow = indexes => {
|
@@ -730,7 +725,6 @@ function Core(rootElement, userSettings) {
|
|
730
725
|
grid.adjustRowsAndCols(); // makes sure that we did not add rows that will be removed in next refresh
|
731
726
|
}
|
732
727
|
},
|
733
|
-
|
734
728
|
/**
|
735
729
|
* Makes sure there are empty rows at the bottom of the table.
|
736
730
|
*
|
@@ -1186,7 +1180,6 @@ function Core(rootElement, userSettings) {
|
|
1186
1180
|
}
|
1187
1181
|
callback(isValid); // called when async validators are resolved and beforeChange was not async
|
1188
1182
|
};
|
1189
|
-
|
1190
1183
|
for (let i = changes.length - 1; i >= 0; i--) {
|
1191
1184
|
const [row, prop,, newValue] = changes[i];
|
1192
1185
|
const col = datamap.propToCol(prop);
|
@@ -1456,7 +1449,6 @@ function Core(rootElement, userSettings) {
|
|
1456
1449
|
if (typeof input[i][1] !== 'number') {
|
1457
1450
|
throw new Error('Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`'); // eslint-disable-line max-len
|
1458
1451
|
}
|
1459
|
-
|
1460
1452
|
if (input[i][1] >= this.countCols()) {
|
1461
1453
|
prop = input[i][1];
|
1462
1454
|
} else {
|
@@ -1587,7 +1579,6 @@ function Core(rootElement, userSettings) {
|
|
1587
1579
|
if (!(typeof input === 'object' && typeof input[0] === 'object')) {
|
1588
1580
|
throw new Error('populateFromArray parameter `input` must be an array of arrays'); // API changed in 0.9-beta2, let's check if you use it correctly
|
1589
1581
|
}
|
1590
|
-
|
1591
1582
|
const c = typeof endRow === 'number' ? instance._createCellCoords(endRow, endCol) : null;
|
1592
1583
|
return grid.populateFromArray(instance._createCellCoords(row, column), input, c, source, method);
|
1593
1584
|
};
|
@@ -3488,7 +3479,6 @@ function Core(rootElement, userSettings) {
|
|
3488
3479
|
} else if (tableMeta.colHeaders && typeof tableMeta.colHeaders !== 'string' && typeof tableMeta.colHeaders !== 'number') {
|
3489
3480
|
result = (0, _data.spreadsheetColumnLabel)(columnIndex); // see #1458
|
3490
3481
|
}
|
3491
|
-
|
3492
3482
|
result = instance.runHooks('modifyColumnHeaderValue', result, column, headerLevel);
|
3493
3483
|
return result;
|
3494
3484
|
};
|
@@ -4119,7 +4109,6 @@ function Core(rootElement, userSettings) {
|
|
4119
4109
|
};
|
4120
4110
|
/* eslint-enable prefer-rest-params */
|
4121
4111
|
}
|
4122
|
-
|
4123
4112
|
const {
|
4124
4113
|
row,
|
4125
4114
|
col,
|
package/core.mjs
CHANGED
@@ -249,7 +249,6 @@ export default function Core(rootElement, userSettings) {
|
|
249
249
|
if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
|
250
250
|
this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
|
251
251
|
}
|
252
|
-
|
253
252
|
const visualToRenderableCoords = coords => {
|
254
253
|
const {
|
255
254
|
row: visualRow,
|
@@ -269,7 +268,6 @@ export default function Core(rootElement, userSettings) {
|
|
269
268
|
renderableRow >= 0 ? instance.rowIndexMapper.getVisualFromRenderableIndex(renderableRow) : renderableRow, renderableColumn >= 0 ? instance.columnIndexMapper.getVisualFromRenderableIndex(renderableColumn) : renderableColumn // eslint-disable-line max-len
|
270
269
|
);
|
271
270
|
};
|
272
|
-
|
273
271
|
let selection = new Selection(tableMeta, {
|
274
272
|
rowIndexMapper: instance.rowIndexMapper,
|
275
273
|
columnIndexMapper: instance.columnIndexMapper,
|
@@ -572,7 +570,6 @@ export default function Core(rootElement, userSettings) {
|
|
572
570
|
instance._refreshBorders(); // it will call render and prepare methods
|
573
571
|
}
|
574
572
|
}
|
575
|
-
|
576
573
|
break;
|
577
574
|
case 'insert_col_start':
|
578
575
|
case 'insert_col_end':
|
@@ -595,7 +592,6 @@ export default function Core(rootElement, userSettings) {
|
|
595
592
|
spliceArray.length += colDelta; // inserts empty (undefined) elements at the end of an array
|
596
593
|
Array.prototype.splice.apply(tableMeta.colHeaders, spliceArray); // inserts empty (undefined) elements into the colHeader array
|
597
594
|
}
|
598
|
-
|
599
595
|
const currentSelectedRange = selection.selectedRange.current();
|
600
596
|
const currentFromRange = currentSelectedRange === null || currentSelectedRange === void 0 ? void 0 : currentSelectedRange.from;
|
601
597
|
const currentFromColumn = currentFromRange === null || currentFromRange === void 0 ? void 0 : currentFromRange.col;
|
@@ -629,7 +625,6 @@ export default function Core(rootElement, userSettings) {
|
|
629
625
|
instance._refreshBorders(); // it will call render and prepare methods
|
630
626
|
}
|
631
627
|
}
|
632
|
-
|
633
628
|
break;
|
634
629
|
case 'remove_row':
|
635
630
|
const removeRow = indexes => {
|
@@ -725,7 +720,6 @@ export default function Core(rootElement, userSettings) {
|
|
725
720
|
grid.adjustRowsAndCols(); // makes sure that we did not add rows that will be removed in next refresh
|
726
721
|
}
|
727
722
|
},
|
728
|
-
|
729
723
|
/**
|
730
724
|
* Makes sure there are empty rows at the bottom of the table.
|
731
725
|
*
|
@@ -1181,7 +1175,6 @@ export default function Core(rootElement, userSettings) {
|
|
1181
1175
|
}
|
1182
1176
|
callback(isValid); // called when async validators are resolved and beforeChange was not async
|
1183
1177
|
};
|
1184
|
-
|
1185
1178
|
for (let i = changes.length - 1; i >= 0; i--) {
|
1186
1179
|
const [row, prop,, newValue] = changes[i];
|
1187
1180
|
const col = datamap.propToCol(prop);
|
@@ -1451,7 +1444,6 @@ export default function Core(rootElement, userSettings) {
|
|
1451
1444
|
if (typeof input[i][1] !== 'number') {
|
1452
1445
|
throw new Error('Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`'); // eslint-disable-line max-len
|
1453
1446
|
}
|
1454
|
-
|
1455
1447
|
if (input[i][1] >= this.countCols()) {
|
1456
1448
|
prop = input[i][1];
|
1457
1449
|
} else {
|
@@ -1582,7 +1574,6 @@ export default function Core(rootElement, userSettings) {
|
|
1582
1574
|
if (!(typeof input === 'object' && typeof input[0] === 'object')) {
|
1583
1575
|
throw new Error('populateFromArray parameter `input` must be an array of arrays'); // API changed in 0.9-beta2, let's check if you use it correctly
|
1584
1576
|
}
|
1585
|
-
|
1586
1577
|
const c = typeof endRow === 'number' ? instance._createCellCoords(endRow, endCol) : null;
|
1587
1578
|
return grid.populateFromArray(instance._createCellCoords(row, column), input, c, source, method);
|
1588
1579
|
};
|
@@ -3483,7 +3474,6 @@ export default function Core(rootElement, userSettings) {
|
|
3483
3474
|
} else if (tableMeta.colHeaders && typeof tableMeta.colHeaders !== 'string' && typeof tableMeta.colHeaders !== 'number') {
|
3484
3475
|
result = spreadsheetColumnLabel(columnIndex); // see #1458
|
3485
3476
|
}
|
3486
|
-
|
3487
3477
|
result = instance.runHooks('modifyColumnHeaderValue', result, column, headerLevel);
|
3488
3478
|
return result;
|
3489
3479
|
};
|
@@ -4114,7 +4104,6 @@ export default function Core(rootElement, userSettings) {
|
|
4114
4104
|
};
|
4115
4105
|
/* eslint-enable prefer-rest-params */
|
4116
4106
|
}
|
4117
|
-
|
4118
4107
|
const {
|
4119
4108
|
row,
|
4120
4109
|
col,
|
package/dataMap/dataMap.js
CHANGED
@@ -10,8 +10,8 @@ var _array = require("../helpers/array");
|
|
10
10
|
var _number = require("../helpers/number");
|
11
11
|
var _mixed = require("../helpers/mixed");
|
12
12
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
|
-
function _toPropertyKey(
|
14
|
-
function _toPrimitive(
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
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); }
|
15
15
|
/*
|
16
16
|
This class contains open-source contributions covered by the MIT license.
|
17
17
|
|
@@ -33,6 +33,7 @@ The above copyright notice and this permission notice shall be included in all c
|
|
33
33
|
|
34
34
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
35
35
|
*/
|
36
|
+
|
36
37
|
/**
|
37
38
|
* Utility class that gets and saves data from/to the data source using mapping of columns numbers to object property names.
|
38
39
|
*
|
package/dataMap/dataMap.mjs
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
4
|
-
function _toPropertyKey(
|
5
|
-
function _toPrimitive(
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
5
|
+
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); }
|
6
6
|
import { stringify } from "../3rdparty/SheetClip/index.mjs";
|
7
7
|
import { countFirstRowKeys } from "../helpers/data.mjs";
|
8
8
|
import { createObjectPropListener, deepClone, deepExtend, deepObjectSize, duckSchema, hasOwnProperty, isObject, objectEach } from "../helpers/object.mjs";
|
package/dataMap/dataSource.js
CHANGED
@@ -9,8 +9,8 @@ var _array = require("../helpers/array");
|
|
9
9
|
var _number = require("../helpers/number");
|
10
10
|
var _function = require("../helpers/function");
|
11
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
12
|
-
function _toPropertyKey(
|
13
|
-
function _toPrimitive(
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
13
|
+
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); }
|
14
14
|
/**
|
15
15
|
* @class DataSource
|
16
16
|
* @private
|
package/dataMap/dataSource.mjs
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
2
|
import "core-js/modules/es.error.cause.js";
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
4
|
-
function _toPropertyKey(
|
5
|
-
function _toPrimitive(
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
5
|
+
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); }
|
6
6
|
import { createObjectPropListener, getProperty, isObject, objectEach, setProperty } from "../helpers/object.mjs";
|
7
7
|
import { countFirstRowKeys } from "../helpers/data.mjs";
|
8
8
|
import { arrayEach } from "../helpers/array.mjs";
|
@@ -7,8 +7,8 @@ var _array = require("../../helpers/array");
|
|
7
7
|
var _utils = require("./utils");
|
8
8
|
let _Symbol$iterator;
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
10
|
-
function _toPropertyKey(
|
11
|
-
function _toPrimitive(
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
11
|
+
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); }
|
12
12
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
13
13
|
/**
|
14
14
|
* @class LazyFactoryMap
|
@@ -2,8 +2,8 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
let _Symbol$iterator;
|
3
3
|
import "core-js/modules/es.array.push.js";
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
-
function _toPropertyKey(
|
6
|
-
function _toPrimitive(
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
6
|
+
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); }
|
7
7
|
import { arrayFilter } from "../../helpers/array.mjs";
|
8
8
|
import { assert, isUnsignedNumber, isNullish } from "./utils.mjs";
|
9
9
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -8,8 +8,8 @@ var _utils = require("../utils");
|
|
8
8
|
var _lazyFactoryMap = _interopRequireDefault(require("../lazyFactoryMap"));
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
11
|
-
function _toPropertyKey(
|
12
|
-
function _toPrimitive(
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
12
|
+
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
13
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
14
14
|
/**
|
15
15
|
* @class CellMeta
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
2
|
import "core-js/modules/es.error.cause.js";
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
4
|
-
function _toPropertyKey(
|
5
|
-
function _toPrimitive(
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
5
|
+
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); }
|
6
6
|
import { extend } from "../../../helpers/object.mjs";
|
7
7
|
import { extendByMetaType, assert, isUnsignedNumber } from "../utils.mjs";
|
8
8
|
import LazyFactoryMap from "../lazyFactoryMap.mjs";
|
@@ -7,8 +7,8 @@ var _utils = require("../utils");
|
|
7
7
|
var _lazyFactoryMap = _interopRequireDefault(require("../lazyFactoryMap"));
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
10
|
-
function _toPropertyKey(
|
11
|
-
function _toPrimitive(
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
11
|
+
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); }
|
12
12
|
/**
|
13
13
|
* List of props which have to be cleared in the column meta-layer. That props have a
|
14
14
|
* different meaning when using in column meta.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(
|
4
|
-
function _toPrimitive(
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
4
|
+
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); }
|
5
5
|
import { extend } from "../../../helpers/object.mjs";
|
6
6
|
import { columnFactory, extendByMetaType } from "../utils.mjs";
|
7
7
|
import LazyFactoryMap from "../lazyFactoryMap.mjs";
|