handsontable 12.1.2 → 12.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/border.js +43 -28
- package/3rdparty/walkontable/src/border.mjs +43 -28
- package/3rdparty/walkontable/src/table.js +13 -10
- package/3rdparty/walkontable/src/table.mjs +13 -10
- package/CHANGELOG.md +27 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +1 -3
- package/core.js +9 -1
- package/core.mjs +9 -1
- package/dataMap/dataMap.js +35 -16
- package/dataMap/dataMap.mjs +30 -13
- package/dataMap/metaManager/lazyFactoryMap.js +24 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +19 -4
- package/dataMap/metaManager/metaSchema.js +112 -80
- package/dataMap/metaManager/metaSchema.mjs +112 -80
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +40800 -57808
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +3046 -3279
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/editorManager.js +69 -35
- package/editorManager.mjs +69 -35
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +17 -2
- package/editors/dateEditor/dateEditor.mjs +16 -0
- package/editors/textEditor/caretPositioner.js +0 -4
- package/editors/textEditor/caretPositioner.mjs +0 -2
- package/helpers/dom/element.js +2 -4
- package/helpers/dom/element.mjs +1 -2
- package/helpers/mixed.js +2 -4
- package/helpers/mixed.mjs +2 -3
- package/helpers/object.js +0 -4
- package/helpers/object.mjs +0 -2
- package/helpers/unicode.js +0 -4
- package/helpers/unicode.mjs +0 -2
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -1
- package/pluginHooks.js +17 -14
- package/pluginHooks.mjs +17 -14
- package/plugins/base/base.js +2 -4
- package/plugins/base/base.mjs +1 -2
- package/plugins/columnSorting/sortService/engine.js +2 -6
- package/plugins/columnSorting/sortService/engine.mjs +2 -2
- package/plugins/columnSummary/columnSummary.js +17 -11
- package/plugins/columnSummary/columnSummary.mjs +15 -9
- package/plugins/columnSummary/utils.js +14 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/contextMenu/commandExecutor.js +0 -4
- package/plugins/contextMenu/commandExecutor.mjs +0 -2
- package/plugins/contextMenu/contextMenu.js +5 -1
- package/plugins/contextMenu/contextMenu.mjs +5 -1
- package/plugins/contextMenu/menu.js +4 -0
- package/plugins/contextMenu/menu.mjs +4 -0
- package/plugins/copyPaste/copyPaste.js +2 -0
- package/plugins/copyPaste/copyPaste.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.js +4 -0
- package/plugins/dropdownMenu/dropdownMenu.mjs +4 -0
- package/plugins/filters/component/condition.js +11 -29
- package/plugins/filters/component/condition.mjs +6 -21
- package/plugins/filters/component/value.js +12 -5
- package/plugins/filters/component/value.mjs +12 -5
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +62 -82
- package/plugins/filters/filters.mjs +63 -83
- package/plugins/hiddenColumns/hiddenColumns.js +0 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +0 -2
- package/plugins/hiddenRows/hiddenRows.js +0 -4
- package/plugins/hiddenRows/hiddenRows.mjs +0 -2
- package/plugins/multiColumnSorting/domHelpers.js +2 -4
- package/plugins/multiColumnSorting/domHelpers.mjs +1 -2
- package/plugins/nestedRows/nestedRows.js +1 -1
- package/plugins/nestedRows/nestedRows.mjs +1 -1
- package/plugins/search/search.js +0 -2
- package/plugins/search/search.mjs +0 -1
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/renderers/numericRenderer/numericRenderer.js +0 -2
- package/renderers/numericRenderer/numericRenderer.mjs +0 -1
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/renderers/textRenderer/textRenderer.mjs +1 -1
- package/shortcuts/recorder.js +14 -10
- package/shortcuts/recorder.mjs +13 -10
- package/shortcuts/utils.js +0 -4
- package/shortcuts/utils.mjs +0 -2
- package/translations/indexMapper.js +2 -2
- package/translations/indexMapper.mjs +2 -2
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
| @@ -8,25 +8,19 @@ require("core-js/modules/es.reflect.get.js"); | |
| 8 8 |  | 
| 9 9 | 
             
            require("core-js/modules/es.object.get-own-property-descriptor.js");
         | 
