@syncfusion/ej2-navigations 35.1.42 → 35.1.43

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.
@@ -4115,10 +4115,15 @@ let Toolbar = class Toolbar extends Component {
4115
4115
  return;
4116
4116
  }
4117
4117
  if (rootEle === trgt) {
4118
- this.elementFocus(clst);
4118
+ if (this.isDropDownList(clst.firstElementChild)) {
4119
+ this.eleFocus(clst, 'next', true);
4120
+ }
4121
+ else {
4122
+ this.elementFocus(clst);
4123
+ }
4119
4124
  }
4120
4125
  else if (!navChk) {
4121
- this.eleFocus(clst, 'next');
4126
+ this.eleFocus(clst, 'next', true);
4122
4127
  }
4123
4128
  break;
4124
4129
  case 'moveLeft':
@@ -4126,7 +4131,7 @@ let Toolbar = class Toolbar extends Component {
4126
4131
  return;
4127
4132
  }
4128
4133
  if (!navChk) {
4129
- this.eleFocus(clst, 'previous');
4134
+ this.eleFocus(clst, 'previous', true);
4130
4135
  }
4131
4136
  break;
4132
4137
  case 'home':
@@ -4316,12 +4321,13 @@ let Toolbar = class Toolbar extends Component {
4316
4321
  }
4317
4322
  return element;
4318
4323
  }
4319
- eleFocus(closest, pos) {
4324
+ eleFocus(closest, pos, skipDropDownList = false) {
4320
4325
  const sib = Object(closest)[pos + 'ElementSibling'];
4321
4326
  if (sib) {
4322
- const skipEle = this.eleContains(sib);
4327
+ const skipEle = this.eleContains(sib) ||
4328
+ (skipDropDownList && this.isDropDownList(sib.firstElementChild));
4323
4329
  if (skipEle) {
4324
- this.eleFocus(sib, pos);
4330
+ this.eleFocus(sib, pos, skipDropDownList);
4325
4331
  return;
4326
4332
  }
4327
4333
  this.elementFocus(sib);
@@ -4334,8 +4340,8 @@ let Toolbar = class Toolbar extends Component {
4334
4340
  if (!isNullOrUndefined(elem) && elem.children.length > 0) {
4335
4341
  if (pos === 'next') {
4336
4342
  const el = elem.querySelector('.' + CLS_ITEM);
4337
- if (this.eleContains(el)) {
4338
- this.eleFocus(el, pos);
4343
+ if (this.eleContains(el) || (skipDropDownList && this.isDropDownList(el.firstElementChild))) {
4344
+ this.eleFocus(el, pos, skipDropDownList);
4339
4345
  }
4340
4346
  else {
4341
4347
  el.firstElementChild.focus();
@@ -4344,8 +4350,8 @@ let Toolbar = class Toolbar extends Component {
4344
4350
  }
4345
4351
  else {
4346
4352
  const el = elem.lastElementChild;
4347
- if (this.eleContains(el)) {
4348
- this.eleFocus(el, pos);
4353
+ if (this.eleContains(el) || (skipDropDownList && this.isDropDownList(el.firstElementChild))) {
4354
+ this.eleFocus(el, pos, skipDropDownList);
4349
4355
  }
4350
4356
  else {
4351
4357
  this.elementFocus(el);
@@ -4356,10 +4362,24 @@ let Toolbar = class Toolbar extends Component {
4356
4362
  else if (!isNullOrUndefined(closest)) {
4357
4363
  const tbrItems = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + ')' + ':not(.' + CLS_DISABLE$2 + ')' + ':not(.' + CLS_HIDDEN + ')');
4358
4364
  if (pos === 'next' && tbrItems) {
4359
- this.elementFocus(tbrItems[0]);
4365
+ let index = 0;
4366
+ while (skipDropDownList && index < tbrItems.length &&
4367
+ this.isDropDownList(tbrItems[index].firstElementChild)) {
4368
+ index++;
4369
+ }
4370
+ if (index < tbrItems.length) {
4371
+ this.elementFocus(tbrItems[index]);
4372
+ }
4360
4373
  }
4361
4374
  else if (pos === 'previous' && tbrItems) {
4362
- this.elementFocus(tbrItems[tbrItems.length - 1]);
4375
+ let index = tbrItems.length - 1;
4376
+ while (skipDropDownList && index >= 0 &&
4377
+ this.isDropDownList(tbrItems[index].firstElementChild)) {
4378
+ index--;
4379
+ }
4380
+ if (index >= 0) {
4381
+ this.elementFocus(tbrItems[index]);
4382
+ }
4363
4383
  }
4364
4384
  }
4365
4385
  }
@@ -5690,7 +5710,9 @@ let Toolbar = class Toolbar extends Component {
5690
5710
  this.add(innerEle, CLS_TEMPLATE);
5691
5711
  const firstChild = innerEle.firstElementChild;
5692
5712
  if (!isNullOrUndefined(firstChild)) {
5693
- firstChild.setAttribute('tabindex', isNullOrUndefined(firstChild.getAttribute('tabIndex')) ? '-1' : this.getDataTabindex(firstChild));
5713
+ if (!this.isDropDownList(firstChild)) {
5714
+ firstChild.setAttribute('tabindex', isNullOrUndefined(firstChild.getAttribute('tabIndex')) ? '-1' : this.getDataTabindex(firstChild));
5715
+ }
5694
5716
  firstChild.setAttribute('data-tabindex', isNullOrUndefined(firstChild.getAttribute('tabIndex')) ? '-1' : this.getDataTabindex(firstChild));
5695
5717
  }
5696
5718
  this.tbarEle.push(innerEle);
@@ -5808,6 +5830,17 @@ let Toolbar = class Toolbar extends Component {
5808
5830
  getDataTabindex(ele) {
5809
5831
  return isNullOrUndefined(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');
5810
5832
  }
5833
+ isDropDownList(ele) {
5834
+ if (isNullOrUndefined(ele)) {
5835
+ return false;
5836
+ }
5837
+ const input = ele.querySelector('input.e-control');
5838
+ if (isNullOrUndefined(input) || isNullOrUndefined(input.ej2_instances) || isNullOrUndefined(input.ej2_instances[0])) {
5839
+ return false;
5840
+ }
5841
+ const instance = input.ej2_instances[0];
5842
+ return instance.getModuleName() === 'dropdownlist';
5843
+ }
5811
5844
  itemClick(e) {
5812
5845
  this.activeEleSwitch(e.currentTarget);
5813
5846
  }