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
@@ -69,13 +69,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
69
69
|
|
70
70
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
71
71
|
|
72
|
-
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); }
|
72
|
+
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); }
|
73
73
|
|
74
74
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
75
75
|
|
76
76
|
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); }
|
77
77
|
|
78
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
78
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
79
79
|
|
80
80
|
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); }; }
|
81
81
|
|
@@ -85,7 +85,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
85
85
|
|
86
86
|
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; } }
|
87
87
|
|
88
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
88
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
89
89
|
|
90
90
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
91
91
|
|
@@ -168,7 +168,9 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
168
168
|
value: null
|
169
169
|
});
|
170
170
|
|
171
|
-
_defineProperty(_assertThisInitialized(_this), "ghostTable", new _ghostTable.default(
|
171
|
+
_defineProperty(_assertThisInitialized(_this), "ghostTable", new _ghostTable.default(_this.hot, function (row, column) {
|
172
|
+
return _this.getHeaderSettings(row, column);
|
173
|
+
}));
|
172
174
|
|
173
175
|
_defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
|
174
176
|
|
@@ -292,10 +294,12 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
292
294
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, columnIndex);
|
293
295
|
}
|
294
296
|
});
|
297
|
+
|
298
|
+
_this3.ghostTable.buildWidthsMap();
|
295
299
|
}));
|
296
300
|
}
|
297
301
|
|
298
|
-
this.ghostTable.
|
302
|
+
this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap();
|
299
303
|
|
300
304
|
_get(_getPrototypeOf(NestedHeaders.prototype), "updatePlugin", this).call(this);
|
301
305
|
}
|
@@ -693,7 +697,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
693
697
|
}, {
|
694
698
|
key: "onModifyColWidth",
|
695
699
|
value: function onModifyColWidth(width, column) {
|
696
|
-
var cachedWidth = this.ghostTable.
|
700
|
+
var cachedWidth = this.ghostTable.getWidth(column);
|
697
701
|
return width > cachedWidth ? width : cachedWidth;
|
698
702
|
}
|
699
703
|
/**
|
@@ -29,13 +29,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
29
29
|
|
30
30
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
31
31
|
|
32
|
-
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); }
|
32
|
+
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); }
|
33
33
|
|
34
34
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
35
35
|
|
36
36
|
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); }
|
37
37
|
|
38
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
38
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
39
39
|
|
40
40
|
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); }; }
|
41
41
|
|
@@ -45,7 +45,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
45
45
|
|
46
46
|
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; } }
|
47
47
|
|
48
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
48
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
49
49
|
|
50
50
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
51
51
|
|
@@ -134,7 +134,9 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
134
134
|
value: null
|
135
135
|
});
|
136
136
|
|
137
|
-
_defineProperty(_assertThisInitialized(_this), "ghostTable", new GhostTable(
|
137
|
+
_defineProperty(_assertThisInitialized(_this), "ghostTable", new GhostTable(_this.hot, function (row, column) {
|
138
|
+
return _this.getHeaderSettings(row, column);
|
139
|
+
}));
|
138
140
|
|
139
141
|
_defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
|
140
142
|
|
@@ -258,10 +260,12 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
258
260
|
_classPrivateFieldGet(_this3, _stateManager).triggerColumnModification(actionName, columnIndex);
|
259
261
|
}
|
260
262
|
});
|
263
|
+
|
264
|
+
_this3.ghostTable.buildWidthsMap();
|
261
265
|
}));
|
262
266
|
}
|
263
267
|
|
264
|
-
this.ghostTable.
|
268
|
+
this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap();
|
265
269
|
|
266
270
|
_get(_getPrototypeOf(NestedHeaders.prototype), "updatePlugin", this).call(this);
|
267
271
|
}
|
@@ -659,7 +663,7 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
659
663
|
}, {
|
660
664
|
key: "onModifyColWidth",
|
661
665
|
value: function onModifyColWidth(width, column) {
|
662
|
-
var cachedWidth = this.ghostTable.
|
666
|
+
var cachedWidth = this.ghostTable.getWidth(column);
|
663
667
|
return width > cachedWidth ? width : cachedWidth;
|
664
668
|
}
|
665
669
|
/**
|
@@ -9,15 +9,14 @@ exports.createPlaceholderHeaderSettings = createPlaceholderHeaderSettings;
|
|
9
9
|
* @property {string} label The name/label of the column header.
|
10
10
|
* @property {number} colspan Current calculated colspan value of the rendered column header element.
|
11
11
|
* @property {number} origColspan Original colspan value, set once while parsing user-defined nested header settings.
|
12
|
-
* @property {boolean} collapsible The flag determines whether the node is collapsible (can be
|
12
|
+
* @property {boolean} collapsible The flag determines whether the node is collapsible (can be collapsed/expanded).
|
13
13
|
* @property {number[]} crossHiddenColumns The list of visual column indexes which indicates that the specified columns within
|
14
14
|
* the header settings are hidden.
|
15
15
|
* @property {boolean} isCollapsed The flag determines whether the node is collapsed.
|
16
16
|
* @property {boolean} isHidden The flag determines whether the column header at specified index is hidden. If true
|
17
17
|
* the TH element will be rendered as hidden (display: none).
|
18
|
-
* @property {boolean} isRoot The flag which determines whether the column header settings is
|
18
|
+
* @property {boolean} isRoot The flag which determines whether the column header settings is actually not renderable. That kind
|
19
19
|
* of objects are generated after colspaned header to fill an array to correct size.
|
20
|
-
*
|
21
20
|
* For example for header with colspan = 8 the 7 blank objects are generated to fill the array settings
|
22
21
|
* to length = 8.
|
23
22
|
* @property {boolean} isPlaceholder The flag determines whether the column header at the specified index is non-renderable.
|
@@ -63,7 +62,7 @@ function createDefaultHeaderSettings() {
|
|
63
62
|
};
|
64
63
|
}
|
65
64
|
/**
|
66
|
-
* Creates the header settings
|
65
|
+
* Creates the placeholder header settings object. Those settings tell the header renderers
|
67
66
|
* that this TH element should not be rendered (the node will be overlapped by the previously
|
68
67
|
* created node with colspan bigger than 1).
|
69
68
|
*
|
@@ -3,15 +3,14 @@
|
|
3
3
|
* @property {string} label The name/label of the column header.
|
4
4
|
* @property {number} colspan Current calculated colspan value of the rendered column header element.
|
5
5
|
* @property {number} origColspan Original colspan value, set once while parsing user-defined nested header settings.
|
6
|
-
* @property {boolean} collapsible The flag determines whether the node is collapsible (can be
|
6
|
+
* @property {boolean} collapsible The flag determines whether the node is collapsible (can be collapsed/expanded).
|
7
7
|
* @property {number[]} crossHiddenColumns The list of visual column indexes which indicates that the specified columns within
|
8
8
|
* the header settings are hidden.
|
9
9
|
* @property {boolean} isCollapsed The flag determines whether the node is collapsed.
|
10
10
|
* @property {boolean} isHidden The flag determines whether the column header at specified index is hidden. If true
|
11
11
|
* the TH element will be rendered as hidden (display: none).
|
12
|
-
* @property {boolean} isRoot The flag which determines whether the column header settings is
|
12
|
+
* @property {boolean} isRoot The flag which determines whether the column header settings is actually not renderable. That kind
|
13
13
|
* of objects are generated after colspaned header to fill an array to correct size.
|
14
|
-
*
|
15
14
|
* For example for header with colspan = 8 the 7 blank objects are generated to fill the array settings
|
16
15
|
* to length = 8.
|
17
16
|
* @property {boolean} isPlaceholder The flag determines whether the column header at the specified index is non-renderable.
|
@@ -57,7 +56,7 @@ export function createDefaultHeaderSettings() {
|
|
57
56
|
};
|
58
57
|
}
|
59
58
|
/**
|
60
|
-
* Creates the header settings
|
59
|
+
* Creates the placeholder header settings object. Those settings tell the header renderers
|
61
60
|
* that this TH element should not be rendered (the node will be overlapped by the previously
|
62
61
|
* created node with colspan bigger than 1).
|
63
62
|
*
|
@@ -5,66 +5,125 @@ exports.default = void 0;
|
|
5
5
|
|
6
6
|
var _element = require("../../../helpers/dom/element");
|
7
7
|
|
8
|
-
var _object = require("../../../helpers/object");
|
9
|
-
|
10
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
11
9
|
|
12
10
|
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); } }
|
13
11
|
|
14
12
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
15
13
|
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
15
|
+
|
16
16
|
/**
|
17
|
+
* The class generates the nested headers structure in the DOM and reads the column width for
|
18
|
+
* each column. The hierarchy is built only for visible, non-hidden columns. Each time the
|
19
|
+
* column is shown or hidden, the structure is rebuilt, and the width of the columns in the
|
20
|
+
* map updated.
|
21
|
+
*
|
17
22
|
* @private
|
18
23
|
*/
|
19
24
|
var GhostTable = /*#__PURE__*/function () {
|
20
|
-
|
25
|
+
/**
|
26
|
+
* Reference to the Handsontable instance.
|
27
|
+
*
|
28
|
+
* @private
|
29
|
+
* @type {Handsontable}
|
30
|
+
*/
|
31
|
+
|
32
|
+
/**
|
33
|
+
* The function for retrieving the nested headers settings.
|
34
|
+
*
|
35
|
+
* @private
|
36
|
+
* @type {Function}
|
37
|
+
*/
|
38
|
+
|
39
|
+
/**
|
40
|
+
* The value that holds information about the number of the nested header layers (header rows).
|
41
|
+
*
|
42
|
+
* @private
|
43
|
+
* @type {number}
|
44
|
+
*/
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Temporary element created to get minimal headers widths.
|
48
|
+
*
|
49
|
+
* @private
|
50
|
+
* @type {*}
|
51
|
+
*/
|
52
|
+
|
53
|
+
/**
|
54
|
+
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
55
|
+
*
|
56
|
+
* @private
|
57
|
+
* @type {PhysicalIndexToValueMap}
|
58
|
+
*/
|
59
|
+
function GhostTable(hot, nestedHeaderSettingsGetter) {
|
21
60
|
_classCallCheck(this, GhostTable);
|
22
61
|
|
23
|
-
|
24
|
-
* Reference to NestedHeaders plugin.
|
25
|
-
*
|
26
|
-
* @type {NestedHeaders}
|
27
|
-
*/
|
28
|
-
this.nestedHeaders = plugin;
|
29
|
-
/**
|
30
|
-
* Temporary element created to get minimal headers widths.
|
31
|
-
*
|
32
|
-
* @type {*}
|
33
|
-
*/
|
62
|
+
_defineProperty(this, "hot", void 0);
|
34
63
|
|
35
|
-
this
|
36
|
-
/**
|
37
|
-
* Cached the headers widths.
|
38
|
-
*
|
39
|
-
* @type {Array}
|
40
|
-
*/
|
64
|
+
_defineProperty(this, "nestedHeaderSettingsGetter", void 0);
|
41
65
|
|
42
|
-
this
|
66
|
+
_defineProperty(this, "layersCount", 0);
|
67
|
+
|
68
|
+
_defineProperty(this, "container", void 0);
|
69
|
+
|
70
|
+
_defineProperty(this, "widthsMap", void 0);
|
71
|
+
|
72
|
+
this.hot = hot;
|
73
|
+
this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
|
74
|
+
this.widthsMap = this.hot.columnIndexMapper.createAndRegisterIndexMap('nestedHeaders.widthsMap', 'physicalIndexToValue');
|
43
75
|
}
|
44
76
|
/**
|
45
|
-
*
|
77
|
+
* Sets the number of nested headers layers count.
|
46
78
|
*
|
47
|
-
* @
|
79
|
+
* @param {number} layersCount Total number of headers levels.
|
80
|
+
* @returns {GhostTable}
|
48
81
|
*/
|
49
82
|
|
50
83
|
|
51
84
|
_createClass(GhostTable, [{
|
52
|
-
key: "
|
53
|
-
value: function
|
54
|
-
this.
|
55
|
-
this
|
56
|
-
|
85
|
+
key: "setLayersCount",
|
86
|
+
value: function setLayersCount(layersCount) {
|
87
|
+
this.layersCount = layersCount;
|
88
|
+
return this;
|
89
|
+
}
|
90
|
+
/**
|
91
|
+
* Gets the column width based on the visual column index.
|
92
|
+
*
|
93
|
+
* @param {number} visualColumn Visual column index.
|
94
|
+
* @returns {number|null}
|
95
|
+
*/
|
96
|
+
|
97
|
+
}, {
|
98
|
+
key: "getWidth",
|
99
|
+
value: function getWidth(visualColumn) {
|
100
|
+
return this.widthsMap.getValueAtIndex(this.hot.toPhysicalColumn(visualColumn));
|
101
|
+
}
|
102
|
+
/**
|
103
|
+
* Build cache of the headers widths.
|
104
|
+
*/
|
105
|
+
|
106
|
+
}, {
|
107
|
+
key: "buildWidthsMap",
|
108
|
+
value: function buildWidthsMap() {
|
109
|
+
this.container = this.hot.rootDocument.createElement('div');
|
110
|
+
this.container.classList.add('handsontable', 'htGhostTable', 'htAutoSize');
|
111
|
+
|
112
|
+
this._buildGhostTable(this.container);
|
113
|
+
|
114
|
+
this.hot.rootDocument.body.appendChild(this.container);
|
57
115
|
var columns = this.container.querySelectorAll('tr:last-of-type th');
|
58
116
|
var maxColumns = columns.length;
|
59
|
-
this.
|
117
|
+
this.widthsMap.clear();
|
60
118
|
|
61
|
-
for (var
|
62
|
-
this.
|
119
|
+
for (var column = 0; column < maxColumns; column++) {
|
120
|
+
var visualColumnsIndex = this.hot.columnIndexMapper.getVisualFromRenderableIndex(column);
|
121
|
+
var physicalColumnIndex = this.hot.toPhysicalColumn(visualColumnsIndex);
|
122
|
+
this.widthsMap.setValueAtIndex(physicalColumnIndex, columns[column].offsetWidth);
|
63
123
|
}
|
64
124
|
|
65
125
|
this.container.parentNode.removeChild(this.container);
|
66
126
|
this.container = null;
|
67
|
-
this.nestedHeaders.hot.render();
|
68
127
|
}
|
69
128
|
/**
|
70
129
|
* Build temporary table for getting minimal columns widths.
|
@@ -74,63 +133,43 @@ var GhostTable = /*#__PURE__*/function () {
|
|
74
133
|
*/
|
75
134
|
|
76
135
|
}, {
|
77
|
-
key: "
|
78
|
-
value: function
|
79
|
-
var
|
136
|
+
key: "_buildGhostTable",
|
137
|
+
value: function _buildGhostTable(container) {
|
138
|
+
var _this$hot = this.hot,
|
139
|
+
rootDocument = _this$hot.rootDocument,
|
140
|
+
columnIndexMapper = _this$hot.columnIndexMapper;
|
80
141
|
var fragment = rootDocument.createDocumentFragment();
|
81
142
|
var table = rootDocument.createElement('table');
|
82
|
-
var
|
83
|
-
var
|
84
|
-
var maxRows = this.nestedHeaders.getLayersCount();
|
85
|
-
var maxCols = this.nestedHeaders.hot.countCols();
|
86
|
-
var lastRowIndex = maxRows - 1;
|
143
|
+
var isDropdownEnabled = !!this.hot.getSettings().dropdownMenu;
|
144
|
+
var maxRenderedCols = columnIndexMapper.getRenderableIndexesLength();
|
87
145
|
|
88
|
-
for (var row = 0; row <
|
146
|
+
for (var row = 0; row < this.layersCount; row++) {
|
89
147
|
var tr = rootDocument.createElement('tr');
|
90
|
-
lastRowColspan = false;
|
91
148
|
|
92
|
-
for (var col = 0; col <
|
93
|
-
var
|
94
|
-
var headerObj = (0, _object.clone)(this.nestedHeaders.getHeaderSettings(row, col));
|
149
|
+
for (var col = 0; col < maxRenderedCols; col++) {
|
150
|
+
var visualColumnsIndex = columnIndexMapper.getVisualFromRenderableIndex(col);
|
95
151
|
|
96
|
-
if (
|
97
|
-
|
98
|
-
|
99
|
-
lastRowColspan = true;
|
100
|
-
}
|
152
|
+
if (visualColumnsIndex === null) {
|
153
|
+
visualColumnsIndex = col;
|
154
|
+
}
|
101
155
|
|
102
|
-
|
103
|
-
|
104
|
-
}
|
105
|
-
}
|
156
|
+
var th = rootDocument.createElement('th');
|
157
|
+
var headerSettings = this.nestedHeaderSettingsGetter(row, visualColumnsIndex);
|
106
158
|
|
107
|
-
|
108
|
-
|
159
|
+
if (headerSettings && (!headerSettings.isPlaceholder || headerSettings.isHidden)) {
|
160
|
+
var label = headerSettings.label;
|
109
161
|
|
110
|
-
if (
|
111
|
-
|
162
|
+
if (isDropdownEnabled) {
|
163
|
+
label += '<button class="changeType"></button>';
|
112
164
|
}
|
113
165
|
|
114
|
-
|
166
|
+
(0, _element.fastInnerHTML)(th, label);
|
167
|
+
th.colSpan = headerSettings.colspan;
|
168
|
+
tr.appendChild(th);
|
115
169
|
}
|
116
170
|
}
|
117
171
|
|
118
172
|
table.appendChild(tr);
|
119
|
-
} // We have to be sure the last row contains only the single columns.
|
120
|
-
|
121
|
-
|
122
|
-
if (lastRowColspan) {
|
123
|
-
{
|
124
|
-
var _tr = rootDocument.createElement('tr');
|
125
|
-
|
126
|
-
for (var _col = 0; _col < maxCols; _col++) {
|
127
|
-
var _td = rootDocument.createElement('th');
|
128
|
-
|
129
|
-
_tr.appendChild(_td);
|
130
|
-
}
|
131
|
-
|
132
|
-
table.appendChild(_tr);
|
133
|
-
}
|
134
173
|
}
|
135
174
|
|
136
175
|
fragment.appendChild(table);
|
@@ -143,8 +182,8 @@ var GhostTable = /*#__PURE__*/function () {
|
|
143
182
|
}, {
|
144
183
|
key: "clear",
|
145
184
|
value: function clear() {
|
185
|
+
this.widthsMap.clear();
|
146
186
|
this.container = null;
|
147
|
-
this.widthsCache.length = 0;
|
148
187
|
}
|
149
188
|
}]);
|
150
189
|
|