handsontable 0.0.0-next-7026906-20231107 → 0.0.0-next-7b93b7d-20231107
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/SheetClip/SheetClip.js +2 -2
- package/3rdparty/SheetClip/SheetClip.mjs +2 -2
- package/3rdparty/autoResize/autoResize.js +2 -2
- package/3rdparty/autoResize/autoResize.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
- package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
- package/3rdparty/walkontable/src/core/clone.js +6 -0
- package/3rdparty/walkontable/src/core/clone.mjs +6 -0
- package/3rdparty/walkontable/src/event.js +125 -74
- package/3rdparty/walkontable/src/event.mjs +125 -74
- package/3rdparty/walkontable/src/filter/column.js +16 -0
- package/3rdparty/walkontable/src/filter/column.mjs +16 -0
- package/3rdparty/walkontable/src/filter/row.js +16 -0
- package/3rdparty/walkontable/src/filter/row.mjs +16 -0
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/_base.js +12 -5
- package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
- package/3rdparty/walkontable/src/renderer/cells.js +6 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rows.js +5 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
- package/3rdparty/walkontable/src/renderer/table.js +24 -17
- package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
- package/3rdparty/walkontable/src/scroll.js +2 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -2
- package/3rdparty/walkontable/src/selection/border/border.js +1 -1
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
- package/3rdparty/walkontable/src/settings.js +10 -10
- package/3rdparty/walkontable/src/settings.mjs +10 -10
- package/3rdparty/walkontable/src/table.js +3 -3
- package/3rdparty/walkontable/src/table.mjs +3 -3
- package/3rdparty/walkontable/src/utils/column.js +19 -4
- package/3rdparty/walkontable/src/utils/column.mjs +19 -4
- package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
- package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
- package/3rdparty/walkontable/src/utils/row.js +14 -2
- package/3rdparty/walkontable/src/utils/row.mjs +14 -2
- package/3rdparty/walkontable/src/viewport.js +9 -9
- package/3rdparty/walkontable/src/viewport.mjs +9 -9
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +25 -25
- package/core.mjs +25 -25
- package/dataMap/dataMap.js +99 -90
- package/dataMap/dataMap.mjs +99 -90
- package/dataMap/dataSource.js +14 -8
- package/dataMap/dataSource.mjs +14 -8
- package/dataMap/metaManager/lazyFactoryMap.js +19 -7
- package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
- package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
- package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
- package/dataMap/metaManager/metaSchema.js +55 -55
- package/dataMap/metaManager/metaSchema.mjs +55 -55
- package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
- package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
- package/dataMap/metaManager/utils.js +2 -2
- package/dataMap/metaManager/utils.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7244 -6347
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +120 -120
- package/dist/handsontable.js +7243 -6346
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +28 -28
- package/editorManager.js +105 -95
- package/editorManager.mjs +105 -95
- package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
- package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
- package/editors/baseEditor/baseEditor.js +23 -26
- package/editors/baseEditor/baseEditor.mjs +23 -26
- package/editors/dateEditor/dateEditor.js +24 -15
- package/editors/dateEditor/dateEditor.mjs +24 -15
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
- package/editors/textEditor/textEditor.js +23 -17
- package/editors/textEditor/textEditor.mjs +24 -18
- package/eventManager.js +8 -0
- package/eventManager.mjs +8 -0
- package/helpers/array.js +2 -2
- package/helpers/array.mjs +2 -2
- package/helpers/dom/element.js +7 -7
- package/helpers/dom/element.mjs +7 -7
- package/helpers/function.js +1 -1
- package/helpers/function.mjs +1 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +4 -4
- package/helpers/object.mjs +4 -4
- package/helpers/string.js +1 -1
- package/helpers/string.mjs +1 -1
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -2
- package/pluginHooks.js +12 -3
- package/pluginHooks.mjs +12 -3
- package/plugins/autoColumnSize/autoColumnSize.js +141 -130
- package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
- package/plugins/autoRowSize/autoRowSize.js +112 -125
- package/plugins/autoRowSize/autoRowSize.mjs +110 -123
- package/plugins/autofill/autofill.js +97 -102
- package/plugins/autofill/autofill.mjs +96 -101
- package/plugins/base/base.js +57 -22
- package/plugins/base/base.mjs +56 -22
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
- package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
- package/plugins/columnSorting/columnSorting.js +105 -98
- package/plugins/columnSorting/columnSorting.mjs +104 -97
- package/plugins/columnSorting/columnStatesManager.js +12 -6
- package/plugins/columnSorting/columnStatesManager.mjs +12 -6
- package/plugins/columnSummary/columnSummary.js +71 -58
- package/plugins/columnSummary/columnSummary.mjs +70 -57
- package/plugins/columnSummary/endpoints.js +20 -14
- package/plugins/columnSummary/endpoints.mjs +20 -14
- package/plugins/comments/commentEditor.js +30 -2
- package/plugins/comments/commentEditor.mjs +30 -2
- package/plugins/comments/comments.js +158 -169
- package/plugins/comments/comments.mjs +157 -168
- package/plugins/comments/displaySwitch.js +7 -3
- package/plugins/comments/displaySwitch.mjs +7 -3
- package/plugins/contextMenu/commandExecutor.js +15 -2
- package/plugins/contextMenu/commandExecutor.mjs +15 -2
- package/plugins/contextMenu/contextMenu.js +91 -101
- package/plugins/contextMenu/contextMenu.mjs +90 -100
- package/plugins/contextMenu/itemsFactory.js +19 -4
- package/plugins/contextMenu/itemsFactory.mjs +19 -4
- package/plugins/contextMenu/menu/cursor.js +36 -0
- package/plugins/contextMenu/menu/cursor.mjs +36 -0
- package/plugins/contextMenu/menu/menu.js +57 -5
- package/plugins/contextMenu/menu/menu.mjs +57 -5
- package/plugins/copyPaste/copyPaste.js +74 -75
- package/plugins/copyPaste/copyPaste.mjs +74 -75
- package/plugins/customBorders/customBorders.js +49 -48
- package/plugins/customBorders/customBorders.mjs +48 -47
- package/plugins/dragToScroll/dragToScroll.js +50 -54
- package/plugins/dragToScroll/dragToScroll.mjs +49 -52
- package/plugins/dropdownMenu/dropdownMenu.js +132 -129
- package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
- package/plugins/exportFile/dataProvider.js +7 -2
- package/plugins/exportFile/dataProvider.mjs +7 -2
- package/plugins/exportFile/exportFile.js +1 -1
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +14 -6
- package/plugins/exportFile/types/_base.mjs +14 -6
- package/plugins/filters/component/actionBar.js +9 -0
- package/plugins/filters/component/actionBar.mjs +9 -0
- package/plugins/filters/component/condition.js +13 -0
- package/plugins/filters/component/condition.mjs +13 -0
- package/plugins/filters/component/operators.js +9 -0
- package/plugins/filters/component/operators.mjs +9 -0
- package/plugins/filters/component/value.js +9 -0
- package/plugins/filters/component/value.mjs +9 -0
- package/plugins/filters/conditionCollection.js +9 -4
- package/plugins/filters/conditionCollection.mjs +9 -4
- package/plugins/filters/conditionUpdateObserver.js +53 -42
- package/plugins/filters/conditionUpdateObserver.mjs +53 -42
- package/plugins/filters/dataFilter.js +9 -3
- package/plugins/filters/dataFilter.mjs +9 -3
- package/plugins/filters/filters.js +184 -189
- package/plugins/filters/filters.mjs +182 -187
- package/plugins/filters/ui/_base.js +1 -1
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/utils.js +1 -1
- package/plugins/filters/utils.mjs +1 -1
- package/plugins/formulas/engine/settings.js +1 -1
- package/plugins/formulas/engine/settings.mjs +1 -1
- package/plugins/formulas/formulas.js +684 -602
- package/plugins/formulas/formulas.mjs +682 -600
- package/plugins/hiddenColumns/hiddenColumns.js +174 -169
- package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
- package/plugins/hiddenRows/hiddenRows.js +170 -165
- package/plugins/hiddenRows/hiddenRows.mjs +169 -164
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
- package/plugins/manualColumnMove/manualColumnMove.js +287 -232
- package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
- package/plugins/manualColumnMove/ui/_base.js +9 -3
- package/plugins/manualColumnMove/ui/_base.mjs +9 -3
- package/plugins/manualColumnResize/manualColumnResize.js +291 -246
- package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
- package/plugins/manualRowMove/manualRowMove.js +223 -208
- package/plugins/manualRowMove/manualRowMove.mjs +222 -207
- package/plugins/manualRowMove/ui/_base.js +10 -5
- package/plugins/manualRowMove/ui/_base.mjs +10 -5
- package/plugins/manualRowResize/manualRowResize.js +254 -209
- package/plugins/manualRowResize/manualRowResize.mjs +253 -207
- package/plugins/mergeCells/calculations/autofill.js +9 -3
- package/plugins/mergeCells/calculations/autofill.mjs +9 -3
- package/plugins/mergeCells/calculations/selection.js +10 -4
- package/plugins/mergeCells/calculations/selection.mjs +10 -4
- package/plugins/mergeCells/cellCoords.js +16 -6
- package/plugins/mergeCells/cellCoords.mjs +16 -6
- package/plugins/mergeCells/cellsCollection.js +10 -4
- package/plugins/mergeCells/cellsCollection.mjs +10 -4
- package/plugins/mergeCells/mergeCells.js +582 -502
- package/plugins/mergeCells/mergeCells.mjs +580 -500
- package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
- package/plugins/nestedHeaders/nestedHeaders.js +542 -499
- package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
- package/plugins/nestedHeaders/stateManager/index.js +1 -1
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +21 -15
- package/plugins/nestedRows/data/dataManager.mjs +21 -15
- package/plugins/nestedRows/nestedRows.js +326 -278
- package/plugins/nestedRows/nestedRows.mjs +325 -277
- package/plugins/nestedRows/ui/_base.js +7 -1
- package/plugins/nestedRows/ui/_base.mjs +7 -1
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +28 -18
- package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
- package/plugins/nestedRows/utils/rowMoveController.js +12 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
- package/plugins/persistentState/persistentState.js +14 -11
- package/plugins/persistentState/persistentState.mjs +14 -11
- package/plugins/persistentState/storage.js +11 -6
- package/plugins/persistentState/storage.mjs +11 -6
- package/plugins/registry.js +2 -2
- package/plugins/registry.mjs +2 -2
- package/plugins/search/search.js +57 -46
- package/plugins/search/search.mjs +56 -45
- package/plugins/touchScroll/touchScroll.js +102 -100
- package/plugins/touchScroll/touchScroll.mjs +100 -98
- package/plugins/trimRows/trimRows.js +33 -28
- package/plugins/trimRows/trimRows.mjs +32 -27
- package/plugins/undoRedo/undoRedo.js +2 -2
- package/plugins/undoRedo/undoRedo.mjs +2 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
- package/renderers/baseRenderer/baseRenderer.js +2 -2
- package/renderers/baseRenderer/baseRenderer.mjs +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
- package/renderers/dateRenderer/dateRenderer.js +4 -4
- package/renderers/dateRenderer/dateRenderer.mjs +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
- package/renderers/htmlRenderer/htmlRenderer.js +4 -4
- package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
- package/renderers/numericRenderer/numericRenderer.js +3 -3
- package/renderers/numericRenderer/numericRenderer.mjs +3 -3
- package/renderers/passwordRenderer/passwordRenderer.js +3 -3
- package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
- package/renderers/selectRenderer/selectRenderer.js +4 -4
- package/renderers/selectRenderer/selectRenderer.mjs +4 -4
- package/renderers/textRenderer/textRenderer.js +5 -5
- package/renderers/textRenderer/textRenderer.mjs +5 -5
- package/renderers/timeRenderer/timeRenderer.js +3 -3
- package/renderers/timeRenderer/timeRenderer.mjs +3 -3
- package/selection/range.js +12 -2
- package/selection/range.mjs +12 -2
- package/selection/selection.js +3 -3
- package/selection/selection.mjs +3 -3
- package/tableView.js +208 -200
- package/tableView.mjs +208 -200
- package/translations/changesObservable/utils.js +2 -2
- package/translations/changesObservable/utils.mjs +2 -2
- package/translations/indexMapper.js +25 -22
- package/translations/indexMapper.mjs +25 -22
- package/translations/mapCollections/aggregatedCollection.js +8 -2
- package/translations/mapCollections/aggregatedCollection.mjs +8 -2
- package/translations/mapCollections/mapCollection.js +5 -2
- package/translations/mapCollections/mapCollection.mjs +5 -2
- package/translations/maps/indexMap.js +6 -1
- package/translations/maps/indexMap.mjs +6 -1
- package/translations/maps/utils/physicallyIndexed.js +2 -2
- package/translations/maps/utils/physicallyIndexed.mjs +2 -2
- package/utils/dataStructures/linkedList.js +10 -6
- package/utils/dataStructures/linkedList.mjs +10 -6
- package/utils/dataStructures/queue.js +1 -1
- package/utils/dataStructures/queue.mjs +1 -1
- package/utils/dataStructures/stack.js +1 -1
- package/utils/dataStructures/stack.mjs +1 -1
- package/utils/ghostTable.js +2 -2
- package/utils/ghostTable.mjs +2 -2
- package/utils/interval.js +73 -36
- package/utils/interval.mjs +73 -36
- package/utils/parseTable.js +1 -1
- package/utils/parseTable.mjs +1 -1
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
- package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
- package/validators/dateValidator/dateValidator.js +1 -1
- package/validators/dateValidator/dateValidator.mjs +1 -1
- package/validators/numericValidator/numericValidator.js +1 -1
- package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -140,9 +140,55 @@ const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
|
|
140
140
|
var _settings = /*#__PURE__*/new WeakMap();
|
141
141
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
142
142
|
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
143
|
+
var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
|
144
|
+
var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
|
145
|
+
var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
|
146
|
+
var _onAfterGetRowHeader = /*#__PURE__*/new WeakSet();
|
147
|
+
var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
|
148
|
+
var _onMapInit = /*#__PURE__*/new WeakSet();
|
143
149
|
export class HiddenRows extends BasePlugin {
|
144
150
|
constructor() {
|
145
151
|
super(...arguments);
|
152
|
+
/**
|
153
|
+
* On map initialized hook callback.
|
154
|
+
*/
|
155
|
+
_classPrivateMethodInitSpec(this, _onMapInit);
|
156
|
+
/**
|
157
|
+
* Add Show-hide rows to context menu.
|
158
|
+
*
|
159
|
+
* @param {object} options An array of objects containing information about the pre-defined Context Menu items.
|
160
|
+
*/
|
161
|
+
_classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
|
162
|
+
/**
|
163
|
+
* Adds the needed classes to the headers.
|
164
|
+
*
|
165
|
+
* @param {number} row Visual row index.
|
166
|
+
* @param {HTMLElement} TH Header's TH element.
|
167
|
+
*/
|
168
|
+
_classPrivateMethodInitSpec(this, _onAfterGetRowHeader);
|
169
|
+
/**
|
170
|
+
* Modifies the copyable range, accordingly to the provided config.
|
171
|
+
*
|
172
|
+
* @param {Array} ranges An array of objects defining copyable cells.
|
173
|
+
* @returns {Array}
|
174
|
+
*/
|
175
|
+
_classPrivateMethodInitSpec(this, _onModifyCopyableRange);
|
176
|
+
/**
|
177
|
+
* Sets the copy-related cell meta.
|
178
|
+
*
|
179
|
+
* @param {number} row Visual row index.
|
180
|
+
* @param {number} column Visual column index.
|
181
|
+
* @param {object} cellProperties Object containing the cell properties.
|
182
|
+
*/
|
183
|
+
_classPrivateMethodInitSpec(this, _onAfterGetCellMeta);
|
184
|
+
/**
|
185
|
+
* Adds the additional row height for the hidden row indicators.
|
186
|
+
*
|
187
|
+
* @param {number|undefined} height Row height.
|
188
|
+
* @param {number} row Visual row index.
|
189
|
+
* @returns {number}
|
190
|
+
*/
|
191
|
+
_classPrivateMethodInitSpec(this, _onModifyRowHeight);
|
146
192
|
/**
|
147
193
|
* Remove the indicator elements from the provided row header element.
|
148
194
|
*
|
@@ -202,17 +248,23 @@ export class HiddenRows extends BasePlugin {
|
|
202
248
|
}
|
203
249
|
}
|
204
250
|
_classPrivateFieldSet(this, _hiddenRowsMap, new HidingMap());
|
205
|
-
_classPrivateFieldGet(this, _hiddenRowsMap).addLocalHook('init', () => this.
|
251
|
+
_classPrivateFieldGet(this, _hiddenRowsMap).addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
|
206
252
|
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(this, _hiddenRowsMap));
|
207
253
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
208
|
-
|
254
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
255
|
+
args[_key] = arguments[_key];
|
256
|
+
}
|
257
|
+
return _classPrivateMethodGet(_this, _onAfterContextMenuDefaultOptions, _onAfterContextMenuDefaultOptions2).call(_this, ...args);
|
209
258
|
});
|
210
|
-
this.addHook('afterGetCellMeta', (row, col, cellProperties) => this.
|
211
|
-
this.addHook('modifyRowHeight', (height, row) => this.
|
259
|
+
this.addHook('afterGetCellMeta', (row, col, cellProperties) => _classPrivateMethodGet(this, _onAfterGetCellMeta, _onAfterGetCellMeta2).call(this, row, col, cellProperties));
|
260
|
+
this.addHook('modifyRowHeight', (height, row) => _classPrivateMethodGet(this, _onModifyRowHeight, _onModifyRowHeight2).call(this, height, row));
|
212
261
|
this.addHook('afterGetRowHeader', function () {
|
213
|
-
|
262
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
263
|
+
args[_key2] = arguments[_key2];
|
264
|
+
}
|
265
|
+
return _classPrivateMethodGet(_this, _onAfterGetRowHeader, _onAfterGetRowHeader2).call(_this, ...args);
|
214
266
|
});
|
215
|
-
this.addHook('modifyCopyableRange', ranges => this.
|
267
|
+
this.addHook('modifyCopyableRange', ranges => _classPrivateMethodGet(this, _onModifyCopyableRange, _onModifyCopyableRange2).call(this, ranges));
|
216
268
|
super.enablePlugin();
|
217
269
|
}
|
218
270
|
|
@@ -288,8 +340,8 @@ export class HiddenRows extends BasePlugin {
|
|
288
340
|
* @param {...number} row Visual row index.
|
289
341
|
*/
|
290
342
|
showRow() {
|
291
|
-
for (var
|
292
|
-
row[
|
343
|
+
for (var _len3 = arguments.length, row = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
344
|
+
row[_key3] = arguments[_key3];
|
293
345
|
}
|
294
346
|
this.showRows(row);
|
295
347
|
}
|
@@ -326,8 +378,8 @@ export class HiddenRows extends BasePlugin {
|
|
326
378
|
* @param {...number} row Visual row index.
|
327
379
|
*/
|
328
380
|
hideRow() {
|
329
|
-
for (var
|
330
|
-
row[
|
381
|
+
for (var _len4 = arguments.length, row = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
382
|
+
row[_key4] = arguments[_key4];
|
331
383
|
}
|
332
384
|
this.hideRows(row);
|
333
385
|
}
|
@@ -380,172 +432,125 @@ export class HiddenRows extends BasePlugin {
|
|
380
432
|
});
|
381
433
|
}
|
382
434
|
/**
|
383
|
-
*
|
384
|
-
*
|
385
|
-
* @private
|
386
|
-
* @param {number|undefined} height Row height.
|
387
|
-
* @param {number} row Visual row index.
|
388
|
-
* @returns {number}
|
435
|
+
* Destroys the plugin instance.
|
389
436
|
*/
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
return 0;
|
395
|
-
}
|
396
|
-
return height;
|
437
|
+
destroy() {
|
438
|
+
_classPrivateFieldSet(this, _settings, null);
|
439
|
+
_classPrivateFieldSet(this, _hiddenRowsMap, null);
|
440
|
+
super.destroy();
|
397
441
|
}
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
442
|
+
}
|
443
|
+
function _clearIndicatorElements2(TH) {
|
444
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
445
|
+
element.remove();
|
446
|
+
});
|
447
|
+
}
|
448
|
+
function _onModifyRowHeight2(height, row) {
|
449
|
+
// Hook is triggered internally only for the visible rows. Conditional will be handled for the API
|
450
|
+
// calls of the `getRowHeight` function on not visible indexes.
|
451
|
+
if (this.isHidden(row)) {
|
452
|
+
return 0;
|
453
|
+
}
|
454
|
+
return height;
|
455
|
+
}
|
456
|
+
function _onAfterGetCellMeta2(row, column, cellProperties) {
|
457
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled === false && this.isHidden(row)) {
|
458
|
+
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
459
|
+
cellProperties.skipRowOnPaste = true;
|
460
|
+
}
|
461
|
+
if (this.isHidden(row - 1)) {
|
462
|
+
cellProperties.className = cellProperties.className || '';
|
463
|
+
if (cellProperties.className.indexOf('afterHiddenRow') === -1) {
|
464
|
+
cellProperties.className += ' afterHiddenRow';
|
411
465
|
}
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
const classArr = cellProperties.className.split(' ');
|
419
|
-
if (classArr.length > 0) {
|
420
|
-
const containAfterHiddenRow = classArr.indexOf('afterHiddenRow');
|
421
|
-
if (containAfterHiddenRow > -1) {
|
422
|
-
classArr.splice(containAfterHiddenRow, 1);
|
423
|
-
}
|
424
|
-
cellProperties.className = classArr.join(' ');
|
466
|
+
} else if (cellProperties.className) {
|
467
|
+
const classArr = cellProperties.className.split(' ');
|
468
|
+
if (classArr.length > 0) {
|
469
|
+
const containAfterHiddenRow = classArr.indexOf('afterHiddenRow');
|
470
|
+
if (containAfterHiddenRow > -1) {
|
471
|
+
classArr.splice(containAfterHiddenRow, 1);
|
425
472
|
}
|
473
|
+
cellProperties.className = classArr.join(' ');
|
426
474
|
}
|
427
475
|
}
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
arrayEach(ranges, range => {
|
451
|
-
let isHidden = true;
|
452
|
-
let rangeStart = 0;
|
453
|
-
rangeEach(range.startRow, range.endRow, visualRow => {
|
454
|
-
if (this.isHidden(visualRow)) {
|
455
|
-
if (!isHidden) {
|
456
|
-
pushRange(rangeStart, visualRow - 1, range.startCol, range.endCol);
|
457
|
-
}
|
458
|
-
isHidden = true;
|
459
|
-
} else {
|
460
|
-
if (isHidden) {
|
461
|
-
rangeStart = visualRow;
|
462
|
-
}
|
463
|
-
if (visualRow === range.endRow) {
|
464
|
-
pushRange(rangeStart, visualRow, range.startCol, range.endCol);
|
465
|
-
}
|
466
|
-
isHidden = false;
|
476
|
+
}
|
477
|
+
function _onModifyCopyableRange2(ranges) {
|
478
|
+
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
479
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled) {
|
480
|
+
return ranges;
|
481
|
+
}
|
482
|
+
const newRanges = [];
|
483
|
+
const pushRange = (startRow, endRow, startCol, endCol) => {
|
484
|
+
newRanges.push({
|
485
|
+
startRow,
|
486
|
+
endRow,
|
487
|
+
startCol,
|
488
|
+
endCol
|
489
|
+
});
|
490
|
+
};
|
491
|
+
arrayEach(ranges, range => {
|
492
|
+
let isHidden = true;
|
493
|
+
let rangeStart = 0;
|
494
|
+
rangeEach(range.startRow, range.endRow, visualRow => {
|
495
|
+
if (this.isHidden(visualRow)) {
|
496
|
+
if (!isHidden) {
|
497
|
+
pushRange(rangeStart, visualRow - 1, range.startCol, range.endCol);
|
467
498
|
}
|
468
|
-
|
499
|
+
isHidden = true;
|
500
|
+
} else {
|
501
|
+
if (isHidden) {
|
502
|
+
rangeStart = visualRow;
|
503
|
+
}
|
504
|
+
if (visualRow === range.endRow) {
|
505
|
+
pushRange(rangeStart, visualRow, range.startCol, range.endCol);
|
506
|
+
}
|
507
|
+
isHidden = false;
|
508
|
+
}
|
469
509
|
});
|
470
|
-
|
510
|
+
});
|
511
|
+
return newRanges;
|
512
|
+
}
|
513
|
+
function _onAfterGetRowHeader2(row, TH) {
|
514
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
515
|
+
const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
|
516
|
+
const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
|
517
|
+
if (!_classPrivateFieldGet(this, _settings).indicators || row < 0) {
|
518
|
+
beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
|
519
|
+
afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
|
520
|
+
return;
|
471
521
|
}
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
482
|
-
const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
|
483
|
-
const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
|
484
|
-
if (!_classPrivateFieldGet(this, _settings).indicators || row < 0) {
|
485
|
-
beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
|
486
|
-
afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
|
487
|
-
return;
|
488
|
-
}
|
489
|
-
const classList = [];
|
490
|
-
if (row >= 1 && this.isHidden(row - 1)) {
|
491
|
-
if (!afterHiddenRowIndicatorElement) {
|
492
|
-
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
|
493
|
-
appendElement(TH, {
|
494
|
-
tagName: 'div',
|
495
|
-
attributes: attributesToAdd,
|
496
|
-
className: AFTER_INDICATOR_CLASSNAME
|
497
|
-
});
|
498
|
-
}
|
499
|
-
classList.push('afterHiddenRow');
|
500
|
-
}
|
501
|
-
if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
|
502
|
-
if (!beforeHiddenRowIndicatorElement) {
|
503
|
-
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
|
504
|
-
appendElement(TH, {
|
505
|
-
tagName: 'div',
|
506
|
-
attributes: attributesToAdd,
|
507
|
-
className: BEFORE_INDICATOR_CLASSNAME
|
508
|
-
});
|
509
|
-
}
|
510
|
-
classList.push('beforeHiddenRow');
|
522
|
+
const classList = [];
|
523
|
+
if (row >= 1 && this.isHidden(row - 1)) {
|
524
|
+
if (!afterHiddenRowIndicatorElement) {
|
525
|
+
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
|
526
|
+
appendElement(TH, {
|
527
|
+
tagName: 'div',
|
528
|
+
attributes: attributesToAdd,
|
529
|
+
className: AFTER_INDICATOR_CLASSNAME
|
530
|
+
});
|
511
531
|
}
|
512
|
-
|
513
|
-
}
|
514
|
-
|
515
|
-
/**
|
516
|
-
* Add Show-hide rows to context menu.
|
517
|
-
*
|
518
|
-
* @private
|
519
|
-
* @param {object} options An array of objects containing information about the pre-defined Context Menu items.
|
520
|
-
*/
|
521
|
-
onAfterContextMenuDefaultOptions(options) {
|
522
|
-
options.items.push({
|
523
|
-
name: SEPARATOR
|
524
|
-
}, hideRowItem(this), showRowItem(this));
|
532
|
+
classList.push('afterHiddenRow');
|
525
533
|
}
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
this.hideRows(_classPrivateFieldGet(this, _settings).rows);
|
534
|
+
if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
|
535
|
+
if (!beforeHiddenRowIndicatorElement) {
|
536
|
+
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
|
537
|
+
appendElement(TH, {
|
538
|
+
tagName: 'div',
|
539
|
+
attributes: attributesToAdd,
|
540
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
541
|
+
});
|
535
542
|
}
|
543
|
+
classList.push('beforeHiddenRow');
|
536
544
|
}
|
537
|
-
|
538
|
-
/**
|
539
|
-
* Destroys the plugin instance.
|
540
|
-
*/
|
541
|
-
destroy() {
|
542
|
-
_classPrivateFieldSet(this, _settings, null);
|
543
|
-
_classPrivateFieldSet(this, _hiddenRowsMap, null);
|
544
|
-
super.destroy();
|
545
|
-
}
|
545
|
+
addClass(TH, classList);
|
546
546
|
}
|
547
|
-
function
|
548
|
-
|
549
|
-
|
550
|
-
});
|
547
|
+
function _onAfterContextMenuDefaultOptions2(options) {
|
548
|
+
options.items.push({
|
549
|
+
name: SEPARATOR
|
550
|
+
}, hideRowItem(this), showRowItem(this));
|
551
|
+
}
|
552
|
+
function _onMapInit2() {
|
553
|
+
if (Array.isArray(_classPrivateFieldGet(this, _settings).rows)) {
|
554
|
+
this.hideRows(_classPrivateFieldGet(this, _settings).rows);
|
555
|
+
}
|
551
556
|
}
|
@@ -28,7 +28,7 @@ function freezeColumnItem(manualColumnFreezePlugin) {
|
|
28
28
|
hidden() {
|
29
29
|
const selection = this.getSelectedRange();
|
30
30
|
let hide = false;
|
31
|
-
if (selection ===
|
31
|
+
if (selection === undefined) {
|
32
32
|
hide = true;
|
33
33
|
} else if (selection.length > 1) {
|
34
34
|
hide = true;
|
@@ -22,7 +22,7 @@ export default function freezeColumnItem(manualColumnFreezePlugin) {
|
|
22
22
|
hidden() {
|
23
23
|
const selection = this.getSelectedRange();
|
24
24
|
let hide = false;
|
25
|
-
if (selection ===
|
25
|
+
if (selection === undefined) {
|
26
26
|
hide = true;
|
27
27
|
} else if (selection.length > 1) {
|
28
28
|
hide = true;
|
@@ -28,7 +28,7 @@ function unfreezeColumnItem(manualColumnFreezePlugin) {
|
|
28
28
|
hidden() {
|
29
29
|
const selection = this.getSelectedRange();
|
30
30
|
let hide = false;
|
31
|
-
if (selection ===
|
31
|
+
if (selection === undefined) {
|
32
32
|
hide = true;
|
33
33
|
} else if (selection.length > 1) {
|
34
34
|
hide = true;
|
@@ -22,7 +22,7 @@ export default function unfreezeColumnItem(manualColumnFreezePlugin) {
|
|
22
22
|
hidden() {
|
23
23
|
const selection = this.getSelectedRange();
|
24
24
|
let hide = false;
|
25
|
-
if (selection ===
|
25
|
+
if (selection === undefined) {
|
26
26
|
hide = true;
|
27
27
|
} else if (selection.length > 1) {
|
28
28
|
hide = true;
|
@@ -1,12 +1,22 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
4
5
|
require("core-js/modules/es.array.push.js");
|
5
6
|
var _base = require("../base");
|
6
7
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
7
8
|
var _freezeColumn = _interopRequireDefault(require("./contextMenuItem/freezeColumn"));
|
8
9
|
var _unfreezeColumn = _interopRequireDefault(require("./contextMenuItem/unfreezeColumn"));
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
12
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
13
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
14
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
15
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
16
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
17
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
18
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
19
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
10
20
|
_pluginHooks.default.getSingleton().register('beforeColumnFreeze');
|
11
21
|
_pluginHooks.default.getSingleton().register('afterColumnFreeze');
|
12
22
|
_pluginHooks.default.getSingleton().register('beforeColumnUnfreeze');
|
@@ -14,8 +24,6 @@ _pluginHooks.default.getSingleton().register('afterColumnUnfreeze');
|
|
14
24
|
const PLUGIN_KEY = 'manualColumnFreeze';
|
15
25
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
16
26
|
const PLUGIN_PRIORITY = 110;
|
17
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
18
|
-
const privatePool = new WeakMap();
|
19
27
|
|
20
28
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
21
29
|
|
@@ -33,20 +41,45 @@ const privatePool = new WeakMap();
|
|
33
41
|
* manualColumnFreeze: true,
|
34
42
|
* ```
|
35
43
|
*/
|
44
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
45
|
+
var _afterFirstUse = /*#__PURE__*/new WeakMap();
|
46
|
+
var _addContextMenuEntry = /*#__PURE__*/new WeakSet();
|
47
|
+
var _onBeforeColumnMove = /*#__PURE__*/new WeakSet();
|
36
48
|
class ManualColumnFreeze extends _base.BasePlugin {
|
49
|
+
constructor() {
|
50
|
+
super(...arguments);
|
51
|
+
/**
|
52
|
+
* Prevents moving the columns from/to fixed area.
|
53
|
+
*
|
54
|
+
* @private
|
55
|
+
* @param {Array} columns Array of visual column indexes to be moved.
|
56
|
+
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
57
|
+
* @returns {boolean|undefined}
|
58
|
+
*/
|
59
|
+
_classPrivateMethodInitSpec(this, _onBeforeColumnMove);
|
60
|
+
/**
|
61
|
+
* Adds the manualColumnFreeze context menu entries.
|
62
|
+
*
|
63
|
+
* @private
|
64
|
+
* @param {object} options Context menu options.
|
65
|
+
*/
|
66
|
+
_classPrivateMethodInitSpec(this, _addContextMenuEntry);
|
67
|
+
/**
|
68
|
+
* Determines when the moving operation is allowed.
|
69
|
+
*
|
70
|
+
* @type {boolean}
|
71
|
+
*/
|
72
|
+
_classPrivateFieldInitSpec(this, _afterFirstUse, {
|
73
|
+
writable: true,
|
74
|
+
value: false
|
75
|
+
});
|
76
|
+
}
|
37
77
|
static get PLUGIN_KEY() {
|
38
78
|
return PLUGIN_KEY;
|
39
79
|
}
|
40
80
|
static get PLUGIN_PRIORITY() {
|
41
81
|
return PLUGIN_PRIORITY;
|
42
82
|
}
|
43
|
-
constructor(hotInstance) {
|
44
|
-
super(hotInstance);
|
45
|
-
privatePool.set(this, {
|
46
|
-
afterFirstUse: false
|
47
|
-
});
|
48
|
-
}
|
49
|
-
|
50
83
|
/**
|
51
84
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
52
85
|
* hook and if it returns `true` then the {@link ManualColumnFreeze#enablePlugin} method is called.
|
@@ -64,8 +97,8 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
64
97
|
if (this.enabled) {
|
65
98
|
return;
|
66
99
|
}
|
67
|
-
this.addHook('afterContextMenuDefaultOptions', options => this.
|
68
|
-
this.addHook('beforeColumnMove', (columns, finalIndex) => this.
|
100
|
+
this.addHook('afterContextMenuDefaultOptions', options => _classPrivateMethodGet(this, _addContextMenuEntry, _addContextMenuEntry2).call(this, options));
|
101
|
+
this.addHook('beforeColumnMove', (columns, finalIndex) => _classPrivateMethodGet(this, _onBeforeColumnMove, _onBeforeColumnMove2).call(this, columns, finalIndex));
|
69
102
|
super.enablePlugin();
|
70
103
|
}
|
71
104
|
|
@@ -73,8 +106,7 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
73
106
|
* Disables the plugin functionality for this Handsontable instance.
|
74
107
|
*/
|
75
108
|
disablePlugin() {
|
76
|
-
|
77
|
-
priv.afterFirstUse = false;
|
109
|
+
_classPrivateFieldSet(this, _afterFirstUse, false);
|
78
110
|
super.disablePlugin();
|
79
111
|
}
|
80
112
|
|
@@ -99,12 +131,11 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
99
131
|
* @param {number} column Visual column index.
|
100
132
|
*/
|
101
133
|
freezeColumn(column) {
|
102
|
-
const priv = privatePool.get(this);
|
103
134
|
const settings = this.hot.getSettings();
|
104
135
|
// columns are already fixed (frozen)
|
105
136
|
const freezePerformed = settings.fixedColumnsStart < this.hot.countCols() && column > settings.fixedColumnsStart - 1;
|
106
|
-
if (!
|
107
|
-
|
137
|
+
if (!_classPrivateFieldGet(this, _afterFirstUse)) {
|
138
|
+
_classPrivateFieldSet(this, _afterFirstUse, true);
|
108
139
|
}
|
109
140
|
const beforeColumnFreezeHook = this.hot.runHooks('beforeColumnFreeze', column, freezePerformed);
|
110
141
|
if (beforeColumnFreezeHook === false) {
|
@@ -128,12 +159,11 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
128
159
|
* @param {number} column Visual column index.
|
129
160
|
*/
|
130
161
|
unfreezeColumn(column) {
|
131
|
-
const priv = privatePool.get(this);
|
132
162
|
const settings = this.hot.getSettings();
|
133
163
|
// columns are not fixed (not frozen)
|
134
164
|
const unfreezePerformed = settings.fixedColumnsStart > 0 && column <= settings.fixedColumnsStart - 1;
|
135
|
-
if (!
|
136
|
-
|
165
|
+
if (!_classPrivateFieldGet(this, _afterFirstUse)) {
|
166
|
+
_classPrivateFieldSet(this, _afterFirstUse, true);
|
137
167
|
}
|
138
168
|
const beforeColumnUnfreezeHook = this.hot.runHooks('beforeColumnUnfreeze', column, unfreezePerformed);
|
139
169
|
if (beforeColumnUnfreezeHook === false) {
|
@@ -149,42 +179,25 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
149
179
|
}
|
150
180
|
this.hot.runHooks('afterColumnUnfreeze', column, unfreezePerformed);
|
151
181
|
}
|
182
|
+
}
|
183
|
+
exports.ManualColumnFreeze = ManualColumnFreeze;
|
184
|
+
function _addContextMenuEntry2(options) {
|
185
|
+
options.items.push({
|
186
|
+
name: '---------'
|
187
|
+
}, (0, _freezeColumn.default)(this), (0, _unfreezeColumn.default)(this));
|
188
|
+
}
|
189
|
+
function _onBeforeColumnMove2(columns, finalIndex) {
|
190
|
+
if (_classPrivateFieldGet(this, _afterFirstUse)) {
|
191
|
+
const freezeLine = this.hot.getSettings().fixedColumnsStart;
|
152
192
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
* @param {object} options Context menu options.
|
158
|
-
*/
|
159
|
-
addContextMenuEntry(options) {
|
160
|
-
options.items.push({
|
161
|
-
name: '---------'
|
162
|
-
}, (0, _freezeColumn.default)(this), (0, _unfreezeColumn.default)(this));
|
163
|
-
}
|
164
|
-
|
165
|
-
/**
|
166
|
-
* Prevents moving the columns from/to fixed area.
|
167
|
-
*
|
168
|
-
* @private
|
169
|
-
* @param {Array} columns Array of visual column indexes to be moved.
|
170
|
-
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
171
|
-
* @returns {boolean|undefined}
|
172
|
-
*/
|
173
|
-
onBeforeColumnMove(columns, finalIndex) {
|
174
|
-
const priv = privatePool.get(this);
|
175
|
-
if (priv.afterFirstUse) {
|
176
|
-
const freezeLine = this.hot.getSettings().fixedColumnsStart;
|
177
|
-
|
178
|
-
// Moving any column before the "freeze line" isn't possible.
|
179
|
-
if (finalIndex < freezeLine) {
|
180
|
-
return false;
|
181
|
-
}
|
193
|
+
// Moving any column before the "freeze line" isn't possible.
|
194
|
+
if (finalIndex < freezeLine) {
|
195
|
+
return false;
|
196
|
+
}
|
182
197
|
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
}
|
198
|
+
// Moving frozen column isn't possible.
|
199
|
+
if (columns.some(column => column < freezeLine)) {
|
200
|
+
return false;
|
187
201
|
}
|
188
202
|
}
|
189
|
-
}
|
190
|
-
exports.ManualColumnFreeze = ManualColumnFreeze;
|
203
|
+
}
|