igniteui-angular 13.0.5 → 13.0.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.
@@ -6215,6 +6215,7 @@ class IgxOverlayService {
6215
6215
  return null;
6216
6216
  }
6217
6217
  const hook = this._document.createElement('div');
6218
+ hook.style.display = 'none';
6218
6219
  element.parentElement.insertBefore(hook, element);
6219
6220
  return hook;
6220
6221
  }
@@ -68672,7 +68673,7 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68672
68673
  if (!parents.size) {
68673
68674
  return;
68674
68675
  }
68675
- visibleRowIDs = this.getRowIDs(this.allData);
68676
+ visibleRowIDs = new Set(this.getRowIDs(this.allData));
68676
68677
  this.rowsToBeSelected = new Set(this.rowSelection);
68677
68678
  this.rowsToBeIndeterminate = new Set(this.indeterminateRows);
68678
68679
  if (crudRowID) {
@@ -68759,8 +68760,10 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68759
68760
  * retrieve the rows which should be added/removed to/from the old selection
68760
68761
  */
68761
68762
  handleAddedAndRemovedArgs(args) {
68762
- args.removed = args.oldSelection.filter(x => args.newSelection.indexOf(x) < 0);
68763
- args.added = args.newSelection.filter(x => args.oldSelection.indexOf(x) < 0);
68763
+ const newSelectionSet = new Set(args.newSelection);
68764
+ const oldSelectionSet = new Set(args.oldSelection);
68765
+ args.removed = args.oldSelection.filter(x => !newSelectionSet.has(x));
68766
+ args.added = args.newSelection.filter(x => !oldSelectionSet.has(x));
68764
68767
  }
68765
68768
  /**
68766
68769
  * adds to rowsToBeProcessed set all visible children of the rows which was initially within the rowsToBeProcessed set
@@ -68769,14 +68772,15 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68769
68772
  * @param visibleRowIDs list of all visible rowIds
68770
68773
  * @returns a new set with all direct parents of the rows within rowsToBeProcessed set
68771
68774
  */
68772
- collectRowsChildrenAndDirectParents(rowsToBeProcessed, visibleRowIDs) {
68775
+ collectRowsChildrenAndDirectParents(rowsToBeProcessed, visibleRowIDs, adding) {
68773
68776
  const processedRowsParents = new Set();
68774
68777
  Array.from(rowsToBeProcessed).forEach((rowID) => {
68778
+ this.selectDeselectRow(rowID, adding);
68775
68779
  const rowTreeRecord = this.grid.gridAPI.get_rec_by_id(rowID);
68776
68780
  const rowAndAllChildren = this.get_all_children(rowTreeRecord);
68777
68781
  rowAndAllChildren.forEach(row => {
68778
- if (visibleRowIDs.indexOf(row.key) >= 0) {
68779
- rowsToBeProcessed.add(row.key);
68782
+ if (visibleRowIDs.has(row.key)) {
68783
+ this.selectDeselectRow(row.key, adding);
68780
68784
  }
68781
68785
  });
68782
68786
  if (rowTreeRecord && rowTreeRecord.parent) {
@@ -68792,27 +68796,19 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68792
68796
  calculateRowsNewSelectionState(args) {
68793
68797
  this.rowsToBeSelected = new Set(args.oldSelection ? args.oldSelection : this.getSelectedRows());
68794
68798
  this.rowsToBeIndeterminate = new Set(this.getIndeterminateRows());
68795
- const visibleRowIDs = this.getRowIDs(this.allData);
68799
+ const visibleRowIDs = new Set(this.getRowIDs(this.allData));
68796
68800
  const removed = new Set(args.removed);
68797
68801
  const added = new Set(args.added);
68798
68802
  if (removed && removed.size) {
68799
68803
  let removedRowsParents = new Set();
68800
- removedRowsParents = this.collectRowsChildrenAndDirectParents(removed, visibleRowIDs);
68801
- removed.forEach(removedRow => {
68802
- this.rowsToBeSelected.delete(removedRow);
68803
- this.rowsToBeIndeterminate.delete(removedRow);
68804
- });
68804
+ removedRowsParents = this.collectRowsChildrenAndDirectParents(removed, visibleRowIDs, false);
68805
68805
  Array.from(removedRowsParents).forEach((parent) => {
68806
68806
  this.handleParentSelectionState(parent, visibleRowIDs);
68807
68807
  });
68808
68808
  }
68809
68809
  if (added && added.size) {
68810
68810
  let addedRowsParents = new Set();
68811
- addedRowsParents = this.collectRowsChildrenAndDirectParents(added, visibleRowIDs);
68812
- added.forEach(addedRow => {
68813
- this.rowsToBeSelected.add(addedRow);
68814
- this.rowsToBeIndeterminate.delete(addedRow);
68815
- });
68811
+ addedRowsParents = this.collectRowsChildrenAndDirectParents(added, visibleRowIDs, true);
68816
68812
  Array.from(addedRowsParents).forEach((parent) => {
68817
68813
  this.handleParentSelectionState(parent, visibleRowIDs);
68818
68814
  });
@@ -68836,31 +68832,27 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68836
68832
  handleRowSelectionState(treeRow, visibleRowIDs) {
68837
68833
  let visibleChildren = [];
68838
68834
  if (treeRow && treeRow.children) {
68839
- visibleChildren = treeRow.children.filter(child => visibleRowIDs.indexOf(child.key) >= 0);
68835
+ visibleChildren = treeRow.children.filter(child => visibleRowIDs.has(child.key));
68840
68836
  }
68841
68837
  if (visibleChildren.length) {
68842
68838
  if (visibleChildren.every(row => this.rowsToBeSelected.has(row.key))) {
68843
- this.rowsToBeSelected.add(treeRow.key);
68844
- this.rowsToBeIndeterminate.delete(treeRow.key);
68839
+ this.selectDeselectRow(treeRow.key, true);
68845
68840
  }
68846
68841
  else if (visibleChildren.some(row => this.rowsToBeSelected.has(row.key) || this.rowsToBeIndeterminate.has(row.key))) {
68847
68842
  this.rowsToBeIndeterminate.add(treeRow.key);
68848
68843
  this.rowsToBeSelected.delete(treeRow.key);
68849
68844
  }
68850
68845
  else {
68851
- this.rowsToBeIndeterminate.delete(treeRow.key);
68852
- this.rowsToBeSelected.delete(treeRow.key);
68846
+ this.selectDeselectRow(treeRow.key, false);
68853
68847
  }
68854
68848
  }
68855
68849
  else {
68856
68850
  // if the children of the row has been deleted and the row was selected do not change its state
68857
68851
  if (this.isRowSelected(treeRow.key)) {
68858
- this.rowsToBeSelected.add(treeRow.key);
68859
- this.rowsToBeIndeterminate.delete(treeRow.key);
68852
+ this.selectDeselectRow(treeRow.key, true);
68860
68853
  }
68861
68854
  else {
68862
- this.rowsToBeSelected.delete(treeRow.key);
68863
- this.rowsToBeIndeterminate.delete(treeRow.key);
68855
+ this.selectDeselectRow(treeRow.key, false);
68864
68856
  }
68865
68857
  }
68866
68858
  }
@@ -68874,6 +68866,16 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
68874
68866
  }
68875
68867
  return children;
68876
68868
  }
68869
+ selectDeselectRow(rowID, select) {
68870
+ if (select) {
68871
+ this.rowsToBeSelected.add(rowID);
68872
+ this.rowsToBeIndeterminate.delete(rowID);
68873
+ }
68874
+ else {
68875
+ this.rowsToBeSelected.delete(rowID);
68876
+ this.rowsToBeIndeterminate.delete(rowID);
68877
+ }
68878
+ }
68877
68879
  }
68878
68880
  IgxTreeGridSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxTreeGridSelectionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
68879
68881
  IgxTreeGridSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxTreeGridSelectionService });