handsontable 0.0.0-next-e54c3d6-20231026 → 0.0.0-next-0c0e2e5-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/cell/coords.js +2 -1
- package/3rdparty/walkontable/src/cell/coords.mjs +2 -1
- 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 +255 -25
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +105 -105
- package/dist/handsontable.js +255 -25
- 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-0c0e2e5-20231027
|
29
|
+
* Release date: 31/08/2023 (built at 27/10/2023 09:24:26)
|
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 09:24:26";
|
109
|
+
Handsontable.version = "0.0.0-next-0c0e2e5-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-0c0e2e5-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'];
|
@@ -18357,7 +18388,8 @@ class CellCoords {
|
|
18357
18388
|
* Assigns the coordinates from another `CellCoords` instance (or compatible literal object)
|
18358
18389
|
* to your `CellCoords` instance.
|
18359
18390
|
*
|
18360
|
-
* @param {CellCoords | { row
|
18391
|
+
* @param {CellCoords | { row: number | undefined, col: number | undefined }} coords The CellCoords
|
18392
|
+
* instance or compatible literal object.
|
18361
18393
|
* @returns {CellCoords}
|
18362
18394
|
*/
|
18363
18395
|
assign(coords) {
|
@@ -22228,6 +22260,9 @@ class RowHeadersRenderer extends _base.default {
|
|
22228
22260
|
const TH = orderView.getCurrentNode();
|
22229
22261
|
TH.className = '';
|
22230
22262
|
TH.removeAttribute('style');
|
22263
|
+
|
22264
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
22265
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
22231
22266
|
if (this.table.isAriaEnabled()) {
|
22232
22267
|
(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
22268
|
}
|
@@ -22945,6 +22980,9 @@ class ColumnHeadersRenderer extends _base.default {
|
|
22945
22980
|
const TH = TR.childNodes[renderedColumnIndex + rowHeadersCount];
|
22946
22981
|
TH.className = '';
|
22947
22982
|
TH.removeAttribute('style');
|
22983
|
+
|
22984
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
22985
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
22948
22986
|
if (this.table.isAriaEnabled()) {
|
22949
22987
|
(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
22988
|
}
|
@@ -32192,7 +32230,18 @@ const dictionary = {
|
|
32192
32230
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
32193
32231
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
32194
32232
|
[C.CHECKBOX_CHECKED]: 'Checked',
|
32195
|
-
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
32233
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked',
|
32234
|
+
[C.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]: 'Press ENTER to expand column.',
|
32235
|
+
[C.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]: 'Press ENTER to collapse column.',
|
32236
|
+
[C.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]: 'Press ENTER to change sorting.',
|
32237
|
+
[C.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]: 'Multi-column sorting order:',
|
32238
|
+
[C.COLUMN_HEADER_LABEL_OPEN_MENU]: 'Press CTRL/CMD+ENTER to open menu.',
|
32239
|
+
[C.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]: 'The next column is hidden.',
|
32240
|
+
[C.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]: 'The previous column is hidden.',
|
32241
|
+
[C.ROW_HEADER_DESCRIPTION_EXPAND_ROW]: 'Press ENTER to expand row.',
|
32242
|
+
[C.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]: 'Press ENTER to collapse row.',
|
32243
|
+
[C.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]: 'The next row is hidden.',
|
32244
|
+
[C.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]: 'The previous row is hidden.'
|
32196
32245
|
};
|
32197
32246
|
var _default = dictionary;
|
32198
32247
|
exports["default"] = _default;
|
@@ -32376,6 +32425,32 @@ const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
|
32376
32425
|
exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
|
32377
32426
|
const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
32378
32427
|
exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
|
32428
|
+
const COLUMN_HEADER_NAMESPACE = 'ColumnHeader:';
|
32429
|
+
exports.COLUMN_HEADER_NAMESPACE = COLUMN_HEADER_NAMESPACE;
|
32430
|
+
const COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.expandColumn`;
|
32431
|
+
exports.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN;
|
32432
|
+
const COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.collapseColumn`;
|
32433
|
+
exports.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN;
|
32434
|
+
const COLUMN_HEADER_DESCRIPTION_SORT_ROWS = `${COLUMN_HEADER_NAMESPACE}description.sortRows`;
|
32435
|
+
exports.COLUMN_HEADER_DESCRIPTION_SORT_ROWS = COLUMN_HEADER_DESCRIPTION_SORT_ROWS;
|
32436
|
+
const COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = `${COLUMN_HEADER_NAMESPACE}label.multiColumnSortOrder`;
|
32437
|
+
exports.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER;
|
32438
|
+
const COLUMN_HEADER_LABEL_OPEN_MENU = `${COLUMN_HEADER_NAMESPACE}label.openMenu`;
|
32439
|
+
exports.COLUMN_HEADER_LABEL_OPEN_MENU = COLUMN_HEADER_LABEL_OPEN_MENU;
|
32440
|
+
const COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.beforeHiddenColumn`;
|
32441
|
+
exports.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN;
|
32442
|
+
const COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.afterHiddenColumn`;
|
32443
|
+
exports.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN;
|
32444
|
+
const ROW_HEADER_NAMESPACE = 'RowHeader:';
|
32445
|
+
exports.ROW_HEADER_NAMESPACE = ROW_HEADER_NAMESPACE;
|
32446
|
+
const ROW_HEADER_DESCRIPTION_EXPAND_ROW = `${ROW_HEADER_NAMESPACE}description.expandRow`;
|
32447
|
+
exports.ROW_HEADER_DESCRIPTION_EXPAND_ROW = ROW_HEADER_DESCRIPTION_EXPAND_ROW;
|
32448
|
+
const ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = `${ROW_HEADER_NAMESPACE}description.collapseRow`;
|
32449
|
+
exports.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = ROW_HEADER_DESCRIPTION_COLLAPSE_ROW;
|
32450
|
+
const ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.beforeHiddenRow`;
|
32451
|
+
exports.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW;
|
32452
|
+
const ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.afterHiddenRow`;
|
32453
|
+
exports.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = ROW_HEADER_LABEL_AFTER_HIDDEN_ROW;
|
32379
32454
|
|
32380
32455
|
/***/ }),
|
32381
32456
|
/* 251 */
|
@@ -53112,6 +53187,7 @@ var _element = __webpack_require__(107);
|
|
53112
53187
|
var _eventManager = _interopRequireDefault(__webpack_require__(127));
|
53113
53188
|
var _event = __webpack_require__(122);
|
53114
53189
|
var _a11y = __webpack_require__(114);
|
53190
|
+
var _constants = __webpack_require__(250);
|
53115
53191
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
53116
53192
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
53117
53193
|
const PLUGIN_KEY = 'collapsibleColumns';
|
@@ -53612,7 +53688,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
53612
53688
|
|
53613
53689
|
// Add ARIA tags
|
53614
53690
|
if (isAriaTagsEnabled) {
|
53615
|
-
(0, _element.setAttribute)(TH,
|
53691
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
|
53616
53692
|
}
|
53617
53693
|
} else {
|
53618
53694
|
(0, _element.addClass)(collapsibleElement, 'expanded');
|
@@ -53620,7 +53696,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
53620
53696
|
|
53621
53697
|
// Add ARIA tags
|
53622
53698
|
if (isAriaTagsEnabled) {
|
53623
|
-
(0, _element.setAttribute)(TH,
|
53699
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
|
53624
53700
|
}
|
53625
53701
|
}
|
53626
53702
|
if (isAriaTagsEnabled) {
|
@@ -53725,6 +53801,7 @@ var _domHelpers = __webpack_require__(447);
|
|
53725
53801
|
var _rootComparator = __webpack_require__(448);
|
53726
53802
|
var _sortService = __webpack_require__(449);
|
53727
53803
|
var _a11y = __webpack_require__(114);
|
53804
|
+
var _constants = __webpack_require__(250);
|
53728
53805
|
const PLUGIN_KEY = 'columnSorting';
|
53729
53806
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
53730
53807
|
const PLUGIN_PRIORITY = 50;
|
@@ -53734,6 +53811,7 @@ exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
|
|
53734
53811
|
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
53735
53812
|
exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
|
53736
53813
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
53814
|
+
const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
|
53737
53815
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
53738
53816
|
_pluginHooks.default.getSingleton().register('beforeColumnSort');
|
53739
53817
|
_pluginHooks.default.getSingleton().register('afterColumnSort');
|
@@ -54352,12 +54430,14 @@ class ColumnSorting extends _base.BasePlugin {
|
|
54352
54430
|
return;
|
54353
54431
|
}
|
54354
54432
|
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
54433
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
54355
54434
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
54356
54435
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
54436
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
54357
54437
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
54358
|
-
|
54359
|
-
|
54360
|
-
(0, _element.setAttribute)(TH,
|
54438
|
+
this.updateSortingIndicator(column, headerSpanElement);
|
54439
|
+
if (ariaTags) {
|
54440
|
+
(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
54441
|
}
|
54362
54442
|
}
|
54363
54443
|
|
@@ -54378,6 +54458,28 @@ class ColumnSorting extends _base.BasePlugin {
|
|
54378
54458
|
}
|
54379
54459
|
}
|
54380
54460
|
|
54461
|
+
/**
|
54462
|
+
* Update sorting indicator.
|
54463
|
+
*
|
54464
|
+
* @private
|
54465
|
+
* @param {number} column Visual column index.
|
54466
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
54467
|
+
*/
|
54468
|
+
updateSortingIndicator(column, headerSpanElement) {
|
54469
|
+
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
54470
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
54471
|
+
const showSortIndicator = pluginSettingsForColumn.indicator;
|
54472
|
+
const isColumnSorted = this.columnStatesManager.isColumnSorted(column);
|
54473
|
+
const indicatorElement = headerSpanElement.querySelector(`.${SORTING_INDICATOR_CLASS}`);
|
54474
|
+
if (showSortIndicator && isColumnSorted && !indicatorElement) {
|
54475
|
+
(0, _element.appendElement)(headerSpanElement, {
|
54476
|
+
tagName: 'div',
|
54477
|
+
className: SORTING_INDICATOR_CLASS,
|
54478
|
+
attributes: ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : []
|
54479
|
+
});
|
54480
|
+
}
|
54481
|
+
}
|
54482
|
+
|
54381
54483
|
/**
|
54382
54484
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
54383
54485
|
* for `updateSettings` in specific situations.
|
@@ -60905,6 +61007,8 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
|
|
60905
61007
|
var _utils = __webpack_require__(495);
|
60906
61008
|
var _element = __webpack_require__(107);
|
60907
61009
|
var _a11y = __webpack_require__(114);
|
61010
|
+
const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
|
61011
|
+
|
60908
61012
|
/**
|
60909
61013
|
* Creates the menu renderer function.
|
60910
61014
|
*
|
@@ -60937,6 +61041,16 @@ function createMenuItemRenderer(mainTableHot) {
|
|
60937
61041
|
const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
|
60938
61042
|
(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
61043
|
}
|
61044
|
+
if ((0, _utils.isItemSubMenu)(item)) {
|
61045
|
+
const submenuIndicatorElement = TD.querySelector('.submenuIndicator');
|
61046
|
+
if (!submenuIndicatorElement) {
|
61047
|
+
(0, _element.appendElement)(TD, {
|
61048
|
+
tagName: 'div',
|
61049
|
+
attributes: mainTableHot.getSettings().ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : [],
|
61050
|
+
className: SUBMENU_INDICATOR_CLASSNAME
|
61051
|
+
});
|
61052
|
+
}
|
61053
|
+
}
|
60940
61054
|
TD.className = '';
|
60941
61055
|
TD.appendChild(wrapper);
|
60942
61056
|
if ((0, _utils.isItemSeparator)(item)) {
|
@@ -64469,6 +64583,7 @@ var _menu = __webpack_require__(489);
|
|
64469
64583
|
var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
64470
64584
|
var _predefinedItems = __webpack_require__(464);
|
64471
64585
|
__webpack_require__(526);
|
64586
|
+
var _constants = __webpack_require__(250);
|
64472
64587
|
var _a11y = __webpack_require__(114);
|
64473
64588
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
64474
64589
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -64894,7 +65009,7 @@ class DropdownMenu extends _base.BasePlugin {
|
|
64894
65009
|
button.type = 'button';
|
64895
65010
|
button.tabIndex = -1;
|
64896
65011
|
if (this.hot.getSettings().ariaTags) {
|
64897
|
-
(0, _element.setAttribute)(button, [(0, _a11y.
|
65012
|
+
(0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
|
64898
65013
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
|
64899
65014
|
}
|
64900
65015
|
|
@@ -68194,11 +68309,8 @@ class InputUI extends _base.BaseUI {
|
|
68194
68309
|
*/
|
68195
68310
|
build() {
|
68196
68311
|
super.build();
|
68197
|
-
const icon = this.hot.rootDocument.createElement('div');
|
68198
68312
|
(0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
|
68199
68313
|
(0, _element.addClass)(this._element, 'htUIInput');
|
68200
|
-
(0, _element.addClass)(icon, 'htUIInputIcon');
|
68201
|
-
this._element.appendChild(icon);
|
68202
68314
|
this.update();
|
68203
68315
|
}
|
68204
68316
|
|
@@ -68464,9 +68576,11 @@ var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(129));
|
|
68464
68576
|
var _menu2 = __webpack_require__(489);
|
68465
68577
|
var _object = __webpack_require__(117);
|
68466
68578
|
var _array = __webpack_require__(113);
|
68579
|
+
var _element = __webpack_require__(107);
|
68467
68580
|
var C = _interopRequireWildcard(__webpack_require__(250));
|
68468
68581
|
var _predefinedItems = __webpack_require__(464);
|
68469
68582
|
var _base = __webpack_require__(568);
|
68583
|
+
var _a11y = __webpack_require__(114);
|
68470
68584
|
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
68585
|
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
68586
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
@@ -68623,6 +68737,10 @@ class SelectUI extends _base.BaseUI {
|
|
68623
68737
|
(0, _classPrivateFieldSet2.default)(this, _caption, caption);
|
68624
68738
|
(0, _classPrivateFieldSet2.default)(this, _captionElement, caption.element);
|
68625
68739
|
(0, _classPrivateFieldSet2.default)(this, _dropdown, dropdown);
|
68740
|
+
if (this.hot.getSettings().ariaTags) {
|
68741
|
+
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
68742
|
+
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
68743
|
+
}
|
68626
68744
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
68627
68745
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
68628
68746
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
@@ -72903,9 +73021,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
|
72903
73021
|
var _hideColumn = _interopRequireDefault(__webpack_require__(591));
|
72904
73022
|
var _showColumn = _interopRequireDefault(__webpack_require__(592));
|
72905
73023
|
var _translations = __webpack_require__(226);
|
73024
|
+
var _a11y = __webpack_require__(114);
|
73025
|
+
var _constants = __webpack_require__(250);
|
72906
73026
|
__webpack_require__(593);
|
73027
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
72907
73028
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
72908
73029
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
73030
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
72909
73031
|
_pluginHooks.default.getSingleton().register('beforeHideColumns');
|
72910
73032
|
_pluginHooks.default.getSingleton().register('afterHideColumns');
|
72911
73033
|
_pluginHooks.default.getSingleton().register('beforeUnhideColumns');
|
@@ -72913,6 +73035,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideColumns');
|
|
72913
73035
|
const PLUGIN_KEY = 'hiddenColumns';
|
72914
73036
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
72915
73037
|
const PLUGIN_PRIORITY = 310;
|
73038
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73039
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
|
73040
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
|
72916
73041
|
|
72917
73042
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
72918
73043
|
|
@@ -73020,12 +73145,18 @@ const PLUGIN_PRIORITY = 310;
|
|
73020
73145
|
* ```
|
73021
73146
|
* :::
|
73022
73147
|
*/
|
73023
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73024
73148
|
var _settings = /*#__PURE__*/new WeakMap();
|
73025
73149
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
73150
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
73026
73151
|
class HiddenColumns extends _base.BasePlugin {
|
73027
73152
|
constructor() {
|
73028
73153
|
super(...arguments);
|
73154
|
+
/**
|
73155
|
+
* Remove the indicator elements from the provided column header element.
|
73156
|
+
*
|
73157
|
+
* @param {HTMLElement} TH Column header element.
|
73158
|
+
*/
|
73159
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
73029
73160
|
/**
|
73030
73161
|
* Cached plugin settings.
|
73031
73162
|
*
|
@@ -73109,8 +73240,15 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73109
73240
|
* Disables the plugin functionality for this Handsontable instance.
|
73110
73241
|
*/
|
73111
73242
|
disablePlugin() {
|
73243
|
+
const clearColHeader = (columnIndex, TH) => {
|
73244
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
73245
|
+
};
|
73112
73246
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
73113
73247
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
73248
|
+
this.hot.addHook('afterGetColHeader', clearColHeader);
|
73249
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
73250
|
+
this.hot.removeHook('afterGetColHeader', clearColHeader);
|
73251
|
+
});
|
73114
73252
|
super.disablePlugin();
|
73115
73253
|
this.resetCellsMeta();
|
73116
73254
|
}
|
@@ -73252,7 +73390,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73252
73390
|
}
|
73253
73391
|
});
|
73254
73392
|
}
|
73255
|
-
|
73256
73393
|
/**
|
73257
73394
|
* Adds the additional column width for the hidden column indicators.
|
73258
73395
|
*
|
@@ -73357,14 +73494,35 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73357
73494
|
* @param {HTMLElement} TH Header's TH element.
|
73358
73495
|
*/
|
73359
73496
|
onAfterGetColHeader(column, TH) {
|
73497
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
73498
|
+
const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
|
73499
|
+
const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
|
73360
73500
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
|
73501
|
+
beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
|
73502
|
+
afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
|
73361
73503
|
return;
|
73362
73504
|
}
|
73363
73505
|
const classList = [];
|
73364
73506
|
if (column >= 1 && this.isHidden(column - 1)) {
|
73507
|
+
if (!afterHiddenColumnIndicatorElement) {
|
73508
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
|
73509
|
+
(0, _element.appendElement)(TH, {
|
73510
|
+
tagName: 'div',
|
73511
|
+
attributes: attributesToAdd,
|
73512
|
+
className: AFTER_INDICATOR_CLASSNAME
|
73513
|
+
});
|
73514
|
+
}
|
73365
73515
|
classList.push('afterHiddenColumn');
|
73366
73516
|
}
|
73367
73517
|
if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
|
73518
|
+
if (!beforeHiddenColumnIndicatorElement) {
|
73519
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
|
73520
|
+
(0, _element.appendElement)(TH, {
|
73521
|
+
tagName: 'div',
|
73522
|
+
attributes: attributesToAdd,
|
73523
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
73524
|
+
});
|
73525
|
+
}
|
73368
73526
|
classList.push('beforeHiddenColumn');
|
73369
73527
|
}
|
73370
73528
|
(0, _element.addClass)(TH, classList);
|
@@ -73403,6 +73561,11 @@ class HiddenColumns extends _base.BasePlugin {
|
|
73403
73561
|
}
|
73404
73562
|
}
|
73405
73563
|
exports.HiddenColumns = HiddenColumns;
|
73564
|
+
function _clearIndicatorElements2(TH) {
|
73565
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
73566
|
+
element.remove();
|
73567
|
+
});
|
73568
|
+
}
|
73406
73569
|
|
73407
73570
|
/***/ }),
|
73408
73571
|
/* 591 */
|
@@ -73615,9 +73778,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(124));
|
|
73615
73778
|
var _hideRow = _interopRequireDefault(__webpack_require__(596));
|
73616
73779
|
var _showRow = _interopRequireDefault(__webpack_require__(597));
|
73617
73780
|
var _translations = __webpack_require__(226);
|
73781
|
+
var _a11y = __webpack_require__(114);
|
73782
|
+
var _constants = __webpack_require__(250);
|
73618
73783
|
__webpack_require__(598);
|
73784
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
73619
73785
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
73620
73786
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
73787
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
73621
73788
|
_pluginHooks.default.getSingleton().register('beforeHideRows');
|
73622
73789
|
_pluginHooks.default.getSingleton().register('afterHideRows');
|
73623
73790
|
_pluginHooks.default.getSingleton().register('beforeUnhideRows');
|
@@ -73625,6 +73792,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideRows');
|
|
73625
73792
|
const PLUGIN_KEY = 'hiddenRows';
|
73626
73793
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
73627
73794
|
const PLUGIN_PRIORITY = 320;
|
73795
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73796
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
|
73797
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
|
73628
73798
|
|
73629
73799
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
73630
73800
|
|
@@ -73732,12 +73902,18 @@ const PLUGIN_PRIORITY = 320;
|
|
73732
73902
|
* ```
|
73733
73903
|
* :::
|
73734
73904
|
*/
|
73735
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
73736
73905
|
var _settings = /*#__PURE__*/new WeakMap();
|
73737
73906
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
73907
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
73738
73908
|
class HiddenRows extends _base.BasePlugin {
|
73739
73909
|
constructor() {
|
73740
73910
|
super(...arguments);
|
73911
|
+
/**
|
73912
|
+
* Remove the indicator elements from the provided row header element.
|
73913
|
+
*
|
73914
|
+
* @param {HTMLElement} TH Column header element.
|
73915
|
+
*/
|
73916
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
73741
73917
|
/**
|
73742
73918
|
* Cached settings from Handsontable settings.
|
73743
73919
|
*
|
@@ -73821,8 +73997,15 @@ class HiddenRows extends _base.BasePlugin {
|
|
73821
73997
|
* Disables the plugin functionality for this Handsontable instance.
|
73822
73998
|
*/
|
73823
73999
|
disablePlugin() {
|
74000
|
+
const clearRowHeader = (columnIndex, TH) => {
|
74001
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
74002
|
+
};
|
73824
74003
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
73825
74004
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
74005
|
+
this.hot.addHook('afterGetRowHeader', clearRowHeader);
|
74006
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
74007
|
+
this.hot.removeHook('afterGetRowHeader', clearRowHeader);
|
74008
|
+
});
|
73826
74009
|
super.disablePlugin();
|
73827
74010
|
this.resetCellsMeta();
|
73828
74011
|
}
|
@@ -73961,7 +74144,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
73961
74144
|
}
|
73962
74145
|
});
|
73963
74146
|
}
|
73964
|
-
|
73965
74147
|
/**
|
73966
74148
|
* Adds the additional row height for the hidden row indicators.
|
73967
74149
|
*
|
@@ -74061,14 +74243,35 @@ class HiddenRows extends _base.BasePlugin {
|
|
74061
74243
|
* @param {HTMLElement} TH Header's TH element.
|
74062
74244
|
*/
|
74063
74245
|
onAfterGetRowHeader(row, TH) {
|
74246
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
74247
|
+
const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
|
74248
|
+
const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
|
74064
74249
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
|
74250
|
+
beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
|
74251
|
+
afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
|
74065
74252
|
return;
|
74066
74253
|
}
|
74067
74254
|
const classList = [];
|
74068
74255
|
if (row >= 1 && this.isHidden(row - 1)) {
|
74256
|
+
if (!afterHiddenRowIndicatorElement) {
|
74257
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
|
74258
|
+
(0, _element.appendElement)(TH, {
|
74259
|
+
tagName: 'div',
|
74260
|
+
attributes: attributesToAdd,
|
74261
|
+
className: AFTER_INDICATOR_CLASSNAME
|
74262
|
+
});
|
74263
|
+
}
|
74069
74264
|
classList.push('afterHiddenRow');
|
74070
74265
|
}
|
74071
74266
|
if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
|
74267
|
+
if (!beforeHiddenRowIndicatorElement) {
|
74268
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
|
74269
|
+
(0, _element.appendElement)(TH, {
|
74270
|
+
tagName: 'div',
|
74271
|
+
attributes: attributesToAdd,
|
74272
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
74273
|
+
});
|
74274
|
+
}
|
74072
74275
|
classList.push('beforeHiddenRow');
|
74073
74276
|
}
|
74074
74277
|
(0, _element.addClass)(TH, classList);
|
@@ -74107,6 +74310,11 @@ class HiddenRows extends _base.BasePlugin {
|
|
74107
74310
|
}
|
74108
74311
|
}
|
74109
74312
|
exports.HiddenRows = HiddenRows;
|
74313
|
+
function _clearIndicatorElements2(TH) {
|
74314
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
74315
|
+
element.remove();
|
74316
|
+
});
|
74317
|
+
}
|
74110
74318
|
|
74111
74319
|
/***/ }),
|
74112
74320
|
/* 596 */
|
@@ -80205,6 +80413,8 @@ var _element = __webpack_require__(107);
|
|
80205
80413
|
var _rootComparator = __webpack_require__(631);
|
80206
80414
|
var _utils2 = __webpack_require__(632);
|
80207
80415
|
var _domHelpers = __webpack_require__(633);
|
80416
|
+
var _a11y = __webpack_require__(114);
|
80417
|
+
var _constants = __webpack_require__(250);
|
80208
80418
|
__webpack_require__(634);
|
80209
80419
|
const PLUGIN_KEY = 'multiColumnSorting';
|
80210
80420
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
@@ -80466,6 +80676,25 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
80466
80676
|
}
|
80467
80677
|
}
|
80468
80678
|
|
80679
|
+
/**
|
80680
|
+
* Update sorting indicator.
|
80681
|
+
*
|
80682
|
+
* @private
|
80683
|
+
* @param {number} column Visual column index.
|
80684
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
80685
|
+
*/
|
80686
|
+
updateSortingIndicator(column, headerSpanElement) {
|
80687
|
+
super.updateSortingIndicator(column, headerSpanElement);
|
80688
|
+
const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
|
80689
|
+
if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
|
80690
|
+
return;
|
80691
|
+
}
|
80692
|
+
const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
|
80693
|
+
const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
|
80694
|
+
(0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
|
80695
|
+
(0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
|
80696
|
+
}
|
80697
|
+
|
80469
80698
|
/**
|
80470
80699
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
80471
80700
|
* for `updateSettings` in specific situations.
|
@@ -84225,7 +84454,8 @@ class NestedRows extends _base.BasePlugin {
|
|
84225
84454
|
/**
|
84226
84455
|
* Updates the plugin's state.
|
84227
84456
|
*
|
84228
|
-
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
84457
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
84458
|
+
* following configuration options:
|
84229
84459
|
* - [`nestedRows`](@/api/options.md#nestedrows)
|
84230
84460
|
*/
|
84231
84461
|
updatePlugin() {
|
@@ -85813,6 +86043,7 @@ var _number = __webpack_require__(140);
|
|
85813
86043
|
var _element = __webpack_require__(107);
|
85814
86044
|
var _base = _interopRequireDefault(__webpack_require__(658));
|
85815
86045
|
var _a11y = __webpack_require__(114);
|
86046
|
+
var _constants = __webpack_require__(250);
|
85816
86047
|
/**
|
85817
86048
|
* Class responsible for the UI in the Nested Rows' row headers.
|
85818
86049
|
*
|
@@ -85830,7 +86061,6 @@ class HeadersUI extends _base.default {
|
|
85830
86061
|
return {
|
85831
86062
|
indicatorContainer: 'ht_nestingLevels',
|
85832
86063
|
parent: 'ht_nestingParent',
|
85833
|
-
indicator: 'ht_nestingLevel',
|
85834
86064
|
emptyIndicator: 'ht_nestingLevel_empty',
|
85835
86065
|
button: 'ht_nestingButton',
|
85836
86066
|
expandButton: 'ht_nestingExpand',
|
@@ -85908,12 +86138,12 @@ class HeadersUI extends _base.default {
|
|
85908
86138
|
if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
|
85909
86139
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
|
85910
86140
|
if (ariaEnabled) {
|
85911
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
|
86141
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
|
85912
86142
|
}
|
85913
86143
|
} else {
|
85914
86144
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
|
85915
86145
|
if (ariaEnabled) {
|
85916
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
|
86146
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
|
85917
86147
|
}
|
85918
86148
|
}
|
85919
86149
|
innerDiv.appendChild(buttonsContainer);
|