@syncfusion/ej2-filemanager 33.2.4 → 33.2.6

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.
@@ -5540,13 +5540,15 @@ class LargeIconsView {
5540
5540
  }
5541
5541
  }
5542
5542
  destroy() {
5543
- if (this.parent.isDestroyed) {
5544
- return;
5545
- }
5546
5543
  this.removeEventListener();
5547
5544
  if (this.listObj) {
5548
5545
  this.unWireEvents();
5549
5546
  }
5547
+ if (this.itemList) {
5548
+ this.itemList.forEach((el) => {
5549
+ el.ondragstart = null;
5550
+ });
5551
+ }
5550
5552
  this.startItem = null;
5551
5553
  this.listElements = null;
5552
5554
  }
@@ -6528,10 +6530,14 @@ class BreadCrumbBar {
6528
6530
  this.addressBarLink = '';
6529
6531
  this.searchTimer = null;
6530
6532
  this.searchWrapWidth = null;
6533
+ this.searchIcon = null;
6534
+ this.searchSibling = null;
6531
6535
  this.parent = parent;
6532
6536
  this.keyConfigs = {
6533
6537
  enter: 'enter'
6534
6538
  };
6539
+ this.boundSearchChangeHandler = this.searchChangeHandler.bind(this);
6540
+ this.boundOnKeyUp = this.onKeyUp.bind(this);
6535
6541
  this.render();
6536
6542
  }
6537
6543
  onPropertyChanged(e) {
@@ -6555,8 +6561,15 @@ class BreadCrumbBar {
6555
6561
  }
6556
6562
  }
6557
6563
  render() {
6564
+ this.setBreadcrumbNavAttributes();
6558
6565
  this.addEventListener();
6559
6566
  }
6567
+ setBreadcrumbNavAttributes() {
6568
+ const navElement = this.parent && this.parent.breadCrumbNavElement;
6569
+ if (navElement) {
6570
+ navElement.setAttribute('aria-label', 'Breadcrumb');
6571
+ }
6572
+ }
6560
6573
  onPathChange() {
6561
6574
  const pathNames = this.parent.pathNames;
6562
6575
  const paths = this.parent.path.split('/');
@@ -6577,7 +6590,6 @@ class BreadCrumbBar {
6577
6590
  addressbarLI.appendChild(icon);
6578
6591
  }
6579
6592
  addressbarLI.setAttribute('tabindex', '0');
6580
- addressbarLI.setAttribute('role', 'link');
6581
6593
  const pathLabel = pathNames.slice(0, i + 1).join(' / ');
6582
6594
  addressbarLI.setAttribute('aria-label', pathLabel);
6583
6595
  if (pathNamesLen - i === 1) {
@@ -6585,24 +6597,24 @@ class BreadCrumbBar {
6585
6597
  }
6586
6598
  id = '';
6587
6599
  addressATag = createElement('a', { className: LIST_TEXT });
6588
- addressATag.setAttribute('role', 'presentation');
6600
+ addressATag.setAttribute('role', 'link');
6589
6601
  addressATag.innerText = pathNames[i];
6590
6602
  addressbarLI.appendChild(addressATag);
6591
6603
  addressbarUL.appendChild(addressbarLI);
6592
6604
  }
6593
- const ulElement = this.parent.breadCrumbBarNavigation.querySelector('.e-addressbar-ul');
6605
+ const ulElement = this.parent.breadCrumbNavElement.querySelector('.e-addressbar-ul');
6594
6606
  if (!isNullOrUndefined(ulElement)) {
6595
6607
  if (!isNullOrUndefined(this.subMenuObj)) {
6596
6608
  this.subMenuObj.destroy();
6597
6609
  }
6598
6610
  remove(ulElement);
6599
6611
  }
6600
- const searchWrap = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
6612
+ const searchWrap = this.parent.breadCrumbNavElement.querySelector('.e-search-wrap');
6601
6613
  if (!searchWrap) {
6602
- this.parent.breadCrumbBarNavigation.insertBefore(addressbarUL, searchWrap);
6614
+ this.parent.breadCrumbNavElement.insertBefore(addressbarUL, searchWrap);
6603
6615
  }
6604
6616
  else {
6605
- this.parent.breadCrumbBarNavigation.appendChild(addressbarUL);
6617
+ this.parent.breadCrumbNavElement.appendChild(addressbarUL);
6606
6618
  }
6607
6619
  this.updateBreadCrumbBar(addressbarUL);
6608
6620
  }