| 10 10 |  | 
| 11 | 
            -
            require("core-js/modules/es.symbol.js");
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            require("core-js/modules/es.symbol.description.js");
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            require("core-js/modules/es.symbol.iterator.js");
         | 
| 16 | 
            -
             | 
| 17 11 | 
             
            require("core-js/modules/es.array.iterator.js");
         | 
| 18 12 |  | 
| 19 13 | 
             
            require("core-js/modules/es.string.iterator.js");
         | 
| 20 14 |  | 
| 21 | 
            -
            require("core-js/modules/ | 
| 15 | 
            +
            require("core-js/modules/es.weak-map.js");
         | 
| 22 16 |  | 
| 23 | 
            -
            require("core-js/modules/ | 
| 17 | 
            +
            require("core-js/modules/web.dom-collections.iterator.js");
         | 
| 24 18 |  | 
| 25 | 
            -
            require("core-js/modules/es. | 
| 19 | 
            +
            require("core-js/modules/es.symbol.js");
         | 
| 26 20 |  | 
| 27 | 
            -
            require("core-js/modules/es. | 
| 21 | 
            +
            require("core-js/modules/es.symbol.description.js");
         | 
| 28 22 |  | 
| 29 | 
            -
            require("core-js/modules/es. | 
| 23 | 
            +
            require("core-js/modules/es.symbol.iterator.js");
         | 
| 30 24 |  | 
| 31 25 | 
             
            exports.__esModule = true;
         | 
| 32 26 | 
             
            exports.default = void 0;
         | 
| @@ -73,18 +67,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio | |
| 73 67 |  | 
| 74 68 | 
             
            function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
         | 
| 75 69 |  | 
| 76 | 
            -
            function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
         | 
| 77 | 
            -
             | 
| 78 | 
            -
            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."); }
         | 
| 79 | 
            -
             | 
| 80 | 
            -
            function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
         | 
| 81 | 
            -
             | 
| 82 | 
            -
            function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
         | 
| 83 | 
            -
             | 
| 84 | 
            -
            function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
         | 
| 85 | 
            -
             | 
| 86 | 
            -
            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; }
         | 
| 87 | 
            -
             | 
| 88 70 | 
             
            function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
         | 
| 89 71 |  | 
| 90 72 | 
             
            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); } }
         | 
| @@ -344,14 +326,14 @@ var ConditionComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 344 326 | 
             
              }, {
         | 
| 345 327 | 
             
                key: "reset",
         | 
| 346 328 | 
             
                value: function reset() {
         | 
| 347 | 
            -
                  var  | 
| 329 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 330 | 
            +
                  var items = [(0, _conditionRegisterer.getConditionDescriptor)(_constants2.CONDITION_NONE)];
         | 
| 348 331 |  | 
| 349 | 
            -
                   | 
| 350 | 
            -
             | 
| 351 | 
            -
             | 
| 352 | 
            -
                   | 
| 332 | 
            +
                  if (selectedColumn !== null) {
         | 
| 333 | 
            +
                    var visualIndex = selectedColumn.visualIndex;
         | 
| 334 | 
            +
                    items = (0, _constants2.default)(this.hot.getDataType(0, visualIndex, this.hot.countRows(), visualIndex));
         | 
| 335 | 
            +
                  }
         | 
| 353 336 |  | 
| 354 | 
            -
                  var items = (0, _constants2.default)(columnType);
         | 
| 355 337 | 
             
                  (0, _array.arrayEach)(this.getInputElements(), function (element) {
         | 
| 356 338 | 
             
                    return element.hide();
         | 
| 357 339 | 
             
                  });
         | 
| @@ -1,17 +1,5 @@ | |
| 1 1 | 
             
            function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
         | 
| 2 2 |  | 
| 3 | 
            -
            function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            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."); }
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            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; }
         | 
| 14 | 
            -
             | 
| 15 3 | 
             
            import "core-js/modules/es.function.name.js";
         | 
| 16 4 | 
             
            import "core-js/modules/es.string.starts-with.js";
         | 
| 17 5 | 
             
            import "core-js/modules/web.timers.js";
         | 
| @@ -28,9 +16,6 @@ import "core-js/modules/es.symbol.iterator.js"; | |
| 28 16 | 
             
            import "core-js/modules/es.array.iterator.js";
         | 
| 29 17 | 
             
            import "core-js/modules/es.string.iterator.js";
         | 
| 30 18 | 
             
            import "core-js/modules/web.dom-collections.iterator.js";
         | 
| 31 | 
            -
            import "core-js/modules/es.array.from.js";
         | 
| 32 | 
            -
            import "core-js/modules/es.array.slice.js";
         | 
| 33 | 
            -
            import "core-js/modules/es.regexp.exec.js";
         | 
| 34 19 |  | 
| 35 20 | 
             
            function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
         | 
| 36 21 |  | 
| @@ -303,14 +288,14 @@ var ConditionComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 303 288 | 
             
              }, {
         | 
| 304 289 | 
             
                key: "reset",
         | 
| 305 290 | 
             
                value: function reset() {
         | 
| 306 | 
            -
                  var  | 
| 291 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 292 | 
            +
                  var items = [getConditionDescriptor(CONDITION_NONE)];
         | 
| 307 293 |  | 
| 308 | 
            -
                   | 
| 309 | 
            -
             | 
| 310 | 
            -
             | 
| 311 | 
            -
                   | 
| 294 | 
            +
                  if (selectedColumn !== null) {
         | 
| 295 | 
            +
                    var visualIndex = selectedColumn.visualIndex;
         | 
| 296 | 
            +
                    items = getOptionsList(this.hot.getDataType(0, visualIndex, this.hot.countRows(), visualIndex));
         | 
| 297 | 
            +
                  }
         | 
| 312 298 |  | 
| 313 | 
            -
                  var items = getOptionsList(columnType);
         | 
| 314 299 | 
             
                  arrayEach(this.getInputElements(), function (element) {
         | 
| 315 300 | 
             
                    return element.hide();
         | 
| 316 301 | 
             
                  });
         | 
| @@ -308,8 +308,11 @@ var ValueComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 308 308 | 
             
                  _get(_getPrototypeOf(ValueComponent.prototype), "reset", this).call(this);
         | 
| 309 309 |  | 
| 310 310 | 
             
                  this.getMultipleSelectElement().setValue(values);
         | 
| 311 | 
            -
                  var  | 
| 312 | 
            -
             | 
| 311 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 312 | 
            +
             | 
| 313 | 
            +
                  if (selectedColumn !== null) {
         | 
| 314 | 
            +
                    this.getMultipleSelectElement().setLocale(this.hot.getCellMeta(0, selectedColumn.visualIndex).locale);
         | 
| 315 | 
            +
                  }
         | 
| 313 316 | 
             
                }
         | 
| 314 317 | 
             
                /**
         | 
| 315 318 | 
             
                 * Key down listener.
         | 
| @@ -336,9 +339,13 @@ var ValueComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 336 339 | 
             
              }, {
         | 
| 337 340 | 
             
                key: "_getColumnVisibleValues",
         | 
| 338 341 | 
             
                value: function _getColumnVisibleValues() {
         | 
| 339 | 
            -
                  var  | 
| 340 | 
            -
             | 
| 341 | 
            -
                   | 
| 342 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 343 | 
            +
             | 
| 344 | 
            +
                  if (selectedColumn === null) {
         | 
| 345 | 
            +
                    return [];
         | 
| 346 | 
            +
                  }
         | 
| 347 | 
            +
             | 
| 348 | 
            +
                  return (0, _array.arrayMap)(this.hot.getDataAtCol(selectedColumn.visualIndex), function (v) {
         | 
| 342 349 | 
             
                    return (0, _utils.toEmptyString)(v);
         | 
| 343 350 | 
             
                  });
         | 
| 344 351 | 
             
                }
         | 
| @@ -270,8 +270,11 @@ var ValueComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 270 270 | 
             
                  _get(_getPrototypeOf(ValueComponent.prototype), "reset", this).call(this);
         | 
| 271 271 |  | 
| 272 272 | 
             
                  this.getMultipleSelectElement().setValue(values);
         | 
| 273 | 
            -
                  var  | 
| 274 | 
            -
             | 
| 273 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 274 | 
            +
             | 
| 275 | 
            +
                  if (selectedColumn !== null) {
         | 
| 276 | 
            +
                    this.getMultipleSelectElement().setLocale(this.hot.getCellMeta(0, selectedColumn.visualIndex).locale);
         | 
| 277 | 
            +
                  }
         | 
| 275 278 | 
             
                }
         | 
| 276 279 | 
             
                /**
         | 
| 277 280 | 
             
                 * Key down listener.
         | 
| @@ -298,9 +301,13 @@ var ValueComponent = /*#__PURE__*/function (_BaseComponent) { | |
| 298 301 | 
             
              }, {
         | 
| 299 302 | 
             
                key: "_getColumnVisibleValues",
         | 
| 300 303 | 
             
                value: function _getColumnVisibleValues() {
         | 
| 301 | 
            -
                  var  | 
| 302 | 
            -
             | 
| 303 | 
            -
                   | 
| 304 | 
            +
                  var selectedColumn = this.hot.getPlugin('filters').getSelectedColumn();
         | 
| 305 | 
            +
             | 
| 306 | 
            +
                  if (selectedColumn === null) {
         | 
| 307 | 
            +
                    return [];
         | 
| 308 | 
            +
                  }
         | 
| 309 | 
            +
             | 
| 310 | 
            +
                  return arrayMap(this.hot.getDataAtCol(selectedColumn.visualIndex), function (v) {
         | 
| 304 311 | 
             
                    return toEmptyString(v);
         | 
| 305 312 | 
             
                  });
         | 
| 306 313 | 
             
                }
         | 
| @@ -51,6 +51,6 @@ export declare class Filters extends BasePlugin { | |
| 51 51 | 
             
              removeConditions(column: number): void;
         | 
| 52 52 | 
             
              clearConditions(column?: number): void;
         | 
| 53 53 | 
             
              filter(): void;
         | 
| 54 | 
            -
              getSelectedColumn(): number;
         | 
| 54 | 
            +
              getSelectedColumn(): { physicalIndex: number, visualIndex: number } | null;
         | 
| 55 55 | 
             
              getDataMapAtColumn(column?: number): CellLikeData[];
         | 
| 56 56 | 
             
            }
         | 
| @@ -353,7 +353,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 353 353 | 
             
                  this.components.forEach(function (component) {
         | 
| 354 354 | 
             
                    return component.show();
         | 
| 355 355 | 
             
                  });
         | 
| 356 | 
            -
                  this.registerEvents();
         | 
| 357 356 | 
             
                  this.addHook('beforeDropdownMenuSetItems', function (items) {
         | 
| 358 357 | 
             
                    return _this2.onBeforeDropdownMenuSetItems(items);
         | 
| 359 358 | 
             
                  });
         | 
| @@ -377,21 +376,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 377 376 |  | 
| 378 377 | 
             
                  _get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
         | 
| 379 378 | 
             
                }
         | 
| 380 | 
            -
                /**
         | 
| 381 | 
            -
                 * Registers the DOM listeners.
         | 
| 382 | 
            -
                 *
         | 
| 383 | 
            -
                 * @private
         | 
| 384 | 
            -
                 */
         | 
| 385 | 
            -
             | 
| 386 | 
            -
              }, {
         | 
| 387 | 
            -
                key: "registerEvents",
         | 
| 388 | 
            -
                value: function registerEvents() {
         | 
| 389 | 
            -
                  var _this3 = this;
         | 
| 390 | 
            -
             | 
| 391 | 
            -
                  this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
         | 
| 392 | 
            -
                    return _this3.onTableClick(event);
         | 
| 393 | 
            -
                  });
         | 
