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.
- package/esm2020/lib/grids/tree-grid/tree-grid-selection.service.mjs +28 -27
- package/esm2020/lib/services/overlay/overlay.mjs +2 -1
- package/fesm2015/igniteui-angular.mjs +28 -26
- package/fesm2015/igniteui-angular.mjs.map +1 -1
- package/fesm2020/igniteui-angular.mjs +28 -26
- package/fesm2020/igniteui-angular.mjs.map +1 -1
- package/lib/grids/tree-grid/tree-grid-selection.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
68763
|
-
|
|
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.
|
|
68779
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
68859
|
-
this.rowsToBeIndeterminate.delete(treeRow.key);
|
|
68852
|
+
this.selectDeselectRow(treeRow.key, true);
|
|
68860
68853
|
}
|
|
68861
68854
|
else {
|
|
68862
|
-
this.
|
|
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 });
|