handsontable 12.0.1 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -2
- package/3rdparty/walkontable/src/core/core.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.js +20 -14
- package/3rdparty/walkontable/src/overlay/bottom.mjs +20 -14
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +14 -8
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +14 -8
- package/3rdparty/walkontable/src/overlay/inlineStart.js +14 -5
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +14 -5
- package/3rdparty/walkontable/src/overlay/top.js +12 -3
- package/3rdparty/walkontable/src/overlay/top.mjs +12 -3
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +3 -3
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +3 -3
- package/3rdparty/walkontable/src/overlays.js +2 -2
- package/3rdparty/walkontable/src/overlays.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 +2 -2
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- 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 +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/scroll.js +111 -63
- package/3rdparty/walkontable/src/scroll.mjs +110 -63
- package/3rdparty/walkontable/src/table/bottom.js +2 -2
- package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +2 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +2 -2
- package/3rdparty/walkontable/src/table/inlineStart.js +2 -2
- package/3rdparty/walkontable/src/table/inlineStart.mjs +2 -2
- package/3rdparty/walkontable/src/table/master.js +2 -2
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table/top.js +2 -2
- package/3rdparty/walkontable/src/table/top.mjs +2 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +2 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/3rdparty/walkontable/src/viewport.js +14 -22
- package/3rdparty/walkontable/src/viewport.mjs +14 -22
- package/CHANGELOG.md +32 -0
- package/LICENSE.txt +1 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +38 -30
- package/core.mjs +38 -30
- package/dataMap/metaManager/metaSchema.js +165 -168
- package/dataMap/metaManager/metaSchema.mjs +165 -168
- package/dist/handsontable.css +18 -18
- package/dist/handsontable.full.css +19 -29
- package/dist/handsontable.full.js +13389 -12669
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +134 -135
- package/dist/handsontable.js +3961 -3794
- package/dist/handsontable.min.css +4 -4
- package/dist/handsontable.min.js +4 -4
- package/dist/languages/all.js +97 -33
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/cs-CZ.js +167 -0
- package/dist/languages/cs-CZ.min.js +1 -0
- package/dist/languages/de-CH.js +3 -2
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +3 -2
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +3 -2
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +3 -2
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +3 -2
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +3 -2
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +36 -39
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +2 -2
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +2 -2
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +2 -2
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +2 -2
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +2 -2
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +2 -2
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +2 -2
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +171 -0
- package/dist/languages/sr-SP.min.js +1 -0
- package/dist/languages/zh-CN.js +24 -24
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +2 -2
- package/dist/languages/zh-TW.min.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +13 -14
- package/editors/autocompleteEditor/autocompleteEditor.mjs +13 -14
- package/editors/baseEditor/baseEditor.js +2 -2
- package/editors/baseEditor/baseEditor.mjs +2 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -2
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/dateEditor/dateEditor.js +3 -3
- package/editors/dateEditor/dateEditor.mjs +3 -3
- package/editors/dropdownEditor/dropdownEditor.js +3 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/handsontableEditor/handsontableEditor.js +3 -3
- package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
- package/editors/numericEditor/numericEditor.js +2 -2
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/passwordEditor.js +3 -3
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/selectEditor/selectEditor.js +3 -3
- package/editors/selectEditor/selectEditor.mjs +3 -3
- package/editors/textEditor/textEditor.js +3 -3
- package/editors/textEditor/textEditor.mjs +3 -3
- package/editors/timeEditor/timeEditor.js +3 -3
- package/editors/timeEditor/timeEditor.mjs +3 -3
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/cs-CZ.js +40 -0
- package/i18n/languages/cs-CZ.mjs +16 -0
- package/i18n/languages/index.js +8 -0
- package/i18n/languages/index.mjs +3 -1
- package/i18n/languages/sr-SP.js +40 -0
- package/i18n/languages/sr-SP.mjs +16 -0
- package/languages/all.js +97 -33
- package/languages/cs-CZ.js +167 -0
- package/languages/cs-CZ.mjs +18 -0
- package/languages/de-CH.js +3 -2
- package/languages/de-DE.js +3 -2
- package/languages/en-US.js +3 -2
- package/languages/es-MX.js +3 -2
- package/languages/fr-FR.js +3 -2
- package/languages/index.js +97 -33
- package/languages/index.mjs +3 -1
- package/languages/it-IT.js +3 -2
- package/languages/ja-JP.js +36 -39
- package/languages/ko-KR.js +2 -2
- package/languages/lv-LV.js +2 -2
- package/languages/nb-NO.js +2 -2
- package/languages/nl-NL.js +2 -2
- package/languages/pl-PL.js +2 -2
- package/languages/pt-BR.js +2 -2
- package/languages/ru-RU.js +2 -2
- package/languages/sr-SP.js +171 -0
- package/languages/sr-SP.mjs +18 -0
- package/languages/zh-CN.js +24 -24
- package/languages/zh-TW.js +2 -2
- package/package.json +22 -2
- package/pluginHooks.js +46 -8
- package/pluginHooks.mjs +46 -8
- package/plugins/autoColumnSize/autoColumnSize.js +3 -3
- package/plugins/autoColumnSize/autoColumnSize.mjs +3 -3
- package/plugins/autoRowSize/autoRowSize.js +3 -3
- package/plugins/autoRowSize/autoRowSize.mjs +3 -3
- package/plugins/autofill/autofill.js +3 -3
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +3 -3
- package/plugins/columnSorting/columnSorting.js +3 -3
- package/plugins/columnSorting/columnSorting.mjs +3 -3
- package/plugins/columnSummary/columnSummary.js +3 -3
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/comments/commentEditor.js +2 -2
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/comments/comments.js +39 -31
- package/plugins/comments/comments.mjs +40 -32
- package/plugins/contextMenu/contextMenu.js +3 -3
- package/plugins/contextMenu/contextMenu.mjs +3 -3
- package/plugins/copyPaste/copyPaste.js +6 -6
- package/plugins/copyPaste/copyPaste.mjs +6 -6
- package/plugins/customBorders/customBorders.js +3 -3
- package/plugins/customBorders/customBorders.mjs +3 -3
- package/plugins/dragToScroll/dragToScroll.js +3 -3
- package/plugins/dragToScroll/dragToScroll.mjs +3 -3
- package/plugins/dropdownMenu/dropdownMenu.js +5 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +5 -4
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +2 -2
- package/plugins/exportFile/types/csv.js +2 -2
- package/plugins/exportFile/types/csv.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 +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +2 -2
- package/plugins/filters/component/operators.mjs +2 -2
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- package/plugins/filters/filters.js +3 -3
- package/plugins/filters/filters.mjs +3 -3
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +3 -3
- package/plugins/filters/ui/multipleSelect.mjs +3 -3
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +3 -3
- package/plugins/formulas/formulas.js +3 -3
- package/plugins/formulas/formulas.mjs +3 -3
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +3 -3
- package/plugins/hiddenColumns/hiddenColumns.js +3 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +3 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +3 -3
- package/plugins/hiddenRows/hiddenRows.js +3 -3
- package/plugins/hiddenRows/hiddenRows.mjs +3 -3
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +46 -20
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +41 -20
- package/plugins/manualColumnMove/manualColumnMove.js +7 -18
- package/plugins/manualColumnMove/manualColumnMove.mjs +7 -18
- package/plugins/manualColumnMove/ui/backlight.js +3 -3
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +3 -3
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +3 -3
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
- package/plugins/manualRowMove/manualRowMove.js +11 -29
- package/plugins/manualRowMove/manualRowMove.mjs +11 -29
- package/plugins/manualRowMove/ui/backlight.js +3 -3
- package/plugins/manualRowMove/ui/backlight.mjs +3 -3
- package/plugins/manualRowMove/ui/guideline.js +3 -3
- package/plugins/manualRowMove/ui/guideline.mjs +3 -3
- package/plugins/manualRowResize/manualRowResize.js +3 -3
- package/plugins/manualRowResize/manualRowResize.mjs +3 -3
- package/plugins/mergeCells/cellsCollection.js +3 -3
- package/plugins/mergeCells/cellsCollection.mjs +3 -3
- package/plugins/mergeCells/mergeCells.js +15 -15
- package/plugins/mergeCells/mergeCells.mjs +15 -15
- package/plugins/multiColumnSorting/multiColumnSorting.js +3 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +3 -3
- package/plugins/nestedHeaders/nestedHeaders.js +10 -6
- package/plugins/nestedHeaders/nestedHeaders.mjs +10 -6
- package/plugins/nestedHeaders/stateManager/utils.js +3 -4
- package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +94 -56
- package/plugins/nestedHeaders/utils/ghostTable.mjs +94 -56
- package/plugins/nestedRows/nestedRows.js +3 -3
- package/plugins/nestedRows/nestedRows.mjs +3 -3
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +2 -2
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
- package/plugins/nestedRows/ui/headers.js +2 -2
- package/plugins/nestedRows/ui/headers.mjs +2 -2
- package/plugins/persistentState/persistentState.js +3 -3
- package/plugins/persistentState/persistentState.mjs +3 -3
- package/plugins/search/search.js +3 -3
- package/plugins/search/search.mjs +3 -3
- package/plugins/touchScroll/touchScroll.js +3 -3
- package/plugins/touchScroll/touchScroll.mjs +3 -3
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/plugins/undoRedo/undoRedo.js +2 -2
- package/plugins/undoRedo/undoRedo.mjs +2 -2
- package/selection/highlight/visualSelection.js +83 -210
- package/selection/highlight/visualSelection.mjs +79 -202
- package/selection/selection.js +9 -3
- package/selection/selection.mjs +9 -3
- package/shortcuts/context.js +1 -1
- package/shortcuts/context.mjs +1 -1
- package/shortcuts/manager.js +3 -1
- package/shortcuts/manager.mjs +3 -1
- package/shortcuts/recorder.js +11 -2
- package/shortcuts/recorder.mjs +11 -2
- package/tableView.js +27 -5
- package/tableView.mjs +27 -5
- package/translations/indexMapper.d.ts +3 -1
- package/translations/indexMapper.js +88 -10
- package/translations/indexMapper.mjs +90 -19
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/maps/hidingMap.js +2 -2
- package/translations/maps/hidingMap.mjs +2 -2
- package/translations/maps/indexesSequence.js +3 -3
- package/translations/maps/indexesSequence.mjs +3 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +3 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -3
- package/translations/maps/physicalIndexToValueMap.js +3 -3
- package/translations/maps/physicalIndexToValueMap.mjs +3 -3
- package/translations/maps/trimmingMap.js +2 -2
- package/translations/maps/trimmingMap.mjs +2 -2
package/tableView.js
CHANGED
@@ -515,7 +515,7 @@ var TableView = /*#__PURE__*/function () {
|
|
515
515
|
value: function countRenderableIndexes(indexMapper, maxElements) {
|
516
516
|
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements); // Don't take hidden indexes into account. We are looking just for renderable indexes.
|
517
517
|
|
518
|
-
var firstNotHiddenIndex = indexMapper.
|
518
|
+
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1); // There are no renderable indexes.
|
519
519
|
|
520
520
|
if (firstNotHiddenIndex === null) {
|
521
521
|
return 0;
|
@@ -591,7 +591,7 @@ var TableView = /*#__PURE__*/function () {
|
|
591
591
|
return 0;
|
592
592
|
}
|
593
593
|
|
594
|
-
var firstVisibleIndex = indexMapper.
|
594
|
+
var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
|
595
595
|
var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
|
596
596
|
|
597
597
|
if (!Number.isInteger(renderableIndex)) {
|
@@ -974,7 +974,7 @@ var TableView = /*#__PURE__*/function () {
|
|
974
974
|
|
975
975
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
976
976
|
|
977
|
-
return rowMapper.getRenderableFromVisualIndex(rowMapper.
|
977
|
+
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
978
978
|
},
|
979
979
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
980
980
|
var columnMapper = _this2.instance.columnIndexMapper;
|
@@ -982,7 +982,7 @@ var TableView = /*#__PURE__*/function () {
|
|
982
982
|
|
983
983
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
984
984
|
|
985
|
-
return columnMapper.getRenderableFromVisualIndex(columnMapper.
|
985
|
+
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
986
986
|
},
|
987
987
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
988
988
|
var cornersOfSelection;
|
@@ -1047,7 +1047,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1047
1047
|
visualColumnTo = _visualIndexes[3]; // Result of the hook is handled by the Walkontable (renderable indexes).
|
1048
1048
|
|
1049
1049
|
|
1050
|
-
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1050
|
+
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
|
1051
1051
|
}
|
1052
1052
|
},
|
1053
1053
|
viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
|
@@ -1435,6 +1435,28 @@ var TableView = /*#__PURE__*/function () {
|
|
1435
1435
|
value: function getLastFullyVisibleRow() {
|
1436
1436
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
|
1437
1437
|
}
|
1438
|
+
/**
|
1439
|
+
* Returns the first fully visible column in the table viewport.
|
1440
|
+
*
|
1441
|
+
* @returns {number}
|
1442
|
+
*/
|
1443
|
+
|
1444
|
+
}, {
|
1445
|
+
key: "getFirstFullyVisibleColumn",
|
1446
|
+
value: function getFirstFullyVisibleColumn() {
|
1447
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
|
1448
|
+
}
|
1449
|
+
/**
|
1450
|
+
* Returns the last fully visible column in the table viewport.
|
1451
|
+
*
|
1452
|
+
* @returns {number}
|
1453
|
+
*/
|
1454
|
+
|
1455
|
+
}, {
|
1456
|
+
key: "getLastFullyVisibleColumn",
|
1457
|
+
value: function getLastFullyVisibleColumn() {
|
1458
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
|
1459
|
+
}
|
1438
1460
|
/**
|
1439
1461
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
1440
1462
|
*
|
package/tableView.mjs
CHANGED
@@ -488,7 +488,7 @@ var TableView = /*#__PURE__*/function () {
|
|
488
488
|
value: function countRenderableIndexes(indexMapper, maxElements) {
|
489
489
|
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements); // Don't take hidden indexes into account. We are looking just for renderable indexes.
|
490
490
|
|
491
|
-
var firstNotHiddenIndex = indexMapper.
|
491
|
+
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1); // There are no renderable indexes.
|
492
492
|
|
493
493
|
if (firstNotHiddenIndex === null) {
|
494
494
|
return 0;
|
@@ -564,7 +564,7 @@ var TableView = /*#__PURE__*/function () {
|
|
564
564
|
return 0;
|
565
565
|
}
|
566
566
|
|
567
|
-
var firstVisibleIndex = indexMapper.
|
567
|
+
var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
|
568
568
|
var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
|
569
569
|
|
570
570
|
if (!Number.isInteger(renderableIndex)) {
|
@@ -947,7 +947,7 @@ var TableView = /*#__PURE__*/function () {
|
|
947
947
|
|
948
948
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
949
949
|
|
950
|
-
return rowMapper.getRenderableFromVisualIndex(rowMapper.
|
950
|
+
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
951
951
|
},
|
952
952
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
953
953
|
var columnMapper = _this2.instance.columnIndexMapper;
|
@@ -955,7 +955,7 @@ var TableView = /*#__PURE__*/function () {
|
|
955
955
|
|
956
956
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
957
957
|
|
958
|
-
return columnMapper.getRenderableFromVisualIndex(columnMapper.
|
958
|
+
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
959
959
|
},
|
960
960
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
961
961
|
var cornersOfSelection;
|
@@ -1020,7 +1020,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1020
1020
|
visualColumnTo = _visualIndexes[3]; // Result of the hook is handled by the Walkontable (renderable indexes).
|
1021
1021
|
|
1022
1022
|
|
1023
|
-
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1023
|
+
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
|
1024
1024
|
}
|
1025
1025
|
},
|
1026
1026
|
viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
|
@@ -1408,6 +1408,28 @@ var TableView = /*#__PURE__*/function () {
|
|
1408
1408
|
value: function getLastFullyVisibleRow() {
|
1409
1409
|
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
|
1410
1410
|
}
|
1411
|
+
/**
|
1412
|
+
* Returns the first fully visible column in the table viewport.
|
1413
|
+
*
|
1414
|
+
* @returns {number}
|
1415
|
+
*/
|
1416
|
+
|
1417
|
+
}, {
|
1418
|
+
key: "getFirstFullyVisibleColumn",
|
1419
|
+
value: function getFirstFullyVisibleColumn() {
|
1420
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
|
1421
|
+
}
|
1422
|
+
/**
|
1423
|
+
* Returns the last fully visible column in the table viewport.
|
1424
|
+
*
|
1425
|
+
* @returns {number}
|
1426
|
+
*/
|
1427
|
+
|
1428
|
+
}, {
|
1429
|
+
key: "getLastFullyVisibleColumn",
|
1430
|
+
value: function getLastFullyVisibleColumn() {
|
1431
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
|
1432
|
+
}
|
1411
1433
|
/**
|
1412
1434
|
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
1413
1435
|
*
|
@@ -29,7 +29,9 @@ export class IndexMapper {
|
|
29
29
|
getVisualFromRenderableIndex(renderableIndex: number): number;
|
30
30
|
getRenderableFromVisualIndex(visualIndex: number): number;
|
31
31
|
getFirstNotHiddenIndex(fromVisualIndex: number, incrementBy: number,
|
32
|
-
searchAlsoOtherWayAround?: boolean, indexForNextSearch?: number): number;
|
32
|
+
searchAlsoOtherWayAround?: boolean, indexForNextSearch?: number): number | null;
|
33
|
+
getNearestNotHiddenIndex(fromVisualIndex: number, searchDirection: 1|-1,
|
34
|
+
searchAlsoOtherWayAround?: boolean): number | null;
|
33
35
|
initToLength(length?: number): void;
|
34
36
|
getIndexesSequence(): number[];
|
35
37
|
setIndexesSequence(indexes: number[]): void;
|
@@ -1,15 +1,15 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
require("core-js/modules/es.array.slice.js");
|
4
|
+
|
5
|
+
require("core-js/modules/es.object.freeze.js");
|
6
|
+
|
3
7
|
require("core-js/modules/es.symbol.js");
|
4
8
|
|
5
9
|
require("core-js/modules/es.symbol.description.js");
|
6
10
|
|
7
11
|
require("core-js/modules/es.symbol.iterator.js");
|
8
12
|
|
9
|
-
require("core-js/modules/es.array.from.js");
|
10
|
-
|
11
|
-
require("core-js/modules/es.array.slice.js");
|
12
|
-
|
13
13
|
require("core-js/modules/es.function.name.js");
|
14
14
|
|
15
15
|
require("core-js/modules/es.regexp.exec.js");
|
@@ -17,16 +17,24 @@ require("core-js/modules/es.regexp.exec.js");
|
|
17
17
|
exports.__esModule = true;
|
18
18
|
exports.IndexMapper = void 0;
|
19
19
|
|
20
|
-
require("core-js/modules/es.object.to-string.js");
|
21
|
-
|
22
20
|
require("core-js/modules/es.array.iterator.js");
|
23
21
|
|
24
|
-
require("core-js/modules/es.
|
22
|
+
require("core-js/modules/es.object.to-string.js");
|
23
|
+
|
24
|
+
require("core-js/modules/es.set.js");
|
25
25
|
|
26
26
|
require("core-js/modules/es.string.iterator.js");
|
27
27
|
|
28
28
|
require("core-js/modules/web.dom-collections.iterator.js");
|
29
29
|
|
30
|
+
require("core-js/modules/es.map.js");
|
31
|
+
|
32
|
+
require("core-js/modules/es.array.from.js");
|
33
|
+
|
34
|
+
require("core-js/modules/es.array.find-index.js");
|
35
|
+
|
36
|
+
require("core-js/modules/es.array.reverse.js");
|
37
|
+
|
30
38
|
require("core-js/modules/es.array.map.js");
|
31
39
|
|
32
40
|
require("core-js/modules/es.array.filter.js");
|
@@ -41,6 +49,10 @@ require("core-js/modules/es.array.fill.js");
|
|
41
49
|
|
42
50
|
var _array = require("../helpers/array");
|
43
51
|
|
52
|
+
var _templateLiteralTag = require("../helpers/templateLiteralTag");
|
53
|
+
|
54
|
+
var _console = require("../helpers/console");
|
55
|
+
|
44
56
|
var _maps = require("./maps");
|
45
57
|
|
46
58
|
var _mapCollections = require("./mapCollections");
|
@@ -53,6 +65,8 @@ var _mixed = require("../helpers/mixed");
|
|
53
65
|
|
54
66
|
var _observable = require("./changesObservable/observable");
|
55
67
|
|
68
|
+
var _templateObject;
|
69
|
+
|
56
70
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
57
71
|
|
58
72
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -67,12 +81,15 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
67
81
|
|
68
82
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
69
83
|
|
84
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
85
|
+
|
70
86
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
71
87
|
|
72
88
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
73
89
|
|
74
90
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
75
91
|
|
92
|
+
var deprecationWarns = new Set(['getFirstNotHiddenIndex']);
|
76
93
|
/**
|
77
94
|
* @class IndexMapper
|
78
95
|
* @description
|
@@ -92,6 +109,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
92
109
|
*
|
93
110
|
* These are: {@link IndexesSequence}, {@link PhysicalIndexToValueMap}, {@link LinkedPhysicalIndexToValueMap}, {@link HidingMap}, and {@link TrimmingMap}.
|
94
111
|
*/
|
112
|
+
|
95
113
|
var IndexMapper = /*#__PURE__*/function () {
|
96
114
|
function IndexMapper() {
|
97
115
|
var _this = this;
|
@@ -460,6 +478,10 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
460
478
|
/**
|
461
479
|
* Search for the first visible, not hidden index (represented by a visual index).
|
462
480
|
*
|
481
|
+
* This method is deprecated and will be removed in a next major version of Handsontable.
|
482
|
+
* Use the {@link IndexMapper#getNearestNotHiddenIndex} method instead.
|
483
|
+
*
|
484
|
+
* @deprecated
|
463
485
|
* @param {number} fromVisualIndex Visual start index. Starting point for finding destination index. Start point may be destination
|
464
486
|
* point when handled index is NOT hidden.
|
465
487
|
* @param {number} incrementBy We are searching for a next visible indexes by increasing (to be precise, or decreasing) indexes.
|
@@ -480,6 +502,12 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
480
502
|
value: function getFirstNotHiddenIndex(fromVisualIndex, incrementBy) {
|
481
503
|
var searchAlsoOtherWayAround = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
482
504
|
var indexForNextSearch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fromVisualIndex - incrementBy;
|
505
|
+
|
506
|
+
if (deprecationWarns.has('getFirstNotHiddenIndex')) {
|
507
|
+
deprecationWarns.delete('getFirstNotHiddenIndex');
|
508
|
+
(0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject || (_templateObject = _taggedTemplateLiteral(["The method \"getFirstNotHiddenIndex\" is deprecated and will be removed in the next \n major release. Please use \"getNearestNotHiddenIndex\" instead."], ["The method \"getFirstNotHiddenIndex\" is deprecated and will be removed in the next\\x20\n major release. Please use \"getNearestNotHiddenIndex\" instead."]))));
|
509
|
+
}
|
510
|
+
|
483
511
|
var physicalIndex = this.getPhysicalFromVisualIndex(fromVisualIndex); // First or next (it may be end of the table) index is beyond the table boundaries.
|
484
512
|
|
485
513
|
if (physicalIndex === null) {
|
@@ -499,6 +527,56 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
499
527
|
|
500
528
|
return this.getFirstNotHiddenIndex(fromVisualIndex + incrementBy, incrementBy, searchAlsoOtherWayAround, indexForNextSearch);
|
501
529
|
}
|
530
|
+
/**
|
531
|
+
* Search for the nearest not-hidden row or column.
|
532
|
+
*
|
533
|
+
* @param {number} fromVisualIndex The visual index of the row or column from which the search starts.<br><br>
|
534
|
+
* If the row or column from which the search starts is not hidden, the method simply returns the `fromVisualIndex` number.
|
535
|
+
* @param {number} searchDirection The search direction.<br><br>`1`: search from `fromVisualIndex` to the end of the dataset.<br><br>
|
536
|
+
* `-1`: search from `fromVisualIndex` to the beginning of the dataset (i.e., to the row or column at visual index `0`).
|
537
|
+
* @param {boolean} searchAlsoOtherWayAround `true`: if a search in a first direction failed, try the opposite direction.<br><br>
|
538
|
+
* `false`: search in one direction only.
|
539
|
+
*
|
540
|
+
* @returns {number|null} A visual index of a row or column, or `null`.
|
541
|
+
*/
|
542
|
+
|
543
|
+
}, {
|
544
|
+
key: "getNearestNotHiddenIndex",
|
545
|
+
value: function getNearestNotHiddenIndex(fromVisualIndex, searchDirection) {
|
546
|
+
var searchAlsoOtherWayAround = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
547
|
+
var physicalIndex = this.getPhysicalFromVisualIndex(fromVisualIndex);
|
548
|
+
|
549
|
+
if (physicalIndex === null) {
|
550
|
+
return null;
|
551
|
+
}
|
552
|
+
|
553
|
+
if (this.fromVisualToRenderableIndexesCache.has(fromVisualIndex)) {
|
554
|
+
return fromVisualIndex;
|
555
|
+
}
|
556
|
+
|
557
|
+
var visibleIndexes = Array.from(this.fromVisualToRenderableIndexesCache.keys());
|
558
|
+
var index = -1;
|
559
|
+
|
560
|
+
if (searchDirection > 0) {
|
561
|
+
index = visibleIndexes.findIndex(function (visualIndex) {
|
562
|
+
return visualIndex > fromVisualIndex;
|
563
|
+
});
|
564
|
+
} else {
|
565
|
+
index = visibleIndexes.reverse().findIndex(function (visualIndex) {
|
566
|
+
return visualIndex < fromVisualIndex;
|
567
|
+
});
|
568
|
+
}
|
569
|
+
|
570
|
+
if (index === -1) {
|
571
|
+
if (searchAlsoOtherWayAround) {
|
572
|
+
return this.getNearestNotHiddenIndex(fromVisualIndex, -searchDirection, false);
|
573
|
+
}
|
574
|
+
|
575
|
+
return null;
|
576
|
+
}
|
577
|
+
|
578
|
+
return visibleIndexes[index];
|
579
|
+
}
|
502
580
|
/**
|
503
581
|
* Set default values for all indexes in registered index maps.
|
504
582
|
*
|
@@ -812,7 +890,7 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
812
890
|
this.notHiddenIndexesCache = this.getNotHiddenIndexes(false);
|
813
891
|
this.renderablePhysicalIndexesCache = this.getRenderableIndexes(false);
|
814
892
|
this.cacheFromPhysicalToVisualIndexes();
|
815
|
-
this.
|
893
|
+
this.cacheFromVisualToRenderableIndexes(); // Currently there's support only for the "hiding" map type.
|
816
894
|
|
817
895
|
if (this.hiddenIndexesChanged) {
|
818
896
|
this.hidingChangesObservable.emit(this.hidingMapsCollection.getMergedValues());
|
@@ -854,8 +932,8 @@ var IndexMapper = /*#__PURE__*/function () {
|
|
854
932
|
*/
|
855
933
|
|
856
934
|
}, {
|
857
|
-
key: "
|
858
|
-
value: function
|
935
|
+
key: "cacheFromVisualToRenderableIndexes",
|
936
|
+
value: function cacheFromVisualToRenderableIndexes() {
|
859
937
|
var nrOfRenderableIndexes = this.getRenderableIndexesLength();
|
860
938
|
this.fromVisualToRenderableIndexesCache.clear();
|
861
939
|
|
@@ -1,3 +1,13 @@
|
|
1
|
+
import "core-js/modules/es.array.slice.js";
|
2
|
+
import "core-js/modules/es.object.freeze.js";
|
3
|
+
import "core-js/modules/es.symbol.js";
|
4
|
+
import "core-js/modules/es.symbol.description.js";
|
5
|
+
import "core-js/modules/es.symbol.iterator.js";
|
6
|
+
import "core-js/modules/es.function.name.js";
|
7
|
+
import "core-js/modules/es.regexp.exec.js";
|
8
|
+
|
9
|
+
var _templateObject;
|
10
|
+
|
1
11
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
12
|
|
3
13
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -10,38 +20,39 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
10
20
|
|
11
21
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
12
22
|
|
13
|
-
|
23
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
24
|
+
|
25
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
26
|
+
|
27
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
28
|
+
|
29
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
30
|
+
|
14
31
|
import "core-js/modules/es.array.iterator.js";
|
15
|
-
import "core-js/modules/es.
|
32
|
+
import "core-js/modules/es.object.to-string.js";
|
33
|
+
import "core-js/modules/es.set.js";
|
16
34
|
import "core-js/modules/es.string.iterator.js";
|
17
35
|
import "core-js/modules/web.dom-collections.iterator.js";
|
36
|
+
import "core-js/modules/es.map.js";
|
37
|
+
import "core-js/modules/es.array.from.js";
|
38
|
+
import "core-js/modules/es.array.find-index.js";
|
39
|
+
import "core-js/modules/es.array.reverse.js";
|
18
40
|
import "core-js/modules/es.array.map.js";
|
19
41
|
import "core-js/modules/es.array.filter.js";
|
20
42
|
import "core-js/modules/es.array.index-of.js";
|
21
43
|
import "core-js/modules/es.array.includes.js";
|
22
44
|
import "core-js/modules/es.string.includes.js";
|
23
45
|
import "core-js/modules/es.array.fill.js";
|
24
|
-
import "core-js/modules/es.symbol.js";
|
25
|
-
import "core-js/modules/es.symbol.description.js";
|
26
|
-
import "core-js/modules/es.symbol.iterator.js";
|
27
|
-
import "core-js/modules/es.array.from.js";
|
28
|
-
import "core-js/modules/es.array.slice.js";
|
29
|
-
import "core-js/modules/es.function.name.js";
|
30
|
-
import "core-js/modules/es.regexp.exec.js";
|
31
|
-
|
32
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
33
|
-
|
34
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
35
|
-
|
36
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
37
|
-
|
38
46
|
import { arrayMap } from "../helpers/array.mjs";
|
47
|
+
import { toSingleLine } from "../helpers/templateLiteralTag.mjs";
|
48
|
+
import { warn } from "../helpers/console.mjs";
|
39
49
|
import { createIndexMap, getListWithInsertedItems, getListWithRemovedItems, HidingMap, IndexesSequence, TrimmingMap } from "./maps/index.mjs";
|
40
50
|
import { AggregatedCollection, MapCollection } from "./mapCollections/index.mjs";
|
41
51
|
import localHooks from "../mixins/localHooks.mjs";
|
42
52
|
import { mixin } from "../helpers/object.mjs";
|
43
53
|
import { isDefined } from "../helpers/mixed.mjs";
|
44
54
|
import { ChangesObservable } from "./changesObservable/observable.mjs";
|
55
|
+
var deprecationWarns = new Set(['getFirstNotHiddenIndex']);
|
45
56
|
/**
|
46
57
|
* @class IndexMapper
|
47
58
|
* @description
|
@@ -430,6 +441,10 @@ export var IndexMapper = /*#__PURE__*/function () {
|
|
430
441
|
/**
|
431
442
|
* Search for the first visible, not hidden index (represented by a visual index).
|
432
443
|
*
|
444
|
+
* This method is deprecated and will be removed in a next major version of Handsontable.
|
445
|
+
* Use the {@link IndexMapper#getNearestNotHiddenIndex} method instead.
|
446
|
+
*
|
447
|
+
* @deprecated
|
433
448
|
* @param {number} fromVisualIndex Visual start index. Starting point for finding destination index. Start point may be destination
|
434
449
|
* point when handled index is NOT hidden.
|
435
450
|
* @param {number} incrementBy We are searching for a next visible indexes by increasing (to be precise, or decreasing) indexes.
|
@@ -450,6 +465,12 @@ export var IndexMapper = /*#__PURE__*/function () {
|
|
450
465
|
value: function getFirstNotHiddenIndex(fromVisualIndex, incrementBy) {
|
451
466
|
var searchAlsoOtherWayAround = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
452
467
|
var indexForNextSearch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fromVisualIndex - incrementBy;
|
468
|
+
|
469
|
+
if (deprecationWarns.has('getFirstNotHiddenIndex')) {
|
470
|
+
deprecationWarns.delete('getFirstNotHiddenIndex');
|
471
|
+
warn(toSingleLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["The method \"getFirstNotHiddenIndex\" is deprecated and will be removed in the next \n major release. Please use \"getNearestNotHiddenIndex\" instead."], ["The method \"getFirstNotHiddenIndex\" is deprecated and will be removed in the next\\x20\n major release. Please use \"getNearestNotHiddenIndex\" instead."]))));
|
472
|
+
}
|
473
|
+
|
453
474
|
var physicalIndex = this.getPhysicalFromVisualIndex(fromVisualIndex); // First or next (it may be end of the table) index is beyond the table boundaries.
|
454
475
|
|
455
476
|
if (physicalIndex === null) {
|
@@ -469,6 +490,56 @@ export var IndexMapper = /*#__PURE__*/function () {
|
|
469
490
|
|
470
491
|
return this.getFirstNotHiddenIndex(fromVisualIndex + incrementBy, incrementBy, searchAlsoOtherWayAround, indexForNextSearch);
|
471
492
|
}
|
493
|
+
/**
|
494
|
+
* Search for the nearest not-hidden row or column.
|
495
|
+
*
|
496
|
+
* @param {number} fromVisualIndex The visual index of the row or column from which the search starts.<br><br>
|
497
|
+
* If the row or column from which the search starts is not hidden, the method simply returns the `fromVisualIndex` number.
|
498
|
+
* @param {number} searchDirection The search direction.<br><br>`1`: search from `fromVisualIndex` to the end of the dataset.<br><br>
|
499
|
+
* `-1`: search from `fromVisualIndex` to the beginning of the dataset (i.e., to the row or column at visual index `0`).
|
500
|
+
* @param {boolean} searchAlsoOtherWayAround `true`: if a search in a first direction failed, try the opposite direction.<br><br>
|
501
|
+
* `false`: search in one direction only.
|
502
|
+
*
|
503
|
+
* @returns {number|null} A visual index of a row or column, or `null`.
|
504
|
+
*/
|
505
|
+
|
506
|
+
}, {
|
507
|
+
key: "getNearestNotHiddenIndex",
|
508
|
+
value: function getNearestNotHiddenIndex(fromVisualIndex, searchDirection) {
|
509
|
+
var searchAlsoOtherWayAround = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
510
|
+
var physicalIndex = this.getPhysicalFromVisualIndex(fromVisualIndex);
|
511
|
+
|
512
|
+
if (physicalIndex === null) {
|
513
|
+
return null;
|
514
|
+
}
|
515
|
+
|
516
|
+
if (this.fromVisualToRenderableIndexesCache.has(fromVisualIndex)) {
|
517
|
+
return fromVisualIndex;
|
518
|
+
}
|
519
|
+
|
520
|
+
var visibleIndexes = Array.from(this.fromVisualToRenderableIndexesCache.keys());
|
521
|
+
var index = -1;
|
522
|
+
|
523
|
+
if (searchDirection > 0) {
|
524
|
+
index = visibleIndexes.findIndex(function (visualIndex) {
|
525
|
+
return visualIndex > fromVisualIndex;
|
526
|
+
});
|
527
|
+
} else {
|
528
|
+
index = visibleIndexes.reverse().findIndex(function (visualIndex) {
|
529
|
+
return visualIndex < fromVisualIndex;
|
530
|
+
});
|
531
|
+
}
|
532
|
+
|
533
|
+
if (index === -1) {
|
534
|
+
if (searchAlsoOtherWayAround) {
|
535
|
+
return this.getNearestNotHiddenIndex(fromVisualIndex, -searchDirection, false);
|
536
|
+
}
|
537
|
+
|
538
|
+
return null;
|
539
|
+
}
|
540
|
+
|
541
|
+
return visibleIndexes[index];
|
542
|
+
}
|
472
543
|
/**
|
473
544
|
* Set default values for all indexes in registered index maps.
|
474
545
|
*
|
@@ -782,7 +853,7 @@ export var IndexMapper = /*#__PURE__*/function () {
|
|
782
853
|
this.notHiddenIndexesCache = this.getNotHiddenIndexes(false);
|
783
854
|
this.renderablePhysicalIndexesCache = this.getRenderableIndexes(false);
|
784
855
|
this.cacheFromPhysicalToVisualIndexes();
|
785
|
-
this.
|
856
|
+
this.cacheFromVisualToRenderableIndexes(); // Currently there's support only for the "hiding" map type.
|
786
857
|
|
787
858
|
if (this.hiddenIndexesChanged) {
|
788
859
|
this.hidingChangesObservable.emit(this.hidingMapsCollection.getMergedValues());
|
@@ -824,8 +895,8 @@ export var IndexMapper = /*#__PURE__*/function () {
|
|
824
895
|
*/
|
825
896
|
|
826
897
|
}, {
|
827
|
-
key: "
|
828
|
-
value: function
|
898
|
+
key: "cacheFromVisualToRenderableIndexes",
|
899
|
+
value: function cacheFromVisualToRenderableIndexes() {
|
829
900
|
var nrOfRenderableIndexes = this.getRenderableIndexesLength();
|
830
901
|
this.fromVisualToRenderableIndexesCache.clear();
|
831
902
|
|
@@ -39,7 +39,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
39
39
|
|
40
40
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
41
41
|
|
42
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
42
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
43
43
|
|
44
44
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
45
45
|
|
@@ -49,7 +49,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
49
49
|
|
50
50
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
51
51
|
|
52
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
52
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
53
53
|
|
54
54
|
/**
|
55
55
|
* Collection of maps. This collection aggregate maps with the same type of values. Values from the registered maps
|
@@ -19,7 +19,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
19
19
|
|
20
20
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
21
21
|
|
22
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
22
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
23
23
|
|
24
24
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
25
25
|
|
@@ -29,7 +29,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
29
29
|
|
30
30
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
31
31
|
|
32
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
32
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
33
33
|
|
34
34
|
import { MapCollection } from "./mapCollection.mjs";
|
35
35
|
import { arrayMap } from "../../helpers/array.mjs";
|
@@ -37,7 +37,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
37
37
|
|
38
38
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
39
39
|
|
40
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
40
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
41
41
|
|
42
42
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
43
43
|
|
@@ -47,7 +47,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
47
47
|
|
48
48
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
49
49
|
|
50
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
50
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
51
51
|
|
52
52
|
/**
|
53
53
|
* Map for storing mappings from an physical index to a boolean value. It stores information whether physical index is
|
@@ -19,7 +19,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
19
19
|
|
20
20
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
21
21
|
|
22
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
22
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
23
23
|
|
24
24
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
25
25
|
|
@@ -29,7 +29,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
29
29
|
|
30
30
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
31
31
|
|
32
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
32
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
33
33
|
|
34
34
|
import { PhysicalIndexToValueMap } from "./physicalIndexToValueMap.mjs";
|
35
35
|
import { arrayReduce } from "../../helpers/array.mjs";
|
@@ -41,13 +41,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
41
41
|
|
42
42
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
43
43
|
|
44
|
-
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
44
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
45
45
|
|
46
46
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
47
47
|
|
48
48
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
49
49
|
|
50
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
50
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
51
51
|
|
52
52
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
53
53
|
|
@@ -57,7 +57,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
57
57
|
|
58
58
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
59
59
|
|
60
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
60
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
61
61
|
|
62
62
|
/**
|
63
63
|
* Map for storing mappings from an index to a physical index.
|