handsontable 0.0.0-next-e54c3d6-20231026 → 0.0.0-next-42d5bd7-20231027
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/walkontable/src/renderer/columnHeaders.js +3 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +4 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +4 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +1 -1
- package/core.mjs +1 -1
- package/dist/handsontable.css +45 -63
- package/dist/handsontable.full.css +45 -63
- package/dist/handsontable.full.js +253 -24
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +105 -105
- package/dist/handsontable.js +253 -24
- package/dist/handsontable.min.css +5 -5
- package/dist/handsontable.min.js +19 -19
- package/dist/languages/all.js +24 -2
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +12 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +12 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/helpers/a11y.js +2 -0
- package/helpers/a11y.mjs +1 -0
- package/helpers/dom/element.js +29 -0
- package/helpers/dom/element.mjs +28 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/constants.js +27 -1
- package/i18n/constants.mjs +14 -1
- package/i18n/languages/en-US.js +12 -1
- package/i18n/languages/en-US.mjs +12 -1
- package/i18n/languages/pl-PL.js +12 -1
- package/i18n/languages/pl-PL.mjs +12 -1
- package/languages/all.js +24 -2
- package/languages/en-US.js +12 -1
- package/languages/en-US.mjs +12 -1
- package/languages/index.js +24 -2
- package/languages/pl-PL.js +12 -1
- package/languages/pl-PL.mjs +12 -1
- package/package.json +1 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +3 -2
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -3
- package/plugins/columnSorting/columnSorting.js +29 -3
- package/plugins/columnSorting/columnSorting.mjs +31 -5
- package/plugins/contextMenu/menu/menuItemRenderer.js +12 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +14 -2
- package/plugins/dropdownMenu/dropdownMenu.js +2 -1
- package/plugins/dropdownMenu/dropdownMenu.mjs +3 -2
- package/plugins/filters/ui/input.js +0 -3
- package/plugins/filters/ui/input.mjs +0 -3
- package/plugins/filters/ui/select.js +6 -0
- package/plugins/filters/ui/select.mjs +6 -0
- package/plugins/hiddenColumns/hiddenColumns.js +48 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +47 -2
- package/plugins/hiddenRows/hiddenRows.js +48 -3
- package/plugins/hiddenRows/hiddenRows.mjs +47 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +21 -0
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +22 -1
- package/plugins/nestedRows/nestedRows.js +2 -1
- package/plugins/nestedRows/nestedRows.mjs +2 -1
- package/plugins/nestedRows/ui/headers.js +3 -3
- package/plugins/nestedRows/ui/headers.mjs +4 -4
package/dist/handsontable.js
CHANGED
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 0.0.0-next-
|
29
|
-
* Release date: 31/08/2023 (built at
|
28
|
+
* Version: 0.0.0-next-42d5bd7-20231027
|
29
|
+
* Release date: 31/08/2023 (built at 27/10/2023 07:59:06)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -105,8 +105,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
105
105
|
Handsontable.CellCoords = _src.CellCoords;
|
106
106
|
Handsontable.CellRange = _src.CellRange;
|
107
107
|
Handsontable.packageName = 'handsontable';
|
108
|
-
Handsontable.buildDate = "
|
109
|
-
Handsontable.version = "0.0.0-next-
|
108
|
+
Handsontable.buildDate = "27/10/2023 07:59:06";
|
109
|
+
Handsontable.version = "0.0.0-next-42d5bd7-20231027";
|
110
110
|
Handsontable.languages = {
|
111
111
|
dictionaryKeys: _registry.dictionaryKeys,
|
112
112
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -4568,7 +4568,7 @@ function Core(rootElement, userSettings) {
|
|
4568
4568
|
* @function getTranslatedPhrase
|
4569
4569
|
* @since 0.35.0
|
4570
4570
|
* @param {string} dictionaryKey Constant which is dictionary key.
|
4571
|
-
* @param {*} extraArguments Arguments which will be handled by formatters.
|
4571
|
+
* @param {*} [extraArguments] Arguments which will be handled by formatters.
|
4572
4572
|
* @returns {string}
|
4573
4573
|
*/
|
4574
4574
|
this.getTranslatedPhrase = function (dictionaryKey, extraArguments) {
|
@@ -7094,6 +7094,7 @@ module.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'strin
|
|
7094
7094
|
exports.__esModule = true;
|
7095
7095
|
exports.addClass = addClass;
|
7096
7096
|
exports.addEvent = addEvent;
|
7097
|
+
exports.appendElement = appendElement;
|
7097
7098
|
exports.clearTextSelection = clearTextSelection;
|
7098
7099
|
exports.closest = closest;
|
7099
7100
|
exports.closestDown = closestDown;
|
@@ -8229,6 +8230,34 @@ function runWithSelectedContendEditableElement(element, callback) {
|
|
8229
8230
|
removeContentEditableFromElementAndDeselect(element, invisibleSelection);
|
8230
8231
|
}
|
8231
8232
|
|
8233
|
+
/**
|
8234
|
+
* Creates a new DOM element and appends it to the parent element with the provided class name(s) and attributes.
|
8235
|
+
*
|
8236
|
+
* @param {HTMLElement} parentElement The parent element.
|
8237
|
+
* @param {object} properties The properties object.
|
8238
|
+
* @param {string} properties.tagName The type of the new element.
|
8239
|
+
* @param {string|string[]} properties.className Class name as string or array of strings.
|
8240
|
+
* @param {Array[]} properties.attributes An array containing the attributes to be added. Each element of the array
|
8241
|
+
* should be an array in a form of `[attributeName, attributeValue]`.
|
8242
|
+
* @returns {HTMLElement} The created div element.
|
8243
|
+
*/
|
8244
|
+
function appendElement(parentElement, _ref) {
|
8245
|
+
let {
|
8246
|
+
tagName,
|
8247
|
+
className,
|
8248
|
+
attributes
|
8249
|
+
} = _ref;
|
8250
|
+
const element = parentElement.ownerDocument.createElement(tagName);
|
8251
|
+
if (className) {
|
8252
|
+
addClass(element, className);
|
8253
|
+
}
|
8254
|
+
if (attributes && attributes.length) {
|
8255
|
+
setAttribute(element, attributes);
|
8256
|
+
}
|
8257
|
+
parentElement.appendChild(element);
|
8258
|
+
return element;
|
8259
|
+
}
|
8260
|
+
|
8232
8261
|
/***/ }),
|
8233
8262
|
/* 108 */
|
8234
8263
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
@@ -8494,7 +8523,7 @@ const domMessages = {
|
|
8494
8523
|
function _injectProductInfo(key, element) {
|
8495
8524
|
const hasValidType = !isEmpty(key);
|
8496
8525
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
8497
|
-
const hotVersion = "0.0.0-next-
|
8526
|
+
const hotVersion = "0.0.0-next-42d5bd7-20231027";
|
8498
8527
|
let keyValidityDate;
|
8499
8528
|
let consoleMessageState = 'invalid';
|
8500
8529
|
let domMessageState = 'invalid';
|
@@ -8976,6 +9005,8 @@ const A11Y_TEXT = () => ['type', 'text'];
|
|
8976
9005
|
exports.A11Y_TEXT = A11Y_TEXT;
|
8977
9006
|
const A11Y_LABEL = val => ['aria-label', val];
|
8978
9007
|
exports.A11Y_LABEL = A11Y_LABEL;
|
9008
|
+
const A11Y_DESCRIPTION = val => ['aria-description', val];
|
9009
|
+
exports.A11Y_DESCRIPTION = A11Y_DESCRIPTION;
|
8979
9010
|
const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
|
8980
9011
|
exports.A11Y_HIDDEN = A11Y_HIDDEN;
|
8981
9012
|
const A11Y_DISABLED = () => ['aria-disabled', 'true'];
|
@@ -22228,6 +22259,9 @@ class RowHeadersRenderer extends _base.default {
|
|
22228
22259
|
const TH = orderView.getCurrentNode();
|
22229
22260
|
TH.className = '';
|
22230
22261
|
TH.removeAttribute('style');
|
22262
|
+
|
22263
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
22264
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
22231
22265
|
if (this.table.isAriaEnabled()) {
|
22232
22266
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_ROWHEADER)(), (0, _a11y.A11Y_SCOPE_ROW)(), (0, _a11y.A11Y_COLINDEX)(visibleColumnIndex + 1), (0, _a11y.A11Y_TABINDEX)(-1)]);
|
22233
22267
|
}
|
@@ -22945,6 +22979,9 @@ class ColumnHeadersRenderer extends _base.default {
|
|
22945
22979
|
const TH = TR.childNodes[renderedColumnIndex + rowHeadersCount];
|
22946
22980
|
TH.className = '';
|
22947
22981
|
TH.removeAttribute('style');
|
22982
|
+
|
22983
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
22984
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
22948
22985
|
if (this.table.isAriaEnabled()) {
|
22949
22986
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1), ...(renderedColumnIndex < 0 ? [(0, _a11y.A11Y_PRESENTATION)()] : [(0, _a11y.A11Y_COLUMNHEADER)(), (0, _a11y.A11Y_SCOPE_COL)()])]);
|
22950
22987
|
}
|
@@ -32192,7 +32229,18 @@ const dictionary = {
|
|
32192
32229
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
32193
32230
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
32194
32231
|
[C.CHECKBOX_CHECKED]: 'Checked',
|
32195
|
-
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
32232
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked',
|
32233
|
+
[C.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]: 'Press ENTER to expand column.',
|
32234
|
+
[C.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]: 'Press ENTER to collapse column.',
|
32235
|
+
[C.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]: 'Press ENTER to change sorting.',
|
32236
|
+
[C.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]: 'Multi-column sorting order:',
|
32237
|
+
[C.COLUMN_HEADER_LABEL_OPEN_MENU]: 'Press CTRL/CMD+ENTER to open menu.',
|
32238
|
+
[C.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]: 'The next column is hidden.',
|
32239
|
+
[C.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]: 'The previous column is hidden.',
|
32240
|
+
[C.ROW_HEADER_DESCRIPTION_EXPAND_ROW]: 'Press ENTER to expand row.',
|
32241
|
+
[C.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]: 'Press ENTER to collapse row.',
|
32242
|
+
[C.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]: 'The next row is hidden.',
|
32243
|
+
[C.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]: 'The previous row is hidden.'
|
32196
32244
|
};
|
32197
32245
|
var _default = dictionary;
|
32198
32246
|
exports["default"] = _default;
|
@@ -32376,6 +32424,32 @@ const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
|
32376
32424
|
exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
|
32377
32425
|
const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
32378
32426
|
exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
|
32427
|
+
const COLUMN_HEADER_NAMESPACE = 'ColumnHeader:';
|
32428
|
+
exports.COLUMN_HEADER_NAMESPACE = COLUMN_HEADER_NAMESPACE;
|
32429
|
+
const COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.expandColumn`;
|
32430
|
+
exports.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN;
|
32431
|
+
const COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.collapseColumn`;
|
32432
|
+
exports.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN;
|
32433
|
+
const COLUMN_HEADER_DESCRIPTION_SORT_ROWS = `${COLUMN_HEADER_NAMESPACE}description.sortRows`;
|
32434
|
+
exports.COLUMN_HEADER_DESCRIPTION_SORT_ROWS = COLUMN_HEADER_DESCRIPTION_SORT_ROWS;
|
32435
|
+
const COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = `${COLUMN_HEADER_NAMESPACE}label.multiColumnSortOrder`;
|
32436
|
+
exports.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER;
|
32437
|
+
const COLUMN_HEADER_LABEL_OPEN_MENU = `${COLUMN_HEADER_NAMESPACE}label.openMenu`;
|
32438
|
+
exports.COLUMN_HEADER_LABEL_OPEN_MENU = COLUMN_HEADER_LABEL_OPEN_MENU;
|
32439
|
+
const COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.beforeHiddenColumn`;
|
32440
|
+
exports.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN;
|
32441
|
+
const COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.afterHiddenColumn`;
|
32442
|
+
exports.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN;
|
32443
|
+
const ROW_HEADER_NAMESPACE = 'RowHeader:';
|
32444
|
+
exports.ROW_HEADER_NAMESPACE = ROW_HEADER_NAMESPACE;
|
32445
|
+
const ROW_HEADER_DESCRIPTION_EXPAND_ROW = `${ROW_HEADER_NAMESPACE}description.expandRow`;
|
32446
|
+
exports.ROW_HEADER_DESCRIPTION_EXPAND_ROW = ROW_HEADER_DESCRIPTION_EXPAND_ROW;
|
32447
|
+
const ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = `${ROW_HEADER_NAMESPACE}description.collapseRow`;
|
32448
|
+
exports.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = ROW_HEADER_DESCRIPTION_COLLAPSE_ROW;
|
32449
|
+
const ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.beforeHiddenRow`;
|
32450
|
+
exports.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW;
|
32451
|
+
const ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.afterHiddenRow`;
|
32452
|
+
exports.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = ROW_HEADER_LABEL_AFTER_HIDDEN_ROW;
|
32379
32453
|
|
32380
32454
|
/***/ }),
|
32381
32455
|
/* 251 */
|
@@ -53112,6 +53186,7 @@ var _element = __webpack_require__(107);
|
|
53112
53186
|
var _eventManager = _interopRequireDefault(__webpack_require__(127));
|
53113
53187
|
var _event = __webpack_require__(122);
|
53114
53188
|
var _a11y = __webpack_require__(114);
|
53189
|
+
var _constants = __webpack_require__(250);
|
53115
53190
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
53116
53191
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
53117
53192
|
const PLUGIN_KEY = 'collapsibleColumns';
|
@@ -53612,7 +53687,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
53612
53687
|
|
53613
53688
|
// Add ARIA tags
|
53614
53689
|
if (isAriaTagsEnabled) {
|
53615
|
-
(0, _element.setAttribute)(TH,
|
53690
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
|
53616
53691
|
}
|
53617
53692
|
} else {
|
53618
53693
|
(0, _element.addClass)(collapsibleElement, 'expanded');
|
@@ -53620,7 +53695,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
53620
53695
|
|
53621
53696
|
// Add ARIA tags
|
53622
53697
|
if (isAriaTagsEnabled) {
|
53623
|
-
(0, _element.setAttribute)(TH,
|
53698
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
|
53624
53699
|
}
|
53625
53700
|
}
|
53626
53701
|
if (isAriaTagsEnabled) {
|
@@ -53725,6 +53800,7 @@ var _domHelpers = __webpack_require__(447);
|
|
53725
53800
|
var _rootComparator = __webpack_require__(448);
|
53726
53801
|
var _sortService = __webpack_require__(449);
|
53727
53802
|
var _a11y = __webpack_require__(114);
|
53803
|
+
var _constants = __webpack_require__(250);
|
53728
53804
|
const PLUGIN_KEY = 'columnSorting';
|
53729
53805
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
53730
53806
|
const PLUGIN_PRIORITY = 50;
|
@@ -53734,6 +53810,7 @@ exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
|
|
53734
53810
|
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
53735
53811
|
exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
|
53736
53812
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
53813
|
+
const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
|
53737
53814
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
53738
53815
|
_pluginHooks.default.getSingleton().register('beforeColumnSort');
|
53739
53816
|
_pluginHooks.default.getSingleton().register('afterColumnSort');
|
@@ -54352,12 +54429,14 @@ class ColumnSorting extends _base.BasePlugin {
|
|
54352
54429
|
return;
|
54353
54430
|
}
|
54354
54431
|
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
54432
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
54355
54433
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
54356
54434
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
54435
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
54357
54436
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
54358
|
-
|
54359
|
-
|
54360
|
-
(0, _element.setAttribute)(TH,
|
54437
|
+
this.updateSortingIndicator(column, headerSpanElement);
|
54438
|
+
if (ariaTags) {
|
54439
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))]);
|
54361
54440
|
}
|
54362
54441
|
}
|
54363
54442
|
|
@@ -54378,6 +54457,28 @@ class ColumnSorting extends _base.BasePlugin {
|
|
54378
54457
|
}
|
54379
54458
|
}
|
54380
54459
|
|
54460
|
+
/**
|
54461
|
+
* Update sorting indicator.
|
54462
|
+
*
|
54463
|
+
* @private
|
54464
|
+
* @param {number} column Visual column index.
|
54465
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
54466
|
+
*/
|
54467
|
+
updateSortingIndicator(column, headerSpanElement) {
|
54468
|
+
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
54469
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
54470
|
+
const showSortIndicator = pluginSettingsForColumn.indicator;
|
54471
|
+
const isColumnSorted = this.columnStatesManager.isColumnSorted(column);
|
54472
|
+
const indicatorElement = headerSpanElement.querySelector(`.${SORTING_INDICATOR_CLASS}`);
|
54473
|
+
if (showSortIndicator && isColumnSorted && !indicatorElement) {
|
54474
|
+
(0, _element.appendElement)(headerSpanElement, {
|
54475
|
+
tagName: 'div',
|
54476
|
+
className: SORTING_INDICATOR_CLASS,
|
54477
|
+
attributes: ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : []
|
54478
|
+
});
|
54479
|
+
}
|
54480
|
+
}
|
54481
|
+
|
54381
54482
|
/**
|
54382
54483
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
54383
54484
|
* for `updateSettings` in specific situations.
|
@@ -60905,6 +61006,8 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
|
|
60905
61006
|
var _utils = __webpack_require__(495);
|
60906
61007
|
var _element = __webpack_require__(107);
|
60907
61008
|
var _a11y = __webpack_require__(114);
|
61009
|
+
const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
|
61010
|
+
|
60908
61011
|
/**
|
60909
61012
|
* Creates the menu renderer function.
|
60910
61013
|
*
|
@@ -60937,6 +61040,16 @@ function createMenuItemRenderer(mainTableHot) {
|
|
60937
61040
|
const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
|
60938
61041
|
(0, _element.setAttribute)(TD, [(0, _a11y.A11Y_MENU_ITEM)(), (0, _a11y.A11Y_LABEL)(itemValue), ...(isFocusable ? [(0, _a11y.A11Y_TABINDEX)(-1)] : []), ...((0, _utils.isItemDisabled)(item, mainTableHot) ? [(0, _a11y.A11Y_DISABLED)()] : []), ...((0, _utils.isItemSubMenu)(item) ? [(0, _a11y.A11Y_EXPANDED)(false)] : [])]);
|
60939
61042
|
}
|
61043
|
+
if ((0, _utils.isItemSubMenu)(item)) {
|
61044
|
+
const submenuIndicatorElement = TD.querySelector('.submenuIndicator');
|
61045
|
+
if (!submenuIndicatorElement) {
|
61046
|
+
(0, _element.appendElement)(TD, {
|
61047
|
+
tagName: 'div',
|
61048
|
+
attributes: mainTableHot.getSettings().ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : [],
|
61049
|
+
className: SUBMENU_INDICATOR_CLASSNAME
|
61050
|
+
});
|
61051
|
+
}
|
61052
|
+
}
|
60940
61053
|
TD.className = '';
|
60941
61054
|
TD.appendChild(wrapper);
|
60942
61055
|
if ((0, _utils.isItemSeparator)(item)) {
|
@@ -64469,6 +64582,7 @@ var _menu = __webpack_require__(489);
|
|
64469
64582
|
var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
64470
64583
|
var _predefinedItems = __webpack_require__(464);
|
64471
64584
|
__webpack_require__(526);
|
64585
|
+
var _constants = __webpack_require__(250);
|
64472
64586
|
var _a11y = __webpack_require__(114);
|
64473
64587
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
64474
64588
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -64894,7 +65008,7 @@ class DropdownMenu extends _base.BasePlugin {
|
|
64894
65008
|
button.type = 'button';
|
64895
65009
|
button.tabIndex = -1;
|
64896
65010
|
if (this.hot.getSettings().ariaTags) {
|
64897
|
-
(0, _element.setAttribute)(button, [(0, _a11y.
|
65011
|
+
(0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
|
64898
65012
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
|
64899
65013
|
}
|
64900
65014
|
|
@@ -68194,11 +68308,8 @@ class InputUI extends _base.BaseUI {
|
|
68194
68308
|
*/
|
68195
68309
|
build() {
|
68196
68310
|
super.build();
|
68197
|
-
const icon = this.hot.rootDocument.createElement('div');
|
68198
68311
|
(0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
|
68199
68312
|
(0, _element.addClass)(this._element, 'htUIInput');
|
68200
|
-
(0, _element.addClass)(icon, 'htUIInputIcon');
|
68201
|
-
this._element.appendChild(icon);
|
68202
68313
|
this.update();
|
68203
68314
|
}
|
68204
68315
|
|
@@ -68464,9 +68575,11 @@ var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(129));
|
|
68464
68575
|
var _menu2 = __webpack_require__(489);
|
68465
68576
|
var _object = __webpack_require__(117);
|
68466
68577
|
var _array = __webpack_require__(113);
|
68578
|
+
var _element = __webpack_require__(107);
|
68467
68579
|
var C = _interopRequireWildcard(__webpack_require__(250));
|
68468
68580
|
var _predefinedItems = __webpack_require__(464);
|
68469
68581
|
var _base = __webpack_require__(568);
|
68582
|
+
var _a11y = __webpack_require__(114);
|
68470
68583
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
68471
68584
|
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; }
|
68472
68585
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
@@ -68623,6 +68736,10 @@ class SelectUI extends _base.BaseUI {
|
|
68623
68736
|
(0, _classPrivateFieldSet2.default)(this, _caption, caption);
|
68624
68737
|
(0, _classPrivateFieldSet2.default)(this, _captionElement, caption.element);
|
68625
68738
|
(0, _classPrivateFieldSet2.default)(this, _dropdown, dropdown);
|
68739
|
+
if (this.hot.getSettings().ariaTags) {
|
68740
|
+
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
68741
|
+
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
68742
|
+
}
|
68626
68743
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
68627
68744
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
68628
68745
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
@@ -72903,9 +73020,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
|
72903
73020
|
var _hideColumn = _interopRequireDefault(__webpack_require__(591));
|
72904
73021
|
var _showColumn = _interopRequireDefault(__webpack_require__(592));
|
72905
73022
|
var _translations = __webpack_require__(226);
|
73023
|
+
var _a11y = __webpack_require__(114);
|
73024
|
+
var _constants = __webpack_require__(250);
|
72906
73025
|
__webpack_require__(593);
|
73026
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
72907
73027
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
72908
73028
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
73029
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
72909
73030
|
_pluginHooks.default.getSingleton().register('beforeHideColumns');
|
72910
73031
|
_pluginHooks.default.getSingleton().register('afterHideColumns');
|
72911
73032
|
_pluginHooks.default.getSingleton().register('beforeUnhideColumns');
|
@@ -72913,6 +73034,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideColumns');
|
|
72913
73034
|
const PLUGIN_KEY = 'hiddenColumns';
|
72914
73035
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
72915
73036
|
const PLUGIN_PRIORITY = 310;
|
73037
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73038
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
|
73039
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
|
72916
73040
|
|
72917
73041
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
72918
73042
|
|
@@ -73020,12 +73144,18 @@ const PLUGIN_PRIORITY = 310;
|
|
73020
73144
|
* ```
|
73021
73145
|
* :::
|
73022
73146
|
*/
|
73023
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73024
73147
|
var _settings = /*#__PURE__*/new WeakMap();
|
73025
73148
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
73149
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
73026
73150
|
class HiddenColumns extends _base.BasePlugin {
|
73027
73151
|
constructor() {
|
73028
73152
|
super(...arguments);
|
73153
|
+
/**
|
73154
|
+
* Remove the indicator elements from the provided column header element.
|
73155
|
+
*
|
73156
|
+
* @param {HTMLElement} TH Column header element.
|
73157
|
+
*/
|
73158
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
73029
73159
|
/**
|
73030
73160
|
* Cached plugin settings.
|
73031
73161
|
*
|
@@ -73109,8 +73239,15 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73109
73239
|
* Disables the plugin functionality for this Handsontable instance.
|
73110
73240
|
*/
|
73111
73241
|
disablePlugin() {
|
73242
|
+
const clearColHeader = (columnIndex, TH) => {
|
73243
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
73244
|
+
};
|
73112
73245
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
73113
73246
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
73247
|
+
this.hot.addHook('afterGetColHeader', clearColHeader);
|
73248
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
73249
|
+
this.hot.removeHook('afterGetColHeader', clearColHeader);
|
73250
|
+
});
|
73114
73251
|
super.disablePlugin();
|
73115
73252
|
this.resetCellsMeta();
|
73116
73253
|
}
|
@@ -73252,7 +73389,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73252
73389
|
}
|
73253
73390
|
});
|
73254
73391
|
}
|
73255
|
-
|
73256
73392
|
/**
|
73257
73393
|
* Adds the additional column width for the hidden column indicators.
|
73258
73394
|
*
|
@@ -73357,14 +73493,35 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73357
73493
|
* @param {HTMLElement} TH Header's TH element.
|
73358
73494
|
*/
|
73359
73495
|
onAfterGetColHeader(column, TH) {
|
73496
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
73497
|
+
const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
|
73498
|
+
const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
|
73360
73499
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
|
73500
|
+
beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
|
73501
|
+
afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
|
73361
73502
|
return;
|
73362
73503
|
}
|
73363
73504
|
const classList = [];
|
73364
73505
|
if (column >= 1 && this.isHidden(column - 1)) {
|
73506
|
+
if (!afterHiddenColumnIndicatorElement) {
|
73507
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
|
73508
|
+
(0, _element.appendElement)(TH, {
|
73509
|
+
tagName: 'div',
|
73510
|
+
attributes: attributesToAdd,
|
73511
|
+
className: AFTER_INDICATOR_CLASSNAME
|
73512
|
+
});
|
73513
|
+
}
|
73365
73514
|
classList.push('afterHiddenColumn');
|
73366
73515
|
}
|
73367
73516
|
if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
|
73517
|
+
if (!beforeHiddenColumnIndicatorElement) {
|
73518
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
|
73519
|
+
(0, _element.appendElement)(TH, {
|
73520
|
+
tagName: 'div',
|
73521
|
+
attributes: attributesToAdd,
|
73522
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
73523
|
+
});
|
73524
|
+
}
|
73368
73525
|
classList.push('beforeHiddenColumn');
|
73369
73526
|
}
|
73370
73527
|
(0, _element.addClass)(TH, classList);
|
@@ -73403,6 +73560,11 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73403
73560
|
}
|
73404
73561
|
}
|
73405
73562
|
exports.HiddenColumns = HiddenColumns;
|
73563
|
+
function _clearIndicatorElements2(TH) {
|
73564
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
73565
|
+
element.remove();
|
73566
|
+
});
|
73567
|
+
}
|
73406
73568
|
|
73407
73569
|
/***/ }),
|
73408
73570
|
/* 591 */
|
@@ -73615,9 +73777,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
|
73615
73777
|
var _hideRow = _interopRequireDefault(__webpack_require__(596));
|
73616
73778
|
var _showRow = _interopRequireDefault(__webpack_require__(597));
|
73617
73779
|
var _translations = __webpack_require__(226);
|
73780
|
+
var _a11y = __webpack_require__(114);
|
73781
|
+
var _constants = __webpack_require__(250);
|
73618
73782
|
__webpack_require__(598);
|
73783
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
73619
73784
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
73620
73785
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
73786
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
73621
73787
|
_pluginHooks.default.getSingleton().register('beforeHideRows');
|
73622
73788
|
_pluginHooks.default.getSingleton().register('afterHideRows');
|
73623
73789
|
_pluginHooks.default.getSingleton().register('beforeUnhideRows');
|
@@ -73625,6 +73791,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideRows');
|
|
73625
73791
|
const PLUGIN_KEY = 'hiddenRows';
|
73626
73792
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
73627
73793
|
const PLUGIN_PRIORITY = 320;
|
73794
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73795
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
|
73796
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
|
73628
73797
|
|
73629
73798
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
73630
73799
|
|
@@ -73732,12 +73901,18 @@ const PLUGIN_PRIORITY = 320;
|
|
73732
73901
|
* ```
|
73733
73902
|
* :::
|
73734
73903
|
*/
|
73735
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73736
73904
|
var _settings = /*#__PURE__*/new WeakMap();
|
73737
73905
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
73906
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
73738
73907
|
class HiddenRows extends _base.BasePlugin {
|
73739
73908
|
constructor() {
|
73740
73909
|
super(...arguments);
|
73910
|
+
/**
|
73911
|
+
* Remove the indicator elements from the provided row header element.
|
73912
|
+
*
|
73913
|
+
* @param {HTMLElement} TH Column header element.
|
73914
|
+
*/
|
73915
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
73741
73916
|
/**
|
73742
73917
|
* Cached settings from Handsontable settings.
|
73743
73918
|
*
|
@@ -73821,8 +73996,15 @@ class HiddenRows extends _base.BasePlugin {
|
|
73821
73996
|
* Disables the plugin functionality for this Handsontable instance.
|
73822
73997
|
*/
|
73823
73998
|
disablePlugin() {
|
73999
|
+
const clearRowHeader = (columnIndex, TH) => {
|
74000
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
74001
|
+
};
|
73824
74002
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
73825
74003
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
74004
|
+
this.hot.addHook('afterGetRowHeader', clearRowHeader);
|
74005
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
74006
|
+
this.hot.removeHook('afterGetRowHeader', clearRowHeader);
|
74007
|
+
});
|
73826
74008
|
super.disablePlugin();
|
73827
74009
|
this.resetCellsMeta();
|
73828
74010
|
}
|
@@ -73961,7 +74143,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
73961
74143
|
}
|
73962
74144
|
});
|
73963
74145
|
}
|
73964
|
-
|
73965
74146
|
/**
|
73966
74147
|
* Adds the additional row height for the hidden row indicators.
|
73967
74148
|
*
|
@@ -74061,14 +74242,35 @@ class HiddenRows extends _base.BasePlugin {
|
|
74061
74242
|
* @param {HTMLElement} TH Header's TH element.
|
74062
74243
|
*/
|
74063
74244
|
onAfterGetRowHeader(row, TH) {
|
74245
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
74246
|
+
const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
|
74247
|
+
const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
|
74064
74248
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
|
74249
|
+
beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
|
74250
|
+
afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
|
74065
74251
|
return;
|
74066
74252
|
}
|
74067
74253
|
const classList = [];
|
74068
74254
|
if (row >= 1 && this.isHidden(row - 1)) {
|
74255
|
+
if (!afterHiddenRowIndicatorElement) {
|
74256
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
|
74257
|
+
(0, _element.appendElement)(TH, {
|
74258
|
+
tagName: 'div',
|
74259
|
+
attributes: attributesToAdd,
|
74260
|
+
className: AFTER_INDICATOR_CLASSNAME
|
74261
|
+
});
|
74262
|
+
}
|
74069
74263
|
classList.push('afterHiddenRow');
|
74070
74264
|
}
|
74071
74265
|
if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
|
74266
|
+
if (!beforeHiddenRowIndicatorElement) {
|
74267
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
|
74268
|
+
(0, _element.appendElement)(TH, {
|
74269
|
+
tagName: 'div',
|
74270
|
+
attributes: attributesToAdd,
|
74271
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
74272
|
+
});
|
74273
|
+
}
|
74072
74274
|
classList.push('beforeHiddenRow');
|
74073
74275
|
}
|
74074
74276
|
(0, _element.addClass)(TH, classList);
|
@@ -74107,6 +74309,11 @@ class HiddenRows extends _base.BasePlugin {
|
|
74107
74309
|
}
|
74108
74310
|
}
|
74109
74311
|
exports.HiddenRows = HiddenRows;
|
74312
|
+
function _clearIndicatorElements2(TH) {
|
74313
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
74314
|
+
element.remove();
|
74315
|
+
});
|
74316
|
+
}
|
74110
74317
|
|
74111
74318
|
/***/ }),
|
74112
74319
|
/* 596 */
|
@@ -80205,6 +80412,8 @@ var _element = __webpack_require__(107);
|
|
80205
80412
|
var _rootComparator = __webpack_require__(631);
|
80206
80413
|
var _utils2 = __webpack_require__(632);
|
80207
80414
|
var _domHelpers = __webpack_require__(633);
|
80415
|
+
var _a11y = __webpack_require__(114);
|
80416
|
+
var _constants = __webpack_require__(250);
|
80208
80417
|
__webpack_require__(634);
|
80209
80418
|
const PLUGIN_KEY = 'multiColumnSorting';
|
80210
80419
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
@@ -80466,6 +80675,25 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
80466
80675
|
}
|
80467
80676
|
}
|
80468
80677
|
|
80678
|
+
/**
|
80679
|
+
* Update sorting indicator.
|
80680
|
+
*
|
80681
|
+
* @private
|
80682
|
+
* @param {number} column Visual column index.
|
80683
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
80684
|
+
*/
|
80685
|
+
updateSortingIndicator(column, headerSpanElement) {
|
80686
|
+
super.updateSortingIndicator(column, headerSpanElement);
|
80687
|
+
const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
|
80688
|
+
if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
|
80689
|
+
return;
|
80690
|
+
}
|
80691
|
+
const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
|
80692
|
+
const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
|
80693
|
+
(0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
|
80694
|
+
(0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
|
80695
|
+
}
|
80696
|
+
|
80469
80697
|
/**
|
80470
80698
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
80471
80699
|
* for `updateSettings` in specific situations.
|
@@ -84225,7 +84453,8 @@ class NestedRows extends _base.BasePlugin {
|
|
84225
84453
|
/**
|
84226
84454
|
* Updates the plugin's state.
|
84227
84455
|
*
|
84228
|
-
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
84456
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
84457
|
+
* following configuration options:
|
84229
84458
|
* - [`nestedRows`](@/api/options.md#nestedrows)
|
84230
84459
|
*/
|
84231
84460
|
updatePlugin() {
|
@@ -85813,6 +86042,7 @@ var _number = __webpack_require__(140);
|
|
85813
86042
|
var _element = __webpack_require__(107);
|
85814
86043
|
var _base = _interopRequireDefault(__webpack_require__(658));
|
85815
86044
|
var _a11y = __webpack_require__(114);
|
86045
|
+
var _constants = __webpack_require__(250);
|
85816
86046
|
/**
|
85817
86047
|
* Class responsible for the UI in the Nested Rows' row headers.
|
85818
86048
|
*
|
@@ -85830,7 +86060,6 @@ class HeadersUI extends _base.default {
|
|
85830
86060
|
return {
|
85831
86061
|
indicatorContainer: 'ht_nestingLevels',
|
85832
86062
|
parent: 'ht_nestingParent',
|
85833
|
-
indicator: 'ht_nestingLevel',
|
85834
86063
|
emptyIndicator: 'ht_nestingLevel_empty',
|
85835
86064
|
button: 'ht_nestingButton',
|
85836
86065
|
expandButton: 'ht_nestingExpand',
|
@@ -85908,12 +86137,12 @@ class HeadersUI extends _base.default {
|
|
85908
86137
|
if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
|
85909
86138
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
|
85910
86139
|
if (ariaEnabled) {
|
85911
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
|
86140
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
|
85912
86141
|
}
|
85913
86142
|
} else {
|
85914
86143
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
|
85915
86144
|
if (ariaEnabled) {
|
85916
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
|
86145
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
|
85917
86146
|
}
|
85918
86147
|
}
|
85919
86148
|
innerDiv.appendChild(buttonsContainer);
|