@syncfusion/ej2-dropdowns 33.2.10 → 33.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ej2-dropdowns.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es2015.js +42 -9
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +43 -9
- package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
- package/dist/global/ej2-dropdowns.min.js +2 -2
- package/dist/global/ej2-dropdowns.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +4 -4
- package/src/drop-down-list/drop-down-list.js +7 -6
- package/src/multi-select/checkbox-selection.js +4 -2
- package/src/multi-select/multi-select.d.ts +3 -0
- package/src/multi-select/multi-select.js +32 -1
|
@@ -5991,7 +5991,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
5991
5991
|
}, 5);
|
|
5992
5992
|
}
|
|
5993
5993
|
attributes(this.targetElement(), { 'aria-expanded': 'true', 'aria-owns': this.element.id + '_popup', 'aria-controls': this.element.id });
|
|
5994
|
-
if (this.
|
|
5994
|
+
if (this.list.classList.contains('e-nodata')) {
|
|
5995
5995
|
attributes(this.targetElement(), { 'aria-activedescendant': 'no-record' });
|
|
5996
5996
|
this.popupContentElement.setAttribute('role', 'status');
|
|
5997
5997
|
this.popupContentElement.setAttribute('id', 'no-record');
|
|
@@ -6184,9 +6184,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6184
6184
|
ulElement = null;
|
|
6185
6185
|
},
|
|
6186
6186
|
targetExitViewport: () => {
|
|
6187
|
-
|
|
6188
|
-
this.hidePopup();
|
|
6189
|
-
}
|
|
6187
|
+
this.hidePopup();
|
|
6190
6188
|
}
|
|
6191
6189
|
});
|
|
6192
6190
|
}
|
|
@@ -6796,8 +6794,8 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6796
6794
|
if (!this.targetElement().hasAttribute('aria-label')) {
|
|
6797
6795
|
attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
|
|
6798
6796
|
}
|
|
6799
|
-
if (!this.inputElement.hasAttribute('aria-
|
|
6800
|
-
this.inputElement.setAttribute('aria-
|
|
6797
|
+
if (!this.inputElement.hasAttribute('aria-labelledby')) {
|
|
6798
|
+
this.inputElement.setAttribute('aria-labelledby', this.hiddenElement.id);
|
|
6801
6799
|
}
|
|
6802
6800
|
this.inputElement.setAttribute('aria-expanded', 'false');
|
|
6803
6801
|
}
|
|
@@ -7153,6 +7151,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
7153
7151
|
}
|
|
7154
7152
|
break;
|
|
7155
7153
|
case 'value':
|
|
7154
|
+
if (this.isAngular && closest(this.inputElement, 'form') && oldProp.value === newProp.value) {
|
|
7155
|
+
this.preventChange = true;
|
|
7156
|
+
}
|
|
7156
7157
|
if (this.fields.disabled) {
|
|
7157
7158
|
newProp.value = newProp.value != null && !this.isDisableItemValue(newProp.value) ? newProp.value : null;
|
|
7158
7159
|
}
|
|
@@ -13416,6 +13417,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13416
13417
|
this.selectAllEventEle = [];
|
|
13417
13418
|
this.preventSetCurrentData = false;
|
|
13418
13419
|
this.isSelectAllLoop = false;
|
|
13420
|
+
this.isInitialFocusAnnouncementDone = false;
|
|
13419
13421
|
this.scrollFocusStatus = false;
|
|
13420
13422
|
this.keyDownStatus = false;
|
|
13421
13423
|
}
|
|
@@ -14651,6 +14653,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
14651
14653
|
return;
|
|
14652
14654
|
}
|
|
14653
14655
|
this.inputFocus = false;
|
|
14656
|
+
this.isInitialFocusAnnouncementDone = false;
|
|
14654
14657
|
this.overAllWrapper.classList.remove(FOCUS);
|
|
14655
14658
|
if (this.addTagOnBlur) {
|
|
14656
14659
|
const dataChecks = this.getValueByText(this.inputElement.value, this.ignoreCase, this.ignoreAccent);
|
|
@@ -14917,6 +14920,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
14917
14920
|
this.trigger('focus', args);
|
|
14918
14921
|
this.focused = false;
|
|
14919
14922
|
}
|
|
14923
|
+
if (!this.isInitialFocusAnnouncementDone) {
|
|
14924
|
+
this.announceInitialFocusInstruction();
|
|
14925
|
+
this.isInitialFocusAnnouncementDone = true;
|
|
14926
|
+
}
|
|
14920
14927
|
if (!this.overAllWrapper.classList.contains(FOCUS)) {
|
|
14921
14928
|
this.overAllWrapper.classList.add(FOCUS);
|
|
14922
14929
|
}
|
|
@@ -15638,6 +15645,24 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15638
15645
|
}
|
|
15639
15646
|
this.checkPlaceholderSize();
|
|
15640
15647
|
}
|
|
15648
|
+
announceSelection(text) {
|
|
15649
|
+
if (text && this.chipAnnouncerLiveRegion) {
|
|
15650
|
+
const count = this.value ? this.value.length : 0;
|
|
15651
|
+
const announcement = `${text} added to selection ${count} items selected`;
|
|
15652
|
+
this.chipAnnouncerLiveRegion.textContent = announcement;
|
|
15653
|
+
}
|
|
15654
|
+
}
|
|
15655
|
+
announceInitialFocusInstruction() {
|
|
15656
|
+
if (this.chipAnnouncerLiveRegion) {
|
|
15657
|
+
const instruction = 'Use arrow keys to open popup and navigate items, Enter to select, and Backspace to delete selections';
|
|
15658
|
+
this.chipAnnouncerLiveRegion.textContent = '';
|
|
15659
|
+
setTimeout(() => {
|
|
15660
|
+
if (this.chipAnnouncerLiveRegion) {
|
|
15661
|
+
this.chipAnnouncerLiveRegion.textContent = instruction;
|
|
15662
|
+
}
|
|
15663
|
+
}, 200);
|
|
15664
|
+
}
|
|
15665
|
+
}
|
|
15641
15666
|
moveByTop(state) {
|
|
15642
15667
|
const elements = this.list.querySelectorAll('li.' + dropDownBaseClasses.li);
|
|
15643
15668
|
let index;
|
|
@@ -15841,7 +15866,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15841
15866
|
element.setAttribute('aria-hidden', 'true');
|
|
15842
15867
|
const chipTitle = element.getAttribute('title');
|
|
15843
15868
|
if (chipTitle && this.chipAnnouncerLiveRegion) {
|
|
15844
|
-
const announcement =
|
|
15869
|
+
const announcement = chipTitle.length > 500
|
|
15870
|
+
? 'Chip focused. Press Backspace to remove'
|
|
15871
|
+
: `${chipTitle} focused. Press Backspace to remove`;
|
|
15845
15872
|
this.chipAnnouncerLiveRegion.textContent = announcement;
|
|
15846
15873
|
}
|
|
15847
15874
|
if (!isNullOrUndefined(this.inputElement) && element.id) {
|
|
@@ -16210,6 +16237,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
16210
16237
|
if (this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {
|
|
16211
16238
|
this.addChip(text, value, eve);
|
|
16212
16239
|
}
|
|
16240
|
+
else {
|
|
16241
|
+
this.announceSelection(text);
|
|
16242
|
+
}
|
|
16213
16243
|
if (this.hideSelectedItem && this.fields.groupBy) {
|
|
16214
16244
|
this.hideGroupItem(value);
|
|
16215
16245
|
}
|
|
@@ -16420,6 +16450,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
16420
16450
|
}
|
|
16421
16451
|
EventHandler.add(chipClose, 'mousedown', this.onChipRemove, this);
|
|
16422
16452
|
this.chipCollectionWrapper.appendChild(chip);
|
|
16453
|
+
this.announceSelection(data);
|
|
16423
16454
|
if (!this.changeOnBlur && e) {
|
|
16424
16455
|
this.updateValueState(e, this.value, this.tempValues);
|
|
16425
16456
|
}
|
|
@@ -20918,8 +20949,10 @@ class CheckBoxSelection {
|
|
|
20918
20949
|
}
|
|
20919
20950
|
}
|
|
20920
20951
|
setLocale(unSelect) {
|
|
20921
|
-
|
|
20922
|
-
|
|
20952
|
+
const template = unSelect ? this.parent.unSelectAllText : this.parent.selectAllText;
|
|
20953
|
+
const isListBox = this.parent.element.classList.contains('e-listbox');
|
|
20954
|
+
if ((this.parent.selectAllText !== 'Select All' || this.parent.unSelectAllText !== 'Unselect All') &&
|
|
20955
|
+
(!isListBox || typeof template === 'function' || (typeof template === 'string' && /<[a-z][\s\S]*>/i.test(template)))) {
|
|
20923
20956
|
this.selectAllSpan.textContent = '';
|
|
20924
20957
|
const compiledString = compile(template);
|
|
20925
20958
|
const templateName = unSelect ? 'unSelectAllText' : 'selectAllText';
|