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
@@ -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')
|
@@ -42664,8 +42664,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
42664
42664
|
Handsontable.CellCoords = _src.CellCoords;
|
42665
42665
|
Handsontable.CellRange = _src.CellRange;
|
42666
42666
|
Handsontable.packageName = 'handsontable';
|
42667
|
-
Handsontable.buildDate = "
|
42668
|
-
Handsontable.version = "0.0.0-next-
|
42667
|
+
Handsontable.buildDate = "27/10/2023 07:59:06";
|
42668
|
+
Handsontable.version = "0.0.0-next-42d5bd7-20231027";
|
42669
42669
|
Handsontable.languages = {
|
42670
42670
|
dictionaryKeys: _registry.dictionaryKeys,
|
42671
42671
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -47127,7 +47127,7 @@ function Core(rootElement, userSettings) {
|
|
47127
47127
|
* @function getTranslatedPhrase
|
47128
47128
|
* @since 0.35.0
|
47129
47129
|
* @param {string} dictionaryKey Constant which is dictionary key.
|
47130
|
-
* @param {*} extraArguments Arguments which will be handled by formatters.
|
47130
|
+
* @param {*} [extraArguments] Arguments which will be handled by formatters.
|
47131
47131
|
* @returns {string}
|
47132
47132
|
*/
|
47133
47133
|
this.getTranslatedPhrase = function (dictionaryKey, extraArguments) {
|
@@ -49653,6 +49653,7 @@ module.exports = typeof Bun == 'function' && Bun && typeof Bun.version == 'strin
|
|
49653
49653
|
exports.__esModule = true;
|
49654
49654
|
exports.addClass = addClass;
|
49655
49655
|
exports.addEvent = addEvent;
|
49656
|
+
exports.appendElement = appendElement;
|
49656
49657
|
exports.clearTextSelection = clearTextSelection;
|
49657
49658
|
exports.closest = closest;
|
49658
49659
|
exports.closestDown = closestDown;
|
@@ -50788,6 +50789,34 @@ function runWithSelectedContendEditableElement(element, callback) {
|
|
50788
50789
|
removeContentEditableFromElementAndDeselect(element, invisibleSelection);
|
50789
50790
|
}
|
50790
50791
|
|
50792
|
+
/**
|
50793
|
+
* Creates a new DOM element and appends it to the parent element with the provided class name(s) and attributes.
|
50794
|
+
*
|
50795
|
+
* @param {HTMLElement} parentElement The parent element.
|
50796
|
+
* @param {object} properties The properties object.
|
50797
|
+
* @param {string} properties.tagName The type of the new element.
|
50798
|
+
* @param {string|string[]} properties.className Class name as string or array of strings.
|
50799
|
+
* @param {Array[]} properties.attributes An array containing the attributes to be added. Each element of the array
|
50800
|
+
* should be an array in a form of `[attributeName, attributeValue]`.
|
50801
|
+
* @returns {HTMLElement} The created div element.
|
50802
|
+
*/
|
50803
|
+
function appendElement(parentElement, _ref) {
|
50804
|
+
let {
|
50805
|
+
tagName,
|
50806
|
+
className,
|
50807
|
+
attributes
|
50808
|
+
} = _ref;
|
50809
|
+
const element = parentElement.ownerDocument.createElement(tagName);
|
50810
|
+
if (className) {
|
50811
|
+
addClass(element, className);
|
50812
|
+
}
|
50813
|
+
if (attributes && attributes.length) {
|
50814
|
+
setAttribute(element, attributes);
|
50815
|
+
}
|
50816
|
+
parentElement.appendChild(element);
|
50817
|
+
return element;
|
50818
|
+
}
|
50819
|
+
|
50791
50820
|
/***/ }),
|
50792
50821
|
/* 303 */
|
50793
50822
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
@@ -52766,7 +52795,7 @@ const domMessages = {
|
|
52766
52795
|
function _injectProductInfo(key, element) {
|
52767
52796
|
const hasValidType = !isEmpty(key);
|
52768
52797
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
52769
|
-
const hotVersion = "0.0.0-next-
|
52798
|
+
const hotVersion = "0.0.0-next-42d5bd7-20231027";
|
52770
52799
|
let keyValidityDate;
|
52771
52800
|
let consoleMessageState = 'invalid';
|
52772
52801
|
let domMessageState = 'invalid';
|
@@ -60042,6 +60071,8 @@ const A11Y_TEXT = () => ['type', 'text'];
|
|
60042
60071
|
exports.A11Y_TEXT = A11Y_TEXT;
|
60043
60072
|
const A11Y_LABEL = val => ['aria-label', val];
|
60044
60073
|
exports.A11Y_LABEL = A11Y_LABEL;
|
60074
|
+
const A11Y_DESCRIPTION = val => ['aria-description', val];
|
60075
|
+
exports.A11Y_DESCRIPTION = A11Y_DESCRIPTION;
|
60045
60076
|
const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
|
60046
60077
|
exports.A11Y_HIDDEN = A11Y_HIDDEN;
|
60047
60078
|
const A11Y_DISABLED = () => ['aria-disabled', 'true'];
|
@@ -73294,6 +73325,9 @@ class RowHeadersRenderer extends _base.default {
|
|
73294
73325
|
const TH = orderView.getCurrentNode();
|
73295
73326
|
TH.className = '';
|
73296
73327
|
TH.removeAttribute('style');
|
73328
|
+
|
73329
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
73330
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
73297
73331
|
if (this.table.isAriaEnabled()) {
|
73298
73332
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_ROWHEADER)(), (0, _a11y.A11Y_SCOPE_ROW)(), (0, _a11y.A11Y_COLINDEX)(visibleColumnIndex + 1), (0, _a11y.A11Y_TABINDEX)(-1)]);
|
73299
73333
|
}
|
@@ -74011,6 +74045,9 @@ class ColumnHeadersRenderer extends _base.default {
|
|
74011
74045
|
const TH = TR.childNodes[renderedColumnIndex + rowHeadersCount];
|
74012
74046
|
TH.className = '';
|
74013
74047
|
TH.removeAttribute('style');
|
74048
|
+
|
74049
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
74050
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
74014
74051
|
if (this.table.isAriaEnabled()) {
|
74015
74052
|
(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)()])]);
|
74016
74053
|
}
|
@@ -83258,7 +83295,18 @@ const dictionary = {
|
|
83258
83295
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
83259
83296
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
83260
83297
|
[C.CHECKBOX_CHECKED]: 'Checked',
|
83261
|
-
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
83298
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked',
|
83299
|
+
[C.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN]: 'Press ENTER to expand column.',
|
83300
|
+
[C.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN]: 'Press ENTER to collapse column.',
|
83301
|
+
[C.COLUMN_HEADER_DESCRIPTION_SORT_ROWS]: 'Press ENTER to change sorting.',
|
83302
|
+
[C.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER]: 'Multi-column sorting order:',
|
83303
|
+
[C.COLUMN_HEADER_LABEL_OPEN_MENU]: 'Press CTRL/CMD+ENTER to open menu.',
|
83304
|
+
[C.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN]: 'The next column is hidden.',
|
83305
|
+
[C.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN]: 'The previous column is hidden.',
|
83306
|
+
[C.ROW_HEADER_DESCRIPTION_EXPAND_ROW]: 'Press ENTER to expand row.',
|
83307
|
+
[C.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW]: 'Press ENTER to collapse row.',
|
83308
|
+
[C.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW]: 'The next row is hidden.',
|
83309
|
+
[C.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW]: 'The previous row is hidden.'
|
83262
83310
|
};
|
83263
83311
|
var _default = dictionary;
|
83264
83312
|
exports["default"] = _default;
|
@@ -83442,6 +83490,32 @@ const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
|
83442
83490
|
exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
|
83443
83491
|
const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
83444
83492
|
exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
|
83493
|
+
const COLUMN_HEADER_NAMESPACE = 'ColumnHeader:';
|
83494
|
+
exports.COLUMN_HEADER_NAMESPACE = COLUMN_HEADER_NAMESPACE;
|
83495
|
+
const COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.expandColumn`;
|
83496
|
+
exports.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN = COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN;
|
83497
|
+
const COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = `${COLUMN_HEADER_NAMESPACE}description.collapseColumn`;
|
83498
|
+
exports.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN = COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN;
|
83499
|
+
const COLUMN_HEADER_DESCRIPTION_SORT_ROWS = `${COLUMN_HEADER_NAMESPACE}description.sortRows`;
|
83500
|
+
exports.COLUMN_HEADER_DESCRIPTION_SORT_ROWS = COLUMN_HEADER_DESCRIPTION_SORT_ROWS;
|
83501
|
+
const COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = `${COLUMN_HEADER_NAMESPACE}label.multiColumnSortOrder`;
|
83502
|
+
exports.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER = COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER;
|
83503
|
+
const COLUMN_HEADER_LABEL_OPEN_MENU = `${COLUMN_HEADER_NAMESPACE}label.openMenu`;
|
83504
|
+
exports.COLUMN_HEADER_LABEL_OPEN_MENU = COLUMN_HEADER_LABEL_OPEN_MENU;
|
83505
|
+
const COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.beforeHiddenColumn`;
|
83506
|
+
exports.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN;
|
83507
|
+
const COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = `${COLUMN_HEADER_NAMESPACE}label.afterHiddenColumn`;
|
83508
|
+
exports.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN = COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN;
|
83509
|
+
const ROW_HEADER_NAMESPACE = 'RowHeader:';
|
83510
|
+
exports.ROW_HEADER_NAMESPACE = ROW_HEADER_NAMESPACE;
|
83511
|
+
const ROW_HEADER_DESCRIPTION_EXPAND_ROW = `${ROW_HEADER_NAMESPACE}description.expandRow`;
|
83512
|
+
exports.ROW_HEADER_DESCRIPTION_EXPAND_ROW = ROW_HEADER_DESCRIPTION_EXPAND_ROW;
|
83513
|
+
const ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = `${ROW_HEADER_NAMESPACE}description.collapseRow`;
|
83514
|
+
exports.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW = ROW_HEADER_DESCRIPTION_COLLAPSE_ROW;
|
83515
|
+
const ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.beforeHiddenRow`;
|
83516
|
+
exports.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW = ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW;
|
83517
|
+
const ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = `${ROW_HEADER_NAMESPACE}label.afterHiddenRow`;
|
83518
|
+
exports.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW = ROW_HEADER_LABEL_AFTER_HIDDEN_ROW;
|
83445
83519
|
|
83446
83520
|
/***/ }),
|
83447
83521
|
/* 582 */
|
@@ -105471,6 +105545,7 @@ var _element = __webpack_require__(302);
|
|
105471
105545
|
var _eventManager = _interopRequireDefault(__webpack_require__(458));
|
105472
105546
|
var _event = __webpack_require__(453);
|
105473
105547
|
var _a11y = __webpack_require__(445);
|
105548
|
+
var _constants = __webpack_require__(581);
|
105474
105549
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
105475
105550
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
105476
105551
|
const PLUGIN_KEY = 'collapsibleColumns';
|
@@ -105971,7 +106046,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
105971
106046
|
|
105972
106047
|
// Add ARIA tags
|
105973
106048
|
if (isAriaTagsEnabled) {
|
105974
|
-
(0, _element.setAttribute)(TH,
|
106049
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
|
105975
106050
|
}
|
105976
106051
|
} else {
|
105977
106052
|
(0, _element.addClass)(collapsibleElement, 'expanded');
|
@@ -105979,7 +106054,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
105979
106054
|
|
105980
106055
|
// Add ARIA tags
|
105981
106056
|
if (isAriaTagsEnabled) {
|
105982
|
-
(0, _element.setAttribute)(TH,
|
106057
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
|
105983
106058
|
}
|
105984
106059
|
}
|
105985
106060
|
if (isAriaTagsEnabled) {
|
@@ -106084,6 +106159,7 @@ var _domHelpers = __webpack_require__(778);
|
|
106084
106159
|
var _rootComparator = __webpack_require__(779);
|
106085
106160
|
var _sortService = __webpack_require__(780);
|
106086
106161
|
var _a11y = __webpack_require__(445);
|
106162
|
+
var _constants = __webpack_require__(581);
|
106087
106163
|
const PLUGIN_KEY = 'columnSorting';
|
106088
106164
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
106089
106165
|
const PLUGIN_PRIORITY = 50;
|
@@ -106093,6 +106169,7 @@ exports.APPEND_COLUMN_CONFIG_STRATEGY = APPEND_COLUMN_CONFIG_STRATEGY;
|
|
106093
106169
|
const REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
106094
106170
|
exports.REPLACE_COLUMN_CONFIG_STRATEGY = REPLACE_COLUMN_CONFIG_STRATEGY;
|
106095
106171
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
106172
|
+
const SORTING_INDICATOR_CLASS = 'columnSortingIndicator';
|
106096
106173
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
106097
106174
|
_pluginHooks.default.getSingleton().register('beforeColumnSort');
|
106098
106175
|
_pluginHooks.default.getSingleton().register('afterColumnSort');
|
@@ -106711,12 +106788,14 @@ class ColumnSorting extends _base.BasePlugin {
|
|
106711
106788
|
return;
|
106712
106789
|
}
|
106713
106790
|
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
106791
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
106714
106792
|
const showSortIndicator = pluginSettingsForColumn.indicator;
|
106715
106793
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
106794
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
106716
106795
|
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
106717
|
-
|
106718
|
-
|
106719
|
-
(0, _element.setAttribute)(TH,
|
106796
|
+
this.updateSortingIndicator(column, headerSpanElement);
|
106797
|
+
if (ariaTags) {
|
106798
|
+
(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))]);
|
106720
106799
|
}
|
106721
106800
|
}
|
106722
106801
|
|
@@ -106737,6 +106816,28 @@ class ColumnSorting extends _base.BasePlugin {
|
|
106737
106816
|
}
|
106738
106817
|
}
|
106739
106818
|
|
106819
|
+
/**
|
106820
|
+
* Update sorting indicator.
|
106821
|
+
*
|
106822
|
+
* @private
|
106823
|
+
* @param {number} column Visual column index.
|
106824
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
106825
|
+
*/
|
106826
|
+
updateSortingIndicator(column, headerSpanElement) {
|
106827
|
+
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
106828
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
106829
|
+
const showSortIndicator = pluginSettingsForColumn.indicator;
|
106830
|
+
const isColumnSorted = this.columnStatesManager.isColumnSorted(column);
|
106831
|
+
const indicatorElement = headerSpanElement.querySelector(`.${SORTING_INDICATOR_CLASS}`);
|
106832
|
+
if (showSortIndicator && isColumnSorted && !indicatorElement) {
|
106833
|
+
(0, _element.appendElement)(headerSpanElement, {
|
106834
|
+
tagName: 'div',
|
106835
|
+
className: SORTING_INDICATOR_CLASS,
|
106836
|
+
attributes: ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : []
|
106837
|
+
});
|
106838
|
+
}
|
106839
|
+
}
|
106840
|
+
|
106740
106841
|
/**
|
106741
106842
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
106742
106843
|
* for `updateSettings` in specific situations.
|
@@ -113264,6 +113365,8 @@ exports.createMenuItemRenderer = createMenuItemRenderer;
|
|
113264
113365
|
var _utils = __webpack_require__(826);
|
113265
113366
|
var _element = __webpack_require__(302);
|
113266
113367
|
var _a11y = __webpack_require__(445);
|
113368
|
+
const SUBMENU_INDICATOR_CLASSNAME = 'submenuIndicator';
|
113369
|
+
|
113267
113370
|
/**
|
113268
113371
|
* Creates the menu renderer function.
|
113269
113372
|
*
|
@@ -113296,6 +113399,16 @@ function createMenuItemRenderer(mainTableHot) {
|
|
113296
113399
|
const isFocusable = !(0, _utils.isItemDisabled)(item, mainTableHot) && !(0, _utils.isItemSelectionDisabled)(item) && !(0, _utils.isItemSeparator)(item);
|
113297
113400
|
(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)] : [])]);
|
113298
113401
|
}
|
113402
|
+
if ((0, _utils.isItemSubMenu)(item)) {
|
113403
|
+
const submenuIndicatorElement = TD.querySelector('.submenuIndicator');
|
113404
|
+
if (!submenuIndicatorElement) {
|
113405
|
+
(0, _element.appendElement)(TD, {
|
113406
|
+
tagName: 'div',
|
113407
|
+
attributes: mainTableHot.getSettings().ariaTags ? [(0, _a11y.A11Y_HIDDEN)()] : [],
|
113408
|
+
className: SUBMENU_INDICATOR_CLASSNAME
|
113409
|
+
});
|
113410
|
+
}
|
113411
|
+
}
|
113299
113412
|
TD.className = '';
|
113300
113413
|
TD.appendChild(wrapper);
|
113301
113414
|
if ((0, _utils.isItemSeparator)(item)) {
|
@@ -116828,6 +116941,7 @@ var _menu = __webpack_require__(820);
|
|
116828
116941
|
var _pluginHooks = _interopRequireDefault(__webpack_require__(455));
|
116829
116942
|
var _predefinedItems = __webpack_require__(795);
|
116830
116943
|
__webpack_require__(857);
|
116944
|
+
var _constants = __webpack_require__(581);
|
116831
116945
|
var _a11y = __webpack_require__(445);
|
116832
116946
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
116833
116947
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
@@ -117253,7 +117367,7 @@ class DropdownMenu extends _base.BasePlugin {
|
|
117253
117367
|
button.type = 'button';
|
117254
117368
|
button.tabIndex = -1;
|
117255
117369
|
if (this.hot.getSettings().ariaTags) {
|
117256
|
-
(0, _element.setAttribute)(button, [(0, _a11y.
|
117370
|
+
(0, _element.setAttribute)(button, [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_OPEN_MENU))]);
|
117257
117371
|
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_HASPOPUP)('menu')]);
|
117258
117372
|
}
|
117259
117373
|
|
@@ -120553,11 +120667,8 @@ class InputUI extends _base.BaseUI {
|
|
120553
120667
|
*/
|
120554
120668
|
build() {
|
120555
120669
|
super.build();
|
120556
|
-
const icon = this.hot.rootDocument.createElement('div');
|
120557
120670
|
(0, _classPrivateFieldSet2.default)(this, _input, this._element.firstChild);
|
120558
120671
|
(0, _element.addClass)(this._element, 'htUIInput');
|
120559
|
-
(0, _element.addClass)(icon, 'htUIInputIcon');
|
120560
|
-
this._element.appendChild(icon);
|
120561
120672
|
this.update();
|
120562
120673
|
}
|
120563
120674
|
|
@@ -120823,9 +120934,11 @@ var _classPrivateFieldGet2 = _interopRequireDefault(__webpack_require__(460));
|
|
120823
120934
|
var _menu2 = __webpack_require__(820);
|
120824
120935
|
var _object = __webpack_require__(448);
|
120825
120936
|
var _array = __webpack_require__(444);
|
120937
|
+
var _element = __webpack_require__(302);
|
120826
120938
|
var C = _interopRequireWildcard(__webpack_require__(581));
|
120827
120939
|
var _predefinedItems = __webpack_require__(795);
|
120828
120940
|
var _base = __webpack_require__(899);
|
120941
|
+
var _a11y = __webpack_require__(445);
|
120829
120942
|
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); }
|
120830
120943
|
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; }
|
120831
120944
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
@@ -120982,6 +121095,10 @@ class SelectUI extends _base.BaseUI {
|
|
120982
121095
|
(0, _classPrivateFieldSet2.default)(this, _caption, caption);
|
120983
121096
|
(0, _classPrivateFieldSet2.default)(this, _captionElement, caption.element);
|
120984
121097
|
(0, _classPrivateFieldSet2.default)(this, _dropdown, dropdown);
|
121098
|
+
if (this.hot.getSettings().ariaTags) {
|
121099
|
+
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
121100
|
+
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
121101
|
+
}
|
120985
121102
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
120986
121103
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
120987
121104
|
(0, _classPrivateFieldGet2.default)(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
@@ -125262,9 +125379,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(455));
|
|
125262
125379
|
var _hideColumn = _interopRequireDefault(__webpack_require__(922));
|
125263
125380
|
var _showColumn = _interopRequireDefault(__webpack_require__(923));
|
125264
125381
|
var _translations = __webpack_require__(557);
|
125382
|
+
var _a11y = __webpack_require__(445);
|
125383
|
+
var _constants = __webpack_require__(581);
|
125265
125384
|
__webpack_require__(924);
|
125385
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
125266
125386
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
125267
125387
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
125388
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
125268
125389
|
_pluginHooks.default.getSingleton().register('beforeHideColumns');
|
125269
125390
|
_pluginHooks.default.getSingleton().register('afterHideColumns');
|
125270
125391
|
_pluginHooks.default.getSingleton().register('beforeUnhideColumns');
|
@@ -125272,6 +125393,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideColumns');
|
|
125272
125393
|
const PLUGIN_KEY = 'hiddenColumns';
|
125273
125394
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
125274
125395
|
const PLUGIN_PRIORITY = 310;
|
125396
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
125397
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
|
125398
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
|
125275
125399
|
|
125276
125400
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
125277
125401
|
|
@@ -125379,12 +125503,18 @@ const PLUGIN_PRIORITY = 310;
|
|
125379
125503
|
* ```
|
125380
125504
|
* :::
|
125381
125505
|
*/
|
125382
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
125383
125506
|
var _settings = /*#__PURE__*/new WeakMap();
|
125384
125507
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
125508
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
125385
125509
|
class HiddenColumns extends _base.BasePlugin {
|
125386
125510
|
constructor() {
|
125387
125511
|
super(...arguments);
|
125512
|
+
/**
|
125513
|
+
* Remove the indicator elements from the provided column header element.
|
125514
|
+
*
|
125515
|
+
* @param {HTMLElement} TH Column header element.
|
125516
|
+
*/
|
125517
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
125388
125518
|
/**
|
125389
125519
|
* Cached plugin settings.
|
125390
125520
|
*
|
@@ -125468,8 +125598,15 @@ class HiddenColumns extends _base.BasePlugin {
|
|
125468
125598
|
* Disables the plugin functionality for this Handsontable instance.
|
125469
125599
|
*/
|
125470
125600
|
disablePlugin() {
|
125601
|
+
const clearColHeader = (columnIndex, TH) => {
|
125602
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
125603
|
+
};
|
125471
125604
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
125472
125605
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
125606
|
+
this.hot.addHook('afterGetColHeader', clearColHeader);
|
125607
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
125608
|
+
this.hot.removeHook('afterGetColHeader', clearColHeader);
|
125609
|
+
});
|
125473
125610
|
super.disablePlugin();
|
125474
125611
|
this.resetCellsMeta();
|
125475
125612
|
}
|
@@ -125611,7 +125748,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
125611
125748
|
}
|
125612
125749
|
});
|
125613
125750
|
}
|
125614
|
-
|
125615
125751
|
/**
|
125616
125752
|
* Adds the additional column width for the hidden column indicators.
|
125617
125753
|
*
|
@@ -125716,14 +125852,35 @@ class HiddenColumns extends _base.BasePlugin {
|
|
125716
125852
|
* @param {HTMLElement} TH Header's TH element.
|
125717
125853
|
*/
|
125718
125854
|
onAfterGetColHeader(column, TH) {
|
125855
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
125856
|
+
const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
|
125857
|
+
const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
|
125719
125858
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || column < 0) {
|
125859
|
+
beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
|
125860
|
+
afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
|
125720
125861
|
return;
|
125721
125862
|
}
|
125722
125863
|
const classList = [];
|
125723
125864
|
if (column >= 1 && this.isHidden(column - 1)) {
|
125865
|
+
if (!afterHiddenColumnIndicatorElement) {
|
125866
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
|
125867
|
+
(0, _element.appendElement)(TH, {
|
125868
|
+
tagName: 'div',
|
125869
|
+
attributes: attributesToAdd,
|
125870
|
+
className: AFTER_INDICATOR_CLASSNAME
|
125871
|
+
});
|
125872
|
+
}
|
125724
125873
|
classList.push('afterHiddenColumn');
|
125725
125874
|
}
|
125726
125875
|
if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
|
125876
|
+
if (!beforeHiddenColumnIndicatorElement) {
|
125877
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
|
125878
|
+
(0, _element.appendElement)(TH, {
|
125879
|
+
tagName: 'div',
|
125880
|
+
attributes: attributesToAdd,
|
125881
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
125882
|
+
});
|
125883
|
+
}
|
125727
125884
|
classList.push('beforeHiddenColumn');
|
125728
125885
|
}
|
125729
125886
|
(0, _element.addClass)(TH, classList);
|
@@ -125762,6 +125919,11 @@ class HiddenColumns extends _base.BasePlugin {
|
|
125762
125919
|
}
|
125763
125920
|
}
|
125764
125921
|
exports.HiddenColumns = HiddenColumns;
|
125922
|
+
function _clearIndicatorElements2(TH) {
|
125923
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
125924
|
+
element.remove();
|
125925
|
+
});
|
125926
|
+
}
|
125765
125927
|
|
125766
125928
|
/***/ }),
|
125767
125929
|
/* 922 */
|
@@ -125974,9 +126136,13 @@ var _pluginHooks = _interopRequireDefault(__webpack_require__(455));
|
|
125974
126136
|
var _hideRow = _interopRequireDefault(__webpack_require__(927));
|
125975
126137
|
var _showRow = _interopRequireDefault(__webpack_require__(928));
|
125976
126138
|
var _translations = __webpack_require__(557);
|
126139
|
+
var _a11y = __webpack_require__(445);
|
126140
|
+
var _constants = __webpack_require__(581);
|
125977
126141
|
__webpack_require__(929);
|
126142
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
125978
126143
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
125979
126144
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
126145
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
125980
126146
|
_pluginHooks.default.getSingleton().register('beforeHideRows');
|
125981
126147
|
_pluginHooks.default.getSingleton().register('afterHideRows');
|
125982
126148
|
_pluginHooks.default.getSingleton().register('beforeUnhideRows');
|
@@ -125984,6 +126150,9 @@ _pluginHooks.default.getSingleton().register('afterUnhideRows');
|
|
125984
126150
|
const PLUGIN_KEY = 'hiddenRows';
|
125985
126151
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
125986
126152
|
const PLUGIN_PRIORITY = 320;
|
126153
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
126154
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenRowIndicator';
|
126155
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenRowIndicator';
|
125987
126156
|
|
125988
126157
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
125989
126158
|
|
@@ -126091,12 +126260,18 @@ const PLUGIN_PRIORITY = 320;
|
|
126091
126260
|
* ```
|
126092
126261
|
* :::
|
126093
126262
|
*/
|
126094
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
126095
126263
|
var _settings = /*#__PURE__*/new WeakMap();
|
126096
126264
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
126265
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
126097
126266
|
class HiddenRows extends _base.BasePlugin {
|
126098
126267
|
constructor() {
|
126099
126268
|
super(...arguments);
|
126269
|
+
/**
|
126270
|
+
* Remove the indicator elements from the provided row header element.
|
126271
|
+
*
|
126272
|
+
* @param {HTMLElement} TH Column header element.
|
126273
|
+
*/
|
126274
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
126100
126275
|
/**
|
126101
126276
|
* Cached settings from Handsontable settings.
|
126102
126277
|
*
|
@@ -126180,8 +126355,15 @@ class HiddenRows extends _base.BasePlugin {
|
|
126180
126355
|
* Disables the plugin functionality for this Handsontable instance.
|
126181
126356
|
*/
|
126182
126357
|
disablePlugin() {
|
126358
|
+
const clearRowHeader = (columnIndex, TH) => {
|
126359
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
126360
|
+
};
|
126183
126361
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
126184
126362
|
(0, _classPrivateFieldSet2.default)(this, _settings, {});
|
126363
|
+
this.hot.addHook('afterGetRowHeader', clearRowHeader);
|
126364
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
126365
|
+
this.hot.removeHook('afterGetRowHeader', clearRowHeader);
|
126366
|
+
});
|
126185
126367
|
super.disablePlugin();
|
126186
126368
|
this.resetCellsMeta();
|
126187
126369
|
}
|
@@ -126320,7 +126502,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
126320
126502
|
}
|
126321
126503
|
});
|
126322
126504
|
}
|
126323
|
-
|
126324
126505
|
/**
|
126325
126506
|
* Adds the additional row height for the hidden row indicators.
|
126326
126507
|
*
|
@@ -126420,14 +126601,35 @@ class HiddenRows extends _base.BasePlugin {
|
|
126420
126601
|
* @param {HTMLElement} TH Header's TH element.
|
126421
126602
|
*/
|
126422
126603
|
onAfterGetRowHeader(row, TH) {
|
126604
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
126605
|
+
const beforeHiddenRowIndicatorElement = TH.querySelector('.beforeHiddenRowIndicator');
|
126606
|
+
const afterHiddenRowIndicatorElement = TH.querySelector('.afterHiddenRowIndicator');
|
126423
126607
|
if (!(0, _classPrivateFieldGet2.default)(this, _settings).indicators || row < 0) {
|
126608
|
+
beforeHiddenRowIndicatorElement === null || beforeHiddenRowIndicatorElement === void 0 || beforeHiddenRowIndicatorElement.remove();
|
126609
|
+
afterHiddenRowIndicatorElement === null || afterHiddenRowIndicatorElement === void 0 || afterHiddenRowIndicatorElement.remove();
|
126424
126610
|
return;
|
126425
126611
|
}
|
126426
126612
|
const classList = [];
|
126427
126613
|
if (row >= 1 && this.isHidden(row - 1)) {
|
126614
|
+
if (!afterHiddenRowIndicatorElement) {
|
126615
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_AFTER_HIDDEN_ROW))] : [];
|
126616
|
+
(0, _element.appendElement)(TH, {
|
126617
|
+
tagName: 'div',
|
126618
|
+
attributes: attributesToAdd,
|
126619
|
+
className: AFTER_INDICATOR_CLASSNAME
|
126620
|
+
});
|
126621
|
+
}
|
126428
126622
|
classList.push('afterHiddenRow');
|
126429
126623
|
}
|
126430
126624
|
if (row < this.hot.countRows() - 1 && this.isHidden(row + 1)) {
|
126625
|
+
if (!beforeHiddenRowIndicatorElement) {
|
126626
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_LABEL_BEFORE_HIDDEN_ROW))] : [];
|
126627
|
+
(0, _element.appendElement)(TH, {
|
126628
|
+
tagName: 'div',
|
126629
|
+
attributes: attributesToAdd,
|
126630
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
126631
|
+
});
|
126632
|
+
}
|
126431
126633
|
classList.push('beforeHiddenRow');
|
126432
126634
|
}
|
126433
126635
|
(0, _element.addClass)(TH, classList);
|
@@ -126466,6 +126668,11 @@ class HiddenRows extends _base.BasePlugin {
|
|
126466
126668
|
}
|
126467
126669
|
}
|
126468
126670
|
exports.HiddenRows = HiddenRows;
|
126671
|
+
function _clearIndicatorElements2(TH) {
|
126672
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
126673
|
+
element.remove();
|
126674
|
+
});
|
126675
|
+
}
|
126469
126676
|
|
126470
126677
|
/***/ }),
|
126471
126678
|
/* 927 */
|
@@ -132564,6 +132771,8 @@ var _element = __webpack_require__(302);
|
|
132564
132771
|
var _rootComparator = __webpack_require__(962);
|
132565
132772
|
var _utils2 = __webpack_require__(963);
|
132566
132773
|
var _domHelpers = __webpack_require__(964);
|
132774
|
+
var _a11y = __webpack_require__(445);
|
132775
|
+
var _constants = __webpack_require__(581);
|
132567
132776
|
__webpack_require__(965);
|
132568
132777
|
const PLUGIN_KEY = 'multiColumnSorting';
|
132569
132778
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
@@ -132825,6 +133034,25 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
132825
133034
|
}
|
132826
133035
|
}
|
132827
133036
|
|
133037
|
+
/**
|
133038
|
+
* Update sorting indicator.
|
133039
|
+
*
|
133040
|
+
* @private
|
133041
|
+
* @param {number} column Visual column index.
|
133042
|
+
* @param {HTMLElement} headerSpanElement Header span element.
|
133043
|
+
*/
|
133044
|
+
updateSortingIndicator(column, headerSpanElement) {
|
133045
|
+
super.updateSortingIndicator(column, headerSpanElement);
|
133046
|
+
const indicatorElement = headerSpanElement.querySelector('.columnSortingIndicator');
|
133047
|
+
if (!indicatorElement || !this.hot.getSettings().ariaTags || !this.columnStatesManager.isColumnSorted(column) || this.columnStatesManager.getNumberOfSortedColumns() <= 1) {
|
133048
|
+
return;
|
133049
|
+
}
|
133050
|
+
const multiColumnSortingOrder = this.columnStatesManager.getIndexOfColumnInSortQueue(column) + 1;
|
133051
|
+
const a11yLabelAttribute = (0, _a11y.A11Y_LABEL)(`${this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_MULTI_COLUMN_SORT_ORDER)} ${multiColumnSortingOrder}.`);
|
133052
|
+
(0, _element.removeAttribute)(indicatorElement, (0, _a11y.A11Y_HIDDEN)()[0]);
|
133053
|
+
(0, _element.setAttribute)(indicatorElement, ...a11yLabelAttribute);
|
133054
|
+
}
|
133055
|
+
|
132828
133056
|
/**
|
132829
133057
|
* Overwriting base plugin's `onUpdateSettings` method. Please keep in mind that `onAfterUpdateSettings` isn't called
|
132830
133058
|
* for `updateSettings` in specific situations.
|
@@ -136584,7 +136812,8 @@ class NestedRows extends _base.BasePlugin {
|
|
136584
136812
|
/**
|
136585
136813
|
* Updates the plugin's state.
|
136586
136814
|
*
|
136587
|
-
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
136815
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the
|
136816
|
+
* following configuration options:
|
136588
136817
|
* - [`nestedRows`](@/api/options.md#nestedrows)
|
136589
136818
|
*/
|
136590
136819
|
updatePlugin() {
|
@@ -138172,6 +138401,7 @@ var _number = __webpack_require__(471);
|
|
138172
138401
|
var _element = __webpack_require__(302);
|
138173
138402
|
var _base = _interopRequireDefault(__webpack_require__(989));
|
138174
138403
|
var _a11y = __webpack_require__(445);
|
138404
|
+
var _constants = __webpack_require__(581);
|
138175
138405
|
/**
|
138176
138406
|
* Class responsible for the UI in the Nested Rows' row headers.
|
138177
138407
|
*
|
@@ -138189,7 +138419,6 @@ class HeadersUI extends _base.default {
|
|
138189
138419
|
return {
|
138190
138420
|
indicatorContainer: 'ht_nestingLevels',
|
138191
138421
|
parent: 'ht_nestingParent',
|
138192
|
-
indicator: 'ht_nestingLevel',
|
138193
138422
|
emptyIndicator: 'ht_nestingLevel_empty',
|
138194
138423
|
button: 'ht_nestingButton',
|
138195
138424
|
expandButton: 'ht_nestingExpand',
|
@@ -138267,12 +138496,12 @@ class HeadersUI extends _base.default {
|
|
138267
138496
|
if (this.collapsingUI.areChildrenCollapsed(rowIndex)) {
|
138268
138497
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.expandButton}`);
|
138269
138498
|
if (ariaEnabled) {
|
138270
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false)]);
|
138499
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(false), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_EXPAND_ROW))]);
|
138271
138500
|
}
|
138272
138501
|
} else {
|
138273
138502
|
(0, _element.addClass)(buttonsContainer, `${HeadersUI.CSS_CLASSES.button} ${HeadersUI.CSS_CLASSES.collapseButton}`);
|
138274
138503
|
if (ariaEnabled) {
|
138275
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true)]);
|
138504
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_EXPANDED)(true), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.ROW_HEADER_DESCRIPTION_COLLAPSE_ROW))]);
|
138276
138505
|
}
|
138277
138506
|
}
|
138278
138507
|
innerDiv.appendChild(buttonsContainer);
|