| 394 | 
            -
                }
         | 
| 395 379 | 
             
                /**
         | 
| 396 380 | 
             
                 * Disables the plugin functionality for this Handsontable instance.
         | 
| 397 381 | 
             
                 */
         | 
| @@ -399,7 +383,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 399 383 | 
             
              }, {
         | 
| 400 384 | 
             
                key: "disablePlugin",
         | 
| 401 385 | 
             
                value: function disablePlugin() {
         | 
| 402 | 
            -
                  var  | 
| 386 | 
            +
                  var _this3 = this;
         | 
| 403 387 |  | 
| 404 388 | 
             
                  if (this.enabled) {
         | 
| 405 389 | 
             
                    var _this$dropdownMenuPlu;
         | 
| @@ -411,7 +395,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 411 395 | 
             
                    this.components.forEach(function (component, key) {
         | 
| 412 396 | 
             
                      component.destroy();
         | 
| 413 397 |  | 
| 414 | 
            -
                       | 
| 398 | 
            +
                      _this3.components.set(key, null);
         | 
| 415 399 | 
             
                    });
         | 
| 416 400 | 
             
                    this.conditionCollection.destroy();
         | 
| 417 401 | 
             
                    this.conditionCollection = null;
         | 
| @@ -544,7 +528,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 544 528 | 
             
              }, {
         | 
| 545 529 | 
             
                key: "filter",
         | 
| 546 530 | 
             
                value: function filter() {
         | 
| 547 | 
            -
                  var  | 
| 531 | 
            +
                  var _this4 = this;
         | 
| 548 532 |  | 
| 549 533 | 
             
                  var dataFilter = this._createDataFilter();
         | 
| 550 534 |  | 
| @@ -557,19 +541,19 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 557 541 | 
             
                    if (needToFilter) {
         | 
| 558 542 | 
             
                      var trimmedRows = [];
         | 
| 559 543 | 
             
                      this.hot.batchExecution(function () {
         | 
| 560 | 
            -
                         | 
| 544 | 
            +
                        _this4.filtersRowsMap.clear();
         | 
| 561 545 |  | 
| 562 546 | 
             
                        visibleVisualRows = (0, _array.arrayMap)(dataFilter.filter(), function (rowData) {
         | 
| 563 547 | 
             
                          return rowData.meta.visualRow;
         | 
| 564 548 | 
             
                        });
         | 
| 565 549 | 
             
                        var visibleVisualRowsAssertion = (0, _utils.createArrayAssertion)(visibleVisualRows);
         | 
| 566 | 
            -
                        (0, _number.rangeEach)( | 
| 550 | 
            +
                        (0, _number.rangeEach)(_this4.hot.countSourceRows() - 1, function (row) {
         | 
| 567 551 | 
             
                          if (!visibleVisualRowsAssertion(row)) {
         | 
| 568 552 | 
             
                            trimmedRows.push(row);
         | 
| 569 553 | 
             
                          }
         | 
| 570 554 | 
             
                        });
         | 
| 571 555 | 
             
                        (0, _array.arrayEach)(trimmedRows, function (physicalRow) {
         | 
| 572 | 
            -
                           | 
| 556 | 
            +
                          _this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
         | 
| 573 557 | 
             
                        });
         | 
| 574 558 | 
             
                      }, true);
         | 
| 575 559 |  | 
| @@ -589,14 +573,26 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 589 573 | 
             
                /**
         | 
| 590 574 | 
             
                 * Gets last selected column index.
         | 
| 591 575 | 
             
                 *
         | 
| 592 | 
            -
                 * @returns { | 
| 593 | 
            -
                 *  | 
| 576 | 
            +
                 * @returns {{visualIndex: number, physicalIndex: number} | null} Returns `null` when a column is
         | 
| 577 | 
            +
                 * not selected. Otherwise, returns an object with `visualIndex` and `physicalIndex` properties containing
         | 
| 578 | 
            +
                 * the index of the column.
         | 
| 594 579 | 
             
                 */
         | 
| 595 580 |  | 
| 596 581 | 
             
              }, {
         | 
| 597 582 | 
             
                key: "getSelectedColumn",
         | 
| 598 583 | 
             
                value: function getSelectedColumn() {
         | 
| 599 | 
            -
                   | 
| 584 | 
            +
                  var _this$hot$getSelected;
         | 
| 585 | 
            +
             | 
| 586 | 
            +
                  var highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
         | 
| 587 | 
            +
             | 
| 588 | 
            +
                  if (!highlight) {
         | 
| 589 | 
            +
                    return null;
         | 
| 590 | 
            +
                  }
         | 
| 591 | 
            +
             | 
| 592 | 
            +
                  return {
         | 
| 593 | 
            +
                    visualIndex: highlight.col,
         | 
| 594 | 
            +
                    physicalIndex: this.hot.toPhysicalColumn(highlight.col)
         | 
| 595 | 
            +
                  };
         | 
| 600 596 | 
             
                }
         | 
| 601 597 | 
             
                /**
         | 
| 602 598 | 
             
                 * Clears column selection.
         | 
| @@ -607,12 +603,10 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 607 603 | 
             
              }, {
         | 
| 608 604 | 
             
                key: "clearColumnSelection",
         | 
| 609 605 | 
             
                value: function clearColumnSelection() {
         | 
| 610 | 
            -
                  var  | 
| 606 | 
            +
                  var selectedColumn = this.getSelectedColumn();
         | 
| 611 607 |  | 
| 612 | 
            -
                   | 
| 613 | 
            -
             | 
| 614 | 
            -
                  if (coords !== void 0) {
         | 
| 615 | 
            -
                    this.hot.selectCell(coords.row, coords.col);
         | 
| 608 | 
            +
                  if (selectedColumn !== null) {
         | 
| 609 | 
            +
                    this.hot.selectCell(0, selectedColumn.visualIndex);
         | 
| 616 610 | 
             
                  }
         | 
| 617 611 | 
             
                }
         | 
| 618 612 | 
             
                /**
         | 
| @@ -625,24 +619,24 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 625 619 | 
             
              }, {
         | 
| 626 620 | 
             
                key: "getDataMapAtColumn",
         | 
| 627 621 | 
             
                value: function getDataMapAtColumn(column) {
         | 
| 628 | 
            -
                  var  | 
| 622 | 
            +
                  var _this5 = this;
         | 
| 629 623 |  | 
| 630 624 | 
             
                  var visualColumn = this.hot.toVisualColumn(column);
         | 
| 631 625 | 
             
                  var data = [];
         | 
| 632 626 | 
             
                  (0, _array.arrayEach)(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
         | 
| 633 | 
            -
                    var  | 
| 634 | 
            -
             | 
| 635 | 
            -
                    var  | 
| 636 | 
            -
                        row =  | 
| 637 | 
            -
                        col =  | 
| 638 | 
            -
                        visualCol =  | 
| 639 | 
            -
                        visualRow =  | 
| 640 | 
            -
                        type =  | 
| 641 | 
            -
                        instance =  | 
| 642 | 
            -
                        dateFormat =  | 
| 643 | 
            -
                        locale =  | 
| 644 | 
            -
             | 
| 645 | 
            -
                    var dataValue = ( | 
| 627 | 
            +
                    var _this5$hot$getDataAtC;
         | 
| 628 | 
            +
             | 
| 629 | 
            +
                    var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
         | 
| 630 | 
            +
                        row = _this5$hot$getCellMet.row,
         | 
| 631 | 
            +
                        col = _this5$hot$getCellMet.col,
         | 
| 632 | 
            +
                        visualCol = _this5$hot$getCellMet.visualCol,
         | 
| 633 | 
            +
                        visualRow = _this5$hot$getCellMet.visualRow,
         | 
| 634 | 
            +
                        type = _this5$hot$getCellMet.type,
         | 
| 635 | 
            +
                        instance = _this5$hot$getCellMet.instance,
         | 
| 636 | 
            +
                        dateFormat = _this5$hot$getCellMet.dateFormat,
         | 
| 637 | 
            +
                        locale = _this5$hot$getCellMet.locale;
         | 
| 638 | 
            +
             | 
| 639 | 
            +
                    var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
         | 
| 646 640 | 
             
                    data.push({
         | 
| 647 641 | 
             
                      meta: {
         | 
| 648 642 | 
             
                        row: row,
         | 
| @@ -669,17 +663,17 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 669 663 | 
             
              }, {
         | 
| 670 664 | 
             
                key: "onAfterChange",
         | 
| 671 665 | 
             
                value: function onAfterChange(changes) {
         | 
| 672 | 
            -
                  var  | 
| 666 | 
            +
                  var _this6 = this;
         | 
| 673 667 |  | 
| 674 668 | 
             
                  if (changes) {
         | 
| 675 669 | 
             
                    (0, _array.arrayEach)(changes, function (change) {
         | 
| 676 670 | 
             
                      var _change = _slicedToArray(change, 2),
         | 
| 677 671 | 
             
                          prop = _change[1];
         | 
| 678 672 |  | 
| 679 | 
            -
                      var columnIndex =  | 
| 673 | 
            +
                      var columnIndex = _this6.hot.propToCol(prop);
         | 
| 680 674 |  | 
| 681 | 
            -
                      if ( | 
| 682 | 
            -
                         | 
| 675 | 
            +
                      if (_this6.conditionCollection.hasConditions(columnIndex)) {
         | 
| 676 | 
            +
                        _this6.updateValueComponentCondition(columnIndex);
         | 
| 683 677 | 
             
                      }
         | 
| 684 678 | 
             
                    });
         | 
| 685 679 | 
             
                  }
         | 
| @@ -752,11 +746,11 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 752 746 | 
             
              }, {
         | 
| 753 747 | 
             
                key: "onBeforeDropdownMenuSetItems",
         | 
| 754 748 | 
             
                value: function onBeforeDropdownMenuSetItems() {
         | 
| 755 | 
            -
                  var  | 
| 749 | 
            +
                  var _this7 = this;
         | 
| 756 750 |  | 
| 757 751 | 
             
                  if (this.dropdownMenuPlugin) {
         | 
| 758 752 | 
             
                    this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
         | 
| 759 | 
            -
                       | 
| 753 | 
            +
                      _this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
         | 
| 760 754 | 
             
                        hiddenRows: true
         | 
| 761 755 | 
             
                      });
         | 
| 762 756 | 
             
                    });
         | 
| @@ -815,10 +809,19 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 815 809 | 
             
              }, {
         | 
| 816 810 | 
             
                key: "onActionBarSubmit",
         | 
| 817 811 | 
             
                value: function onActionBarSubmit(submitType) {
         | 
| 812 | 
            +
                  var _this$dropdownMenuPlu3;
         | 
| 813 | 
            +
             | 
| 818 814 | 
             
                  if (submitType === 'accept') {
         | 
| 819 | 
            -
                    var  | 
| 815 | 
            +
                    var selectedColumn = this.getSelectedColumn();
         | 
| 820 816 |  | 
| 821 | 
            -
                     | 
| 817 | 
            +
                    if (selectedColumn === null) {
         | 
| 818 | 
            +
                      var _this$dropdownMenuPlu2;
         | 
| 819 | 
            +
             | 
| 820 | 
            +
                      (_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu2 === void 0 ? void 0 : _this$dropdownMenuPlu2.close();
         | 
| 821 | 
            +
                      return;
         | 
| 822 | 
            +
                    }
         | 
| 823 | 
            +
             | 
| 824 | 
            +
                    var physicalIndex = selectedColumn.physicalIndex;
         | 
| 822 825 | 
             
                    var byConditionState1 = this.components.get('filter_by_condition').getState();
         | 
| 823 826 | 
             
                    var byConditionState2 = this.components.get('filter_by_condition2').getState();
         | 
| 824 827 | 
             
                    var byValueState = this.components.get('filter_by_value').getState();
         | 
| @@ -852,9 +855,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 852 855 | 
             
                    this.filter();
         | 
| 853 856 | 
             
                  }
         | 
| 854 857 |  | 
| 855 | 
            -
                   | 
| 856 | 
            -
                    this.dropdownMenuPlugin.close();
         | 
| 857 | 
            -
                  }
         | 
| 858 | 
            +
                  (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
         | 
| 858 859 | 
             
                }
         | 
| 859 860 | 
             
                /**
         | 
| 860 861 | 
             
                 * On component change listener.
         | 
| @@ -939,27 +940,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 939 940 | 
             
                    (0, _element.removeClass)(TH, 'htFiltersActive');
         | 
| 940 941 | 
             
                  }
         | 
| 941 942 | 
             
                }
         | 
| 942 | 
            -
                /**
         | 
| 943 | 
            -
                 * On table click listener.
         | 
| 944 | 
            -
                 *
         | 
| 945 | 
            -
                 * @private
         | 
| 946 | 
            -
                 * @param {Event} event DOM Event.
         | 
| 947 | 
            -
                 */
         | 
| 948 | 
            -
             | 
| 949 | 
            -
              }, {
         | 
| 950 | 
            -
                key: "onTableClick",
         | 
| 951 | 
            -
                value: function onTableClick(event) {
         | 
| 952 | 
            -
                  var th = (0, _element.closest)(event.target, 'TH');
         | 
| 953 | 
            -
             | 
| 954 | 
            -
                  if (th) {
         | 
| 955 | 
            -
                    var visualIndex = this.hot.getCoords(th).col;
         | 
| 956 | 
            -
                    var physicalIndex = this.hot.toPhysicalColumn(visualIndex);
         | 
| 957 | 
            -
                    this.lastSelectedColumn = {
         | 
| 958 | 
            -
                      visualIndex: visualIndex,
         | 
| 959 | 
            -
                      physicalIndex: physicalIndex
         | 
| 960 | 
            -
                    };
         | 
| 961 | 
            -
                  }
         | 
| 962 | 
            -
                }
         | 
| 963 943 | 
             
                /**
         | 
| 964 944 | 
             
                 * Creates DataFilter instance based on condition collection.
         | 
| 965 945 | 
             
                 *
         | 
| @@ -971,11 +951,11 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 971 951 | 
             
              }, {
         | 
| 972 952 | 
             
                key: "_createDataFilter",
         | 
| 973 953 | 
             
                value: function _createDataFilter() {
         | 
| 974 | 
            -
                  var  | 
| 954 | 
            +
                  var _this8 = this;
         | 
| 975 955 |  | 
| 976 956 | 
             
                  var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
         | 
| 977 957 | 
             
                  return new _dataFilter.default(conditionCollection, function (physicalColumn) {
         | 
| 978 | 
            -
                    return  | 
| 958 | 
            +
                    return _this8.getDataMapAtColumn(physicalColumn);
         | 
| 979 959 | 
             
                  });
         | 
| 980 960 | 
             
                }
         | 
| 981 961 | 
             
                /**
         | 
| @@ -990,9 +970,9 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 990 970 | 
             
              }, {
         | 
| 991 971 | 
             
                key: "updateComponents",
         | 
| 992 972 | 
             
                value: function updateComponents(conditionsState) {
         | 
| 993 | 
            -
                  var _this$ | 
| 973 | 
            +
                  var _this$dropdownMenuPlu4;
         | 
| 994 974 |  | 
| 995 | 
            -
                  if (!((_this$ | 
| 975 | 
            +
                  if (!((_this$dropdownMenuPlu4 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu4 !== void 0 && _this$dropdownMenuPlu4.enabled)) {
         | 
| 996 976 | 
             
                    return;
         | 
| 997 977 | 
             
                  }
         | 
| 998 978 |  | 
| @@ -1122,14 +1102,14 @@ var Filters = /*#__PURE__*/function (_BasePlugin) { | |
| 1122 1102 | 
             
              }, {
         | 
| 1123 1103 | 
             
                key: "destroy",
         | 
| 1124 1104 | 
             
                value: function destroy() {
         | 
| 1125 | 
            -
                  var  | 
| 1105 | 
            +
                  var _this9 = this;
         | 
| 1126 1106 |  | 
| 1127 1107 | 
             
                  if (this.enabled) {
         | 
| 1128 1108 | 
             
                    this.components.forEach(function (component, key) {
         | 
| 1129 1109 | 
             
                      if (component !== null) {
         | 
| 1130 1110 | 
             
                        component.destroy();
         | 
| 1131 1111 |  | 
| 1132 | 
            -
                         | 
| 1112 | 
            +
                        _this9.components.set(key, null);
         | 
| 1133 1113 | 
             
                      }
         | 
| 1134 1114 | 
             
                    });
         | 
| 1135 1115 | 
             
                    this.conditionCollection.destroy();
         |