handsontable 12.0.0 → 12.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +52 -0
- package/LICENSE.txt +1 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +39 -31
- package/core.mjs +39 -31
- 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 +13863 -12941
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +134 -135
- package/dist/handsontable.js +4136 -3926
- 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 +6 -6
- package/plugins/autoColumnSize/autoColumnSize.mjs +6 -6
- package/plugins/autoRowSize/autoRowSize.js +4 -4
- package/plugins/autoRowSize/autoRowSize.mjs +4 -4
- 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 +8 -7
- package/plugins/customBorders/customBorders.mjs +9 -8
- 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 +10 -5
- package/plugins/formulas/formulas.mjs +10 -5
- 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 +114 -75
- package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
- 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.
|