@@ -6610,7 +6622,7 @@ class BreadCrumbBar {
6610
6622
  /* istanbul ignore next */
6611
6623
  updateBreadCrumbBar(addresBarUL) {
6612
6624
  const liElements = addresBarUL.querySelectorAll('li');
6613
- const ulElement = this.parent.breadCrumbBarNavigation.querySelector('.e-addressbar-ul');
6625
+ const ulElement = this.parent.breadCrumbNavElement.querySelector('.e-addressbar-ul');
6614
6626
  const style = window.getComputedStyle(ulElement, null);
6615
6627
  const pRight = parseFloat(style.getPropertyValue('padding-right'));
6616
6628
  const pLeft = parseFloat(style.getPropertyValue('padding-left'));
@@ -6632,12 +6644,12 @@ class BreadCrumbBar {
6632
6644
  const searchInput = createElement('input', { id: id,
6633
6645
  attrs: { autocomplete: 'off', 'aria-label': getLocaleText(this.parent, 'Search') } });
6634
6646
  searchContainer.appendChild(searchInput);
6635
- const searchEle = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap .e-input');
6647
+ const searchEle = this.parent.breadCrumbNavElement.querySelector('.e-search-wrap .e-input');
6636
6648
  if (isNullOrUndefined(searchEle)) {
6637
- this.parent.breadCrumbBarNavigation.appendChild(searchContainer);
6638
- const span = createElement('span', { className: 'e-icons e-fe-search' });
6639
- EventHandler.add(span, 'click', this.onShowInput, this);
6640
- searchInput.parentElement.insertBefore(span, searchInput);
6649
+ this.parent.breadCrumbNavElement.appendChild(searchContainer);
6650
+ this.searchIcon = createElement('span', { className: 'e-icons e-fe-search' });
6651
+ EventHandler.add(this.searchIcon, 'click', this.onShowInput, this);
6652
+ searchInput.parentElement.insertBefore(this.searchIcon, searchInput);
6641
6653
  this.searchObj = new TextBox({
6642
6654
  value: '',
6643
6655
  showClearButton: true,
@@ -6647,11 +6659,11 @@ class BreadCrumbBar {
6647
6659
  });
6648
6660
  this.searchObj.appendTo('#' + this.parent.element.id + SEARCH_ID);
6649
6661
  this.searchEventBind(this.parent.searchSettings.allowSearchOnTyping);
6650
- const search = this.searchObj.element.nextElementSibling;
6651
- EventHandler.add(search, 'mousedown', this.searchChangeHandler.bind(this), this);
6652
- EventHandler.add(this.searchObj.element, 'keyup', this.onKeyUp.bind(this), this);
6662
+ this.searchSibling = this.searchObj.element.nextElementSibling;
6663
+ EventHandler.add(this.searchSibling, 'mousedown', this.boundSearchChangeHandler, this);
6664
+ EventHandler.add(this.searchObj.element, 'keyup', this.boundOnKeyUp, this);
6653
6665
  }
6654
- const searchWrap = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
6666
+ const searchWrap = this.parent.breadCrumbNavElement.querySelector('.e-search-wrap');
6655
6667
  breadCrumbBarWidth = breadCrumbBarWidth - (this.searchWrapWidth ? this.searchWrapWidth : searchWrap.offsetWidth);
6656
6668
  if (liElementsWidth > breadCrumbBarWidth) {
6657
6669
  let i = liElements.length;
@@ -6689,10 +6701,10 @@ class BreadCrumbBar {
6689
6701
  break;
6690
6702
  }
6691
6703
  }
6692
- this.parent.breadCrumbBarNavigation.insertBefore(addressbarUL, searchWrap);
6704
+ this.parent.breadCrumbNavElement.insertBefore(addressbarUL, searchWrap);
6693
6705
  }
6694
6706
  else {
6695
- this.parent.breadCrumbBarNavigation.insertBefore(addresBarUL, searchWrap);
6707
+ this.parent.breadCrumbNavElement.insertBefore(addresBarUL, searchWrap);
6696
6708
  }
6697
6709
  }
6698
6710
  /* istanbul ignore next */
@@ -6770,7 +6782,7 @@ class BreadCrumbBar {
6770
6782
  this.searchWrapWidth = null;
6771
6783
  }
6772
6784
  else {
6773
- const searchWrap = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
6785
+ const searchWrap = this.parent.breadCrumbNavElement.querySelector('.e-search-wrap');
6774
6786
  this.searchWrapWidth = searchWrap.offsetWidth;
6775
6787
  addClass([this.parent.element], FILTER);
6776
6788
  this.searchObj.element.focus();
@@ -6871,6 +6883,18 @@ class BreadCrumbBar {
6871
6883
  this.parent.off(dropInit, this.onDropInit);
6872
6884
  this.parent.off(layoutRefresh, this.onResize);
6873
6885
  this.parent.off(dropPath, this.onPathChange);
6886
+ if (this.parent.breadCrumbBarNavigation) {
6887
+ EventHandler.remove(this.parent.breadCrumbBarNavigation, 'click', this.addressPathClickHandler);
6888
+ }
6889
+ if (this.searchIcon) {
6890
+ EventHandler.remove(this.searchIcon, 'click', this.onShowInput);
6891
+ }
6892
+ if (this.searchSibling) {
6893
+ EventHandler.remove(this.searchSibling, 'mousedown', this.boundSearchChangeHandler);
6894
+ }
6895
+ if (this.searchObj && this.searchObj.element) {
6896
+ EventHandler.remove(this.searchObj.element, 'keyup', this.boundOnKeyUp);
6897
+ }
6874
6898
  }
6875
6899
  /* istanbul ignore next */
6876
6900
  onDropInit(args) {
@@ -7981,6 +8005,8 @@ let FileManager = FileManager_1 = class FileManager extends Component {
7981
8005
  id: this.element.id + BREADCRUMBBAR_ID,
7982
8006
  className: BREADCRUMBS
7983
8007
  });
8008
+ this.breadCrumbNavElement = this.createElement('nav');
8009
+ this.breadCrumbBarNavigation.appendChild(this.breadCrumbNavElement);
7984
8010
  contentWrap.appendChild(this.breadCrumbBarNavigation);
7985
8011
  const gridWrap = this.createElement('div', {
7986
8012
  id: this.element.id + GRID_ID
@@ -8846,6 +8872,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
8846
8872
  removeClass([this.element], [RTL, MOBILE, CHECK_SELECT]);
8847
8873
  this.element.innerHTML = '';
8848
8874
  this.breadCrumbBarNavigation = null;
8875
+ this.breadCrumbNavElement = null;
8849
8876
  this.activeElements = null;
8850
8877
  this.virtualDragElement = null;
8851
8878
  this.visitedItem = null;