@syncfusion/ej2-dropdowns 24.2.6 → 24.2.8

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 24.2.6
3
+ * version : 24.2.8
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-dropdowns@*",
3
- "_id": "@syncfusion/ej2-dropdowns@24.2.5",
3
+ "_id": "@syncfusion/ej2-dropdowns@24.2.7",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-u794hQABLY4qA2bQ2I9lsrbZMHQdnAOkQdNME61PHEaPLLJC45RdwF0TK1C4FiSgfBPRHPQhUeL9Yk14V+U9IA==",
5
+ "_integrity": "sha512-cuO9ubsNievpbwKBvHyByYZ65QLkYTPCd+sectppRBcHHO92eiRpKI83AnRbcgb1NvLgni2Um1f5gsf5a6uK+Q==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -34,8 +34,8 @@
34
34
  "/@syncfusion/ej2-spreadsheet",
35
35
  "/@syncfusion/ej2-vue-dropdowns"
36
36
  ],
37
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-24.2.5.tgz",
38
- "_shasum": "d5e5127024e044ee6c0937e333d47ddeb4a8b54a",
37
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-24.2.7.tgz",
38
+ "_shasum": "06363d306cbb179c9c3cf51f38d08098267f2b0c",
39
39
  "_spec": "@syncfusion/ej2-dropdowns@*",
40
40
  "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
41
41
  "author": {
@@ -43,13 +43,13 @@
43
43
  },
44
44
  "bundleDependencies": false,
45
45
  "dependencies": {
46
- "@syncfusion/ej2-base": "~24.2.5",
46
+ "@syncfusion/ej2-base": "~24.2.7",
47
47
  "@syncfusion/ej2-data": "~24.2.3",
48
- "@syncfusion/ej2-inputs": "~24.2.6",
49
- "@syncfusion/ej2-lists": "~24.2.4",
50
- "@syncfusion/ej2-navigations": "~24.2.4",
48
+ "@syncfusion/ej2-inputs": "~24.2.7",
49
+ "@syncfusion/ej2-lists": "~24.2.8",
50
+ "@syncfusion/ej2-navigations": "~24.2.8",
51
51
  "@syncfusion/ej2-notifications": "~24.2.4",
52
- "@syncfusion/ej2-popups": "~24.2.5"
52
+ "@syncfusion/ej2-popups": "~24.2.8"
53
53
  },
54
54
  "deprecated": false,
55
55
  "description": "Essential JS 2 DropDown Components",
@@ -74,7 +74,7 @@
74
74
  "module": "./index.js",
75
75
  "name": "@syncfusion/ej2-dropdowns",
76
76
  "typings": "index.d.ts",
77
- "version": "24.2.6",
77
+ "version": "24.2.8",
78
78
  "sideEffects": false,
79
79
  "homepage": "https://www.syncfusion.com/javascript-ui-controls"
80
80
  }
@@ -1242,7 +1242,7 @@ var DropDownTree = /** @class */ (function (_super) {
1242
1242
  this.ensurePlaceHolder();
1243
1243
  ariaState = state === 'check' ? 'true' : 'false';
1244
1244
  if (!isNOU(ariaState)) {
1245
- wrapper.setAttribute('aria-checked', ariaState);
1245
+ wrapper.parentElement.setAttribute('aria-checked', ariaState);
1246
1246
  }
1247
1247
  };
1248
1248
  DropDownTree.prototype.setLocale = function (unSelect) {
@@ -2033,7 +2033,7 @@ var DropDownTree = /** @class */ (function (_super) {
2033
2033
  }
2034
2034
  if (this.showSelectAll && this.checkBoxElement) {
2035
2035
  var nodes = this.treeObj.element.querySelectorAll('li');
2036
- var checkedNodes = this.treeObj.element.querySelectorAll('li .e-checkbox-wrapper[aria-checked=true]');
2036
+ var checkedNodes = this.treeObj.element.querySelectorAll('li[aria-checked=true]');
2037
2037
  var wrap = closest(this.checkBoxElement, '.' + CHECKBOXWRAP);
2038
2038
  if (wrap && args.action === 'uncheck' && (args.isInteracted || checkedNodes.length === 0 || (!isNOU(args.data[0]) && args.data[0].isChecked === 'false'))) {
2039
2039
  this.isReverseUpdate = true;
@@ -1,4 +1,4 @@
1
- import { KeyboardEvents, compile, Property, EventHandler, Animation, AnimationModel, KeyboardEventArgs, formatUnit, append, attributes } from '@syncfusion/ej2-base';import { isNullOrUndefined, detach, Event, EmitType, Complex, addClass, removeClass, closest, isUndefined, getValue, NotifyPropertyChanges, Browser } from '@syncfusion/ej2-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { FieldSettings, FilteringEventArgs, FilterType } from '../drop-down-base/drop-down-base';import { DropDownBase, PopupEventArgs, SelectEventArgs, BeforeOpenEventArgs, dropDownBaseClasses } from '../drop-down-base/drop-down-base';import { DataManager, Query } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { Popup, isCollide, createSpinner, showSpinner, hideSpinner, getZindexPartial } from '@syncfusion/ej2-popups';import { highlightSearch, revertHighlightSearch } from '../common/highlight-search';
1
+ import { compile, Property, EventHandler, Animation, AnimationModel, KeyboardEventArgs, formatUnit, append, attributes } from '@syncfusion/ej2-base';import { isNullOrUndefined, detach, Event, EmitType, Complex, addClass, removeClass, closest, isUndefined, getValue, NotifyPropertyChanges, Browser } from '@syncfusion/ej2-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { FieldSettings, FilteringEventArgs, FilterType } from '../drop-down-base/drop-down-base';import { DropDownBase, PopupEventArgs, SelectEventArgs, BeforeOpenEventArgs, dropDownBaseClasses } from '../drop-down-base/drop-down-base';import { DataManager, Query } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { Popup, isCollide, createSpinner, showSpinner, hideSpinner, getZindexPartial } from '@syncfusion/ej2-popups';import { highlightSearch, revertHighlightSearch } from '../common/highlight-search';
2
2
  import {MentionChangeEventArgs} from "./mention";
3
3
 
4
4
  /**
@@ -41,7 +41,6 @@ export declare class Mention extends DropDownBase {
41
41
  private previousSelectedLI;
42
42
  private previousItemData;
43
43
  private activeIndex;
44
- private keyConfigure;
45
44
  private isFiltered;
46
45
  private beforePopupOpen;
47
46
  private listHeight;
@@ -357,6 +356,7 @@ export declare class Mention extends DropDownBase {
357
356
  * @returns {void}
358
357
  */
359
358
  private showWaitingSpinner;
359
+ private keyDownHandler;
360
360
  private keyActionHandler;
361
361
  private updateUpDownAction;
362
362
  private isSelectFocusItem;
@@ -17,7 +17,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { KeyboardEvents, compile, Property, EventHandler, Animation, formatUnit, append, attributes } from '@syncfusion/ej2-base';
20
+ import { compile, Property, EventHandler, Animation, formatUnit, append, attributes } from '@syncfusion/ej2-base';
21
21
  import { isNullOrUndefined, detach, Event, Complex, addClass, removeClass, closest, isUndefined, getValue, NotifyPropertyChanges, Browser } from '@syncfusion/ej2-base';
22
22
  import { FieldSettings } from '../drop-down-base/drop-down-base';
23
23
  import { DropDownBase, dropDownBaseClasses } from '../drop-down-base/drop-down-base';
@@ -103,21 +103,6 @@ var Mention = /** @class */ (function (_super) {
103
103
  this.isPopupOpen = false;
104
104
  this.isCollided = false;
105
105
  this.lineBreak = false;
106
- this.keyConfigure = {
107
- tab: 'tab',
108
- enter: '13',
109
- escape: '27',
110
- end: '35',
111
- home: '36',
112
- down: '40',
113
- up: '38',
114
- pageUp: '33',
115
- pageDown: '34',
116
- open: 'alt+40',
117
- close: 'shift+tab',
118
- hide: 'alt+38',
119
- space: '32'
120
- };
121
106
  };
122
107
  /**
123
108
  * Execute before render the list items
@@ -163,9 +148,7 @@ var Mention = /** @class */ (function (_super) {
163
148
  };
164
149
  Mention.prototype.bindCommonEvent = function () {
165
150
  if (!Browser.isDevice) {
166
- this.keyboardModule = new KeyboardEvents(this.inputElement, {
167
- keyAction: this.keyActionHandler.bind(this), keyConfigs: this.keyConfigure, eventName: 'keydown'
168
- });
151
+ this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
169
152
  }
170
153
  };
171
154
  /**
@@ -217,6 +200,47 @@ var Mention = /** @class */ (function (_super) {
217
200
  }
218
201
  }
219
202
  };
203
+ Mention.prototype.keyDownHandler = function (e) {
204
+ var isKeyAction = true;
205
+ switch (e.keyCode) {
206
+ case 38:
207
+ e.action = e.altKey ? 'hide' : 'up';
208
+ break;
209
+ case 40:
210
+ e.action = e.altKey ? 'open' : 'down';
211
+ break;
212
+ case 33:
213
+ e.action = 'pageUp';
214
+ break;
215
+ case 34:
216
+ e.action = 'pageDown';
217
+ break;
218
+ case 36:
219
+ e.action = 'home';
220
+ break;
221
+ case 35:
222
+ e.action = 'end';
223
+ break;
224
+ case 9:
225
+ e.action = e.shiftKey ? 'close' : 'tab';
226
+ break;
227
+ case 27:
228
+ e.action = 'escape';
229
+ break;
230
+ case 32:
231
+ e.action = 'space';
232
+ break;
233
+ case 13:
234
+ e.action = 'enter';
235
+ break;
236
+ default:
237
+ isKeyAction = false;
238
+ break;
239
+ }
240
+ if (isKeyAction) {
241
+ this.keyActionHandler(e);
242
+ }
243
+ };
220
244
  Mention.prototype.keyActionHandler = function (e) {
221
245
  var isNavigation = (e.action === 'down' || e.action === 'up' || e.action === 'pageUp' || e.action === 'pageDown'
222
246
  || e.action === 'home' || e.action === 'end');
@@ -295,7 +319,7 @@ var Mention = /** @class */ (function (_super) {
295
319
  };
296
320
  Mention.prototype.unBindCommonEvent = function () {
297
321
  if (!Browser.isDevice) {
298
- this.keyboardModule.destroy();
322
+ this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this), true);
299
323
  }
300
324
  };
301
325
  Mention.prototype.onKeyUp = function (e) {
@@ -899,7 +923,7 @@ var Mention = /** @class */ (function (_super) {
899
923
  for (var i = 0; i < iframes.length; i++) {
900
924
  // eslint-disable-next-line security/detect-object-injection
901
925
  var iframe = iframes[i];
902
- if (iframe.contentDocument.contains(element)) {
926
+ if (iframe.contentDocument && iframe.contentDocument.contains(element)) {
903
927
  var iframeRect = iframe.getBoundingClientRect();
904
928
  rectTop += iframeRect.top;
905
929
  rectLeft += iframeRect.left;
@@ -975,7 +999,7 @@ var Mention = /** @class */ (function (_super) {
975
999
  * @returns {void}
976
1000
  */
977
1001
  Mention.prototype.wireListEvents = function () {
978
- EventHandler.add(this.list, 'click', this.onMouseClick, this);
1002
+ EventHandler.add(this.list, 'mousedown', this.onMouseClick, this);
979
1003
  EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);
980
1004
  EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);
981
1005
  };
@@ -985,7 +1009,7 @@ var Mention = /** @class */ (function (_super) {
985
1009
  * @returns {void}
986
1010
  */
987
1011
  Mention.prototype.unWireListEvents = function () {
988
- EventHandler.remove(this.list, 'click', this.onMouseClick);
1012
+ EventHandler.remove(this.list, 'mousedown', this.onMouseClick);
989
1013
  EventHandler.remove(this.list, 'mouseover', this.onMouseOver);
990
1014
  EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);
991
1015
  };
@@ -1000,6 +1024,7 @@ var Mention = /** @class */ (function (_super) {
1000
1024
  var delay = 100;
1001
1025
  this.closePopup(delay, e);
1002
1026
  this.inputElement.focus();
1027
+ e.preventDefault();
1003
1028
  };
1004
1029
  Mention.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {
1005
1030
  var _this = this;
@@ -51,6 +51,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
51
51
  private focusFirstListItem;
52
52
  private isCustomRendered;
53
53
  private isRemoteSelection;
54
+ private isSelectAllTarget;
54
55
  /**
55
56
  * The `fields` property maps the columns of the data table and binds the data to the component.
56
57
  * * text - Maps the text column from data table for each list item.
@@ -632,7 +632,7 @@ var MultiSelect = /** @class */ (function (_super) {
632
632
  };
633
633
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
634
634
  MultiSelect.prototype.openClick = function (e) {
635
- if (!this.openOnClick && this.mode !== 'CheckBox') {
635
+ if (!this.openOnClick && this.mode !== 'CheckBox' && !this.isPopupOpen()) {
636
636
  if (this.targetElement() !== '') {
637
637
  this.showPopup();
638
638
  }
@@ -1804,7 +1804,7 @@ var MultiSelect = /** @class */ (function (_super) {
1804
1804
  _this.trigger('removed', eventArgs);
1805
1805
  var targetEle_1 = eve && eve.currentTarget;
1806
1806
  var isSelectAll = (targetEle_1 && targetEle_1.classList.contains('e-selectall-parent')) ? true : null;
1807
- if (!_this.changeOnBlur && !isClearAll && (eve && length && !isSelectAll)) {
1807
+ if (!_this.changeOnBlur && !isClearAll && (eve && length && !isSelectAll && _this.isSelectAllTarget)) {
1808
1808
  _this.updateValueState(eve, _this.value, _this.tempValues);
1809
1809
  }
1810
1810
  if (length) {
@@ -2479,6 +2479,7 @@ var MultiSelect = /** @class */ (function (_super) {
2479
2479
  this.backCommand = true;
2480
2480
  this.isCustomRendered = false;
2481
2481
  this.isRemoteSelection = false;
2482
+ this.isSelectAllTarget = true;
2482
2483
  };
2483
2484
  MultiSelect.prototype.updateData = function (delimiterChar, e) {
2484
2485
  var data = '';
@@ -3396,6 +3397,7 @@ var MultiSelect = /** @class */ (function (_super) {
3396
3397
  count_1 = state ? this.maximumSelectionLength - (this.value ? this.value.length : 0) : this.maximumSelectionLength;
3397
3398
  }
3398
3399
  if (!beforeSelectArgs.preventSelectEvent) {
3400
+ this.isSelectAllTarget = (length === index_1 + 1);
3399
3401
  while (index_1 < length && index_1 <= 50 && index_1 < count_1) {
3400
3402
  this.updateListSelection(li[index_1], event, length - index_1);
3401
3403
  if (this.enableGroupCheckBox) {
@@ -3406,6 +3408,7 @@ var MultiSelect = /** @class */ (function (_super) {
3406
3408
  if (length > 50) {
3407
3409
  setTimeout(function () {
3408
3410
  while (index_1 < length && index_1 < count_1) {
3411
+ _this.isSelectAllTarget = (length === index_1 + 1);
3409
3412
  _this.updateListSelection(li[index_1], event, length - index_1);
3410
3413
  if (_this.enableGroupCheckBox) {
3411
3414
  _this.findGroupStart(li[index_1]);
@@ -3418,6 +3421,12 @@ var MultiSelect = /** @class */ (function (_super) {
3418
3421
  _this.isSelectAll = _this.isSelectAll ? !_this.isSelectAll : _this.isSelectAll;
3419
3422
  }
3420
3423
  _this.updateHiddenElement();
3424
+ if (_this.popupWrapper && li[index_1 - 1].classList.contains('e-item-focus')) {
3425
+ var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];
3426
+ if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {
3427
+ li[index_1 - 1].classList.remove('e-item-focus');
3428
+ }
3429
+ }
3421
3430
  }, 0);
3422
3431
  }
3423
3432
  }
@@ -3516,7 +3525,7 @@ var MultiSelect = /** @class */ (function (_super) {
3516
3525
  }
3517
3526
  if (this.mode === 'CheckBox') {
3518
3527
  this.updateDelimView();
3519
- if (!(isRemoveAll || this.isSelectAll)) {
3528
+ if (!(isRemoveAll || this.isSelectAll) && this.isSelectAllTarget) {
3520
3529
  this.updateDelimeter(this.delimiterChar, event);
3521
3530
  }
3522
3531
  this.refreshInputHight();