igniteui-angular 17.0.11 → 17.0.13
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/esm2022/lib/buttonGroup/buttonGroup.component.mjs +48 -7
- package/esm2022/lib/directives/button/button.directive.mjs +10 -7
- package/esm2022/lib/grids/columns/column-group.component.mjs +15 -2
- package/esm2022/lib/grids/grid-base.directive.mjs +43 -35
- package/esm2022/lib/grids/selection/selection.service.mjs +2 -2
- package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +2 -2
- package/fesm2022/igniteui-angular.mjs +114 -49
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/buttonGroup/buttonGroup.component.d.ts +5 -1
- package/lib/core/styles/components/button/_button-theme.scss +1 -8
- package/lib/directives/button/button.directive.d.ts +3 -2
- package/lib/grids/grid-base.directive.d.ts +1 -0
- package/package.json +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -8300,12 +8300,8 @@ class IgxButtonDirective extends DisplayDensityBase {
|
|
|
8300
8300
|
*/
|
|
8301
8301
|
set selected(value) {
|
|
8302
8302
|
if (this._selected !== value) {
|
|
8303
|
-
if (!this._selected) {
|
|
8304
|
-
this.buttonSelected.emit({
|
|
8305
|
-
button: this
|
|
8306
|
-
});
|
|
8307
|
-
}
|
|
8308
8303
|
this._selected = value;
|
|
8304
|
+
this._renderer.setAttribute(this.nativeElement, 'data-selected', value.toString());
|
|
8309
8305
|
}
|
|
8310
8306
|
}
|
|
8311
8307
|
get selected() {
|
|
@@ -8354,6 +8350,13 @@ class IgxButtonDirective extends DisplayDensityBase {
|
|
|
8354
8350
|
*/
|
|
8355
8351
|
this.disabled = false;
|
|
8356
8352
|
}
|
|
8353
|
+
ngAfterContentInit() {
|
|
8354
|
+
this.nativeElement.addEventListener('click', () => {
|
|
8355
|
+
this.buttonSelected.emit({
|
|
8356
|
+
button: this
|
|
8357
|
+
});
|
|
8358
|
+
});
|
|
8359
|
+
}
|
|
8357
8360
|
/**
|
|
8358
8361
|
* @hidden
|
|
8359
8362
|
* @internal
|
|
@@ -8478,7 +8481,7 @@ class IgxButtonDirective extends DisplayDensityBase {
|
|
|
8478
8481
|
* @internal
|
|
8479
8482
|
*/
|
|
8480
8483
|
deselect() {
|
|
8481
|
-
this.
|
|
8484
|
+
this.selected = false;
|
|
8482
8485
|
}
|
|
8483
8486
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8484
8487
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: IgxButtonDirective, isStandalone: true, selector: "[igxButton]", inputs: { selected: ["selected", "selected", booleanAttribute], type: ["igxButton", "type"], color: ["igxButtonColor", "color"], background: ["igxButtonBackground", "background"], label: ["igxLabel", "label"], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { buttonClick: "buttonClick", buttonSelected: "buttonSelected" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.role": "this.role", "class.igx-button": "this._cssClass", "class.igx-button--disabled": "this.disabled", "class.igx-button--flat": "this.flat", "class.igx-button--raised": "this.raised", "class.igx-button--outlined": "this.outlined", "class.igx-button--icon": "this.icon", "class.igx-button--fab": "this.fab", "style.--component-size": "this.componentSize", "attr.disabled": "this.disabledAttribute" } }, usesInheritance: true, ngImport: i0 }); }
|
|
@@ -25234,7 +25237,7 @@ class IgxGridSelectionService {
|
|
|
25234
25237
|
/** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
|
|
25235
25238
|
get allData() {
|
|
25236
25239
|
let allData;
|
|
25237
|
-
if (this.isFilteringApplied() || this.grid.sortingExpressions.length) {
|
|
25240
|
+
if (this.isFilteringApplied() || this.grid.sortingExpressions.length || this.grid.groupingExpressions?.length) {
|
|
25238
25241
|
allData = this.grid.pinnedRecordsCount ? this.grid._filteredSortedUnpinnedData : this.grid.filteredSortedData;
|
|
25239
25242
|
}
|
|
25240
25243
|
else {
|
|
@@ -27521,10 +27524,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
|
|
|
27521
27524
|
*/
|
|
27522
27525
|
this.selectedIndexes = [];
|
|
27523
27526
|
this.buttonClickNotifier$ = new Subject();
|
|
27524
|
-
this.buttonSelectedNotifier$ = new Subject();
|
|
27525
27527
|
this.queryListNotifier$ = new Subject();
|
|
27526
27528
|
this._disabled = false;
|
|
27527
27529
|
this._selectionMode = 'single';
|
|
27530
|
+
this.observerConfig = {
|
|
27531
|
+
attributeFilter: ["data-selected"],
|
|
27532
|
+
childList: true,
|
|
27533
|
+
subtree: true,
|
|
27534
|
+
};
|
|
27528
27535
|
}
|
|
27529
27536
|
/**
|
|
27530
27537
|
* Gets the selected button/buttons.
|
|
@@ -27556,6 +27563,7 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
|
|
|
27556
27563
|
if (index >= this.buttons.length || index < 0) {
|
|
27557
27564
|
return;
|
|
27558
27565
|
}
|
|
27566
|
+
this.updateSelected(index);
|
|
27559
27567
|
const button = this.buttons[index];
|
|
27560
27568
|
button.select();
|
|
27561
27569
|
}
|
|
@@ -27639,15 +27647,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
|
|
|
27639
27647
|
this.updateSelected(index);
|
|
27640
27648
|
}
|
|
27641
27649
|
button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));
|
|
27642
|
-
button.buttonSelected
|
|
27643
|
-
.pipe(takeUntil(this.buttonSelectedNotifier$))
|
|
27644
|
-
.subscribe((_) => this.updateSelected(index));
|
|
27645
27650
|
});
|
|
27646
27651
|
};
|
|
27647
27652
|
this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
|
|
27648
27653
|
this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
|
|
27649
27654
|
initButtons();
|
|
27650
27655
|
this._cdr.detectChanges();
|
|
27656
|
+
this.mutationObserver = this.setMutationsObserver();
|
|
27657
|
+
this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
|
|
27651
27658
|
}
|
|
27652
27659
|
/**
|
|
27653
27660
|
* @hidden
|
|
@@ -27655,15 +27662,15 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
|
|
|
27655
27662
|
ngOnDestroy() {
|
|
27656
27663
|
this.buttonClickNotifier$.next();
|
|
27657
27664
|
this.buttonClickNotifier$.complete();
|
|
27658
|
-
this.buttonSelectedNotifier$.next();
|
|
27659
|
-
this.buttonSelectedNotifier$.complete();
|
|
27660
27665
|
this.queryListNotifier$.next();
|
|
27661
27666
|
this.queryListNotifier$.complete();
|
|
27667
|
+
this.mutationObserver.disconnect();
|
|
27662
27668
|
}
|
|
27663
27669
|
/**
|
|
27664
27670
|
* @hidden
|
|
27665
27671
|
*/
|
|
27666
27672
|
_clickHandler(index) {
|
|
27673
|
+
this.mutationObserver.disconnect();
|
|
27667
27674
|
const button = this.buttons[index];
|
|
27668
27675
|
const args = { owner: this, button, index };
|
|
27669
27676
|
if (this.selectionMode !== 'multi') {
|
|
@@ -27683,6 +27690,43 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
|
|
|
27683
27690
|
this.deselected.emit(args);
|
|
27684
27691
|
}
|
|
27685
27692
|
}
|
|
27693
|
+
this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
|
|
27694
|
+
}
|
|
27695
|
+
setMutationsObserver() {
|
|
27696
|
+
return new MutationObserver((records, observer) => {
|
|
27697
|
+
// Stop observing while handling changes
|
|
27698
|
+
observer.disconnect();
|
|
27699
|
+
const updatedButtons = this.getUpdatedButtons(records);
|
|
27700
|
+
if (updatedButtons.length > 0) {
|
|
27701
|
+
updatedButtons.forEach((button) => {
|
|
27702
|
+
const index = this.buttons.map((b) => b.nativeElement).indexOf(button);
|
|
27703
|
+
const args = { owner: this, button: this.buttons[index], index };
|
|
27704
|
+
this.updateButtonSelectionState(index, args);
|
|
27705
|
+
});
|
|
27706
|
+
}
|
|
27707
|
+
// Watch for changes again
|
|
27708
|
+
observer.observe(this._el.nativeElement, this.observerConfig);
|
|
27709
|
+
});
|
|
27710
|
+
}
|
|
27711
|
+
getUpdatedButtons(records) {
|
|
27712
|
+
const updated = [];
|
|
27713
|
+
records
|
|
27714
|
+
.filter((x) => x.type === 'attributes')
|
|
27715
|
+
.reduce((prev, curr) => {
|
|
27716
|
+
prev.push(curr.target);
|
|
27717
|
+
return prev;
|
|
27718
|
+
}, updated);
|
|
27719
|
+
return updated;
|
|
27720
|
+
}
|
|
27721
|
+
updateButtonSelectionState(index, args) {
|
|
27722
|
+
if (this.selectedIndexes.indexOf(index) === -1) {
|
|
27723
|
+
this.selectButton(index);
|
|
27724
|
+
this.selected.emit(args);
|
|
27725
|
+
}
|
|
27726
|
+
else {
|
|
27727
|
+
this.deselectButton(index);
|
|
27728
|
+
this.deselected.emit(args);
|
|
27729
|
+
}
|
|
27686
27730
|
}
|
|
27687
27731
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27688
27732
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.5", type: IgxButtonGroupComponent, isStandalone: true, selector: "igx-buttongroup", inputs: { id: "id", itemContentCssClass: "itemContentCssClass", multiSelection: "multiSelection", selectionMode: "selectionMode", values: "values", disabled: ["disabled", "disabled", booleanAttribute], alignment: "alignment" }, outputs: { selected: "selected", deselected: "deselected" }, host: { properties: { "attr.id": "this.id", "style.zIndex": "this.zIndex" } }, queries: [{ propertyName: "templateButtons", predicate: IgxButtonDirective }], viewQueries: [{ propertyName: "viewButtons", predicate: IgxButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-button-group\" role=\"group\" [class.igx-button-group--vertical]=\"isVertical\">\n <button *ngFor=\"let button of values; let i = 'index'\"\n type=\"button\"\n igxButton=\"flat\"\n [displayDensity]=\"displayDensity\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxButtonColor]=\"button.color\"\n [igxButtonBackground]=\"button.bgcolor\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n <igx-icon *ngIf=\"button.icon\">{{button.icon}}</igx-icon>\n <span class=\"igx-button-group__button-text\" *ngIf=\"button.label\">{{button.label}}</span>\n </span>\n </button>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] }); }
|
|
@@ -43141,6 +43185,9 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
|
|
|
43141
43185
|
}
|
|
43142
43186
|
this.children.forEach(child => {
|
|
43143
43187
|
child.parent = this;
|
|
43188
|
+
if (this.pinned) {
|
|
43189
|
+
child.pinned = this.pinned;
|
|
43190
|
+
}
|
|
43144
43191
|
});
|
|
43145
43192
|
if (this.collapsible) {
|
|
43146
43193
|
this.setExpandCollapseState();
|
|
@@ -43148,10 +43195,20 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
|
|
|
43148
43195
|
this.children.changes
|
|
43149
43196
|
.pipe(takeUntil(this.destroy$))
|
|
43150
43197
|
.subscribe((change) => {
|
|
43151
|
-
|
|
43198
|
+
let shouldReinitPinning = false;
|
|
43199
|
+
change.forEach(x => {
|
|
43200
|
+
x.parent = this;
|
|
43201
|
+
if (this.pinned && x.pinned !== this.pinned) {
|
|
43202
|
+
shouldReinitPinning = true;
|
|
43203
|
+
x.pinned = this.pinned;
|
|
43204
|
+
}
|
|
43205
|
+
});
|
|
43152
43206
|
if (this.collapsible) {
|
|
43153
43207
|
this.setExpandCollapseState();
|
|
43154
43208
|
}
|
|
43209
|
+
if (shouldReinitPinning) {
|
|
43210
|
+
this.grid.initPinning();
|
|
43211
|
+
}
|
|
43155
43212
|
});
|
|
43156
43213
|
}
|
|
43157
43214
|
/** @hidden @internal **/
|
|
@@ -65722,16 +65779,21 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
65722
65779
|
if (diff) {
|
|
65723
65780
|
let added = false;
|
|
65724
65781
|
let removed = false;
|
|
65782
|
+
let pinning = false;
|
|
65725
65783
|
diff.forEachAddedItem((record) => {
|
|
65726
65784
|
added = true;
|
|
65727
65785
|
if (record.item.pinned) {
|
|
65728
65786
|
this._pinnedColumns.push(record.item);
|
|
65787
|
+
pinning = true;
|
|
65729
65788
|
}
|
|
65730
65789
|
else {
|
|
65731
65790
|
this._unpinnedColumns.push(record.item);
|
|
65732
65791
|
}
|
|
65733
65792
|
});
|
|
65734
65793
|
this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
|
|
65794
|
+
if (pinning) {
|
|
65795
|
+
this.initPinning();
|
|
65796
|
+
}
|
|
65735
65797
|
diff.forEachRemovedItem((record) => {
|
|
65736
65798
|
const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
|
|
65737
65799
|
if (!isColumnGroup) {
|
|
@@ -66297,42 +66359,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
66297
66359
|
* @hidden
|
|
66298
66360
|
*/
|
|
66299
66361
|
initPinning() {
|
|
66300
|
-
const pinnedColumns = [];
|
|
66301
|
-
const unpinnedColumns = [];
|
|
66302
66362
|
this.calculateGridWidth();
|
|
66303
66363
|
this.resetCaches();
|
|
66304
|
-
|
|
66305
|
-
this._pinnedColumns.forEach(col => {
|
|
66306
|
-
if (col.parent) {
|
|
66307
|
-
col.parent.pinned = true;
|
|
66308
|
-
}
|
|
66309
|
-
if (col.columnGroup) {
|
|
66310
|
-
col.children.forEach(child => child.pinned = true);
|
|
66311
|
-
}
|
|
66312
|
-
});
|
|
66313
|
-
// Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
|
|
66314
|
-
// We take into account top level columns (top level groups and non groups).
|
|
66315
|
-
// If top level is unpinned the pinning handles all children to be unpinned as well.
|
|
66316
|
-
for (const column of this._columns) {
|
|
66317
|
-
if (column.pinned && !column.parent) {
|
|
66318
|
-
pinnedColumns.push(column);
|
|
66319
|
-
}
|
|
66320
|
-
else if (column.pinned && column.parent) {
|
|
66321
|
-
if (column.topLevelParent.pinned) {
|
|
66322
|
-
pinnedColumns.push(column);
|
|
66323
|
-
}
|
|
66324
|
-
else {
|
|
66325
|
-
column.pinned = false;
|
|
66326
|
-
unpinnedColumns.push(column);
|
|
66327
|
-
}
|
|
66328
|
-
}
|
|
66329
|
-
else {
|
|
66330
|
-
unpinnedColumns.push(column);
|
|
66331
|
-
}
|
|
66332
|
-
}
|
|
66333
|
-
// Assign the applicable collections.
|
|
66334
|
-
this._pinnedColumns = pinnedColumns;
|
|
66335
|
-
this._unpinnedColumns = unpinnedColumns;
|
|
66364
|
+
this.handleColumnPinningForGroups();
|
|
66336
66365
|
this.notifyChanges();
|
|
66337
66366
|
}
|
|
66338
66367
|
/**
|
|
@@ -66718,6 +66747,42 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
66718
66747
|
settings.target = targetRow.element.nativeElement;
|
|
66719
66748
|
this.toggleRowEditingOverlay(true);
|
|
66720
66749
|
}
|
|
66750
|
+
handleColumnPinningForGroups() {
|
|
66751
|
+
// When a column is a group or is inside a group, pin all related.
|
|
66752
|
+
const pinnedColumns = [];
|
|
66753
|
+
const unpinnedColumns = [];
|
|
66754
|
+
this._pinnedColumns.forEach(col => {
|
|
66755
|
+
if (col.parent) {
|
|
66756
|
+
col.parent.pinned = true;
|
|
66757
|
+
}
|
|
66758
|
+
if (col.columnGroup) {
|
|
66759
|
+
col.children.forEach(child => child.pinned = true);
|
|
66760
|
+
}
|
|
66761
|
+
});
|
|
66762
|
+
// Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
|
|
66763
|
+
// We take into account top level columns (top level groups and non groups).
|
|
66764
|
+
// If top level is unpinned the pinning handles all children to be unpinned as well.
|
|
66765
|
+
for (const column of this._columns) {
|
|
66766
|
+
if (column.pinned && !column.parent) {
|
|
66767
|
+
pinnedColumns.push(column);
|
|
66768
|
+
}
|
|
66769
|
+
else if (column.pinned && column.parent) {
|
|
66770
|
+
if (column.topLevelParent.pinned) {
|
|
66771
|
+
pinnedColumns.push(column);
|
|
66772
|
+
}
|
|
66773
|
+
else {
|
|
66774
|
+
column.pinned = false;
|
|
66775
|
+
unpinnedColumns.push(column);
|
|
66776
|
+
}
|
|
66777
|
+
}
|
|
66778
|
+
else {
|
|
66779
|
+
unpinnedColumns.push(column);
|
|
66780
|
+
}
|
|
66781
|
+
}
|
|
66782
|
+
// Assign the applicable collections.
|
|
66783
|
+
this._pinnedColumns = pinnedColumns;
|
|
66784
|
+
this._unpinnedColumns = unpinnedColumns;
|
|
66785
|
+
}
|
|
66721
66786
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxGridBaseDirective, deps: [{ token: IgxGridValidationService }, { token: IgxGridSelectionService }, { token: IgxColumnResizingService }, { token: IGX_GRID_SERVICE_BASE }, { token: IgxFlatTransactionFactory }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: IgxGridNavigationService }, { token: IgxFilteringService }, { token: IgxOverlayService }, { token: IgxGridSummaryService }, { token: DisplayDensityToken, optional: true }, { token: LOCALE_ID }, { token: PlatformUtil }, { token: IgxGridTransaction, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66722
66787
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: IgxGridBaseDirective, inputs: { snackbarDisplayTime: "snackbarDisplayTime", autoGenerate: ["autoGenerate", "autoGenerate", booleanAttribute], autoGenerateExclude: "autoGenerateExclude", moving: ["moving", "moving", booleanAttribute], emptyGridTemplate: "emptyGridTemplate", addRowEmptyTemplate: "addRowEmptyTemplate", loadingGridTemplate: "loadingGridTemplate", summaryRowHeight: "summaryRowHeight", dataCloneStrategy: "dataCloneStrategy", clipboardOptions: "clipboardOptions", rowClasses: "rowClasses", rowStyles: "rowStyles", primaryKey: "primaryKey", uniqueColumnValuesStrategy: "uniqueColumnValuesStrategy", dragGhostCustomTemplate: "dragGhostCustomTemplate", rowEditTextTemplate: "rowEditTextTemplate", rowAddTextTemplate: "rowAddTextTemplate", rowEditActionsTemplate: "rowEditActionsTemplate", rowExpandedIndicatorTemplate: "rowExpandedIndicatorTemplate", rowCollapsedIndicatorTemplate: "rowCollapsedIndicatorTemplate", headerExpandedIndicatorTemplate: "headerExpandedIndicatorTemplate", headerCollapsedIndicatorTemplate: "headerCollapsedIndicatorTemplate", excelStyleHeaderIconTemplate: "excelStyleHeaderIconTemplate", sortAscendingHeaderIconTemplate: "sortAscendingHeaderIconTemplate", sortDescendingHeaderIconTemplate: "sortDescendingHeaderIconTemplate", sortHeaderIconTemplate: "sortHeaderIconTemplate", resourceStrings: "resourceStrings", filteringLogic: "filteringLogic", filteringExpressionsTree: "filteringExpressionsTree", advancedFilteringExpressionsTree: "advancedFilteringExpressionsTree", locale: "locale", pagingMode: "pagingMode", hideRowSelectors: ["hideRowSelectors", "hideRowSelectors", booleanAttribute], rowDraggable: ["rowDraggable", "rowDraggable", booleanAttribute], validationTrigger: "validationTrigger", rowEditable: ["rowEditable", "rowEditable", booleanAttribute], height: "height", width: "width", rowHeight: "rowHeight", columnWidth: "columnWidth", emptyGridMessage: "emptyGridMessage", isLoading: ["isLoading", "isLoading", booleanAttribute], emptyFilteredGridMessage: "emptyFilteredGridMessage", pinning: "pinning", allowFiltering: ["allowFiltering", "allowFiltering", booleanAttribute], allowAdvancedFiltering: ["allowAdvancedFiltering", "allowAdvancedFiltering", booleanAttribute], filterMode: "filterMode", summaryPosition: "summaryPosition", summaryCalculationMode: "summaryCalculationMode", showSummaryOnCollapse: ["showSummaryOnCollapse", "showSummaryOnCollapse", booleanAttribute], filterStrategy: "filterStrategy", sortStrategy: "sortStrategy", sortingOptions: "sortingOptions", selectedRows: "selectedRows", headSelectorTemplate: "headSelectorTemplate", rowSelectorTemplate: "rowSelectorTemplate", dragIndicatorIconTemplate: "dragIndicatorIconTemplate", sortingExpressions: "sortingExpressions", batchEditing: ["batchEditing", "batchEditing", booleanAttribute], cellSelection: "cellSelection", rowSelection: "rowSelection", columnSelection: "columnSelection", expansionStates: "expansionStates", outlet: "outlet", totalRecords: "totalRecords", selectRowOnClick: ["selectRowOnClick", "selectRowOnClick", booleanAttribute] }, outputs: { filteringExpressionsTreeChange: "filteringExpressionsTreeChange", advancedFilteringExpressionsTreeChange: "advancedFilteringExpressionsTreeChange", gridScroll: "gridScroll", cellClick: "cellClick", formGroupCreated: "formGroupCreated", validationStatusChange: "validationStatusChange", selected: "selected", rowSelectionChanging: "rowSelectionChanging", columnSelectionChanging: "columnSelectionChanging", columnPin: "columnPin", columnPinned: "columnPinned", cellEditEnter: "cellEditEnter", cellEditExit: "cellEditExit", cellEdit: "cellEdit", cellEditDone: "cellEditDone", rowEditEnter: "rowEditEnter", rowEdit: "rowEdit", rowEditDone: "rowEditDone", rowEditExit: "rowEditExit", columnInit: "columnInit", sorting: "sorting", sortingDone: "sortingDone", filtering: "filtering", filteringDone: "filteringDone", rowAdded: "rowAdded", rowDeleted: "rowDeleted", rowDelete: "rowDelete", rowAdd: "rowAdd", columnResized: "columnResized", contextMenu: "contextMenu", doubleClick: "doubleClick", columnVisibilityChanging: "columnVisibilityChanging", columnVisibilityChanged: "columnVisibilityChanged", columnMovingStart: "columnMovingStart", columnMoving: "columnMoving", columnMovingEnd: "columnMovingEnd", gridKeydown: "gridKeydown", rowDragStart: "rowDragStart", rowDragEnd: "rowDragEnd", gridCopy: "gridCopy", expansionStatesChange: "expansionStatesChange", rowToggle: "rowToggle", rowPinning: "rowPinning", rowPinned: "rowPinned", activeNodeChange: "activeNodeChange", sortingExpressionsChange: "sortingExpressionsChange", toolbarExporting: "toolbarExporting", rangeSelected: "rangeSelected", rendered: "rendered", localeChange: "localeChange", dataChanging: "dataChanging", dataChanged: "dataChanged" }, host: { listeners: { "mouseleave": "hideActionStrip()" }, properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.hostRole", "class.igx-grid": "this.baseClass", "style.--component-size": "this.hostStyles", "style.height": "this.height", "style.width": "this.hostWidth" } }, queries: [{ propertyName: "actionStrip", first: true, predicate: IgxActionStripComponent, descendants: true }, { propertyName: "excelStyleLoadingValuesTemplateDirective", first: true, predicate: IgxExcelStyleLoadingValuesTemplateDirective, descendants: true, read: IgxExcelStyleLoadingValuesTemplateDirective, static: true }, { propertyName: "rowAddText", first: true, predicate: IgxRowAddTextDirective, descendants: true, read: TemplateRef }, { propertyName: "rowExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxRowExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "rowCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxRowCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleHeaderIconDirectiveTemplate", first: true, predicate: IgxExcelStyleHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortAscendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortAscendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortDescendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortDescendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortHeaderIconDirectiveTemplate", first: true, predicate: IgxSortHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleFilteringComponents", predicate: IgxGridExcelStyleFilteringComponent, read: IgxGridExcelStyleFilteringComponent }, { propertyName: "columnList", predicate: IgxColumnComponent, descendants: true, read: IgxColumnComponent }, { propertyName: "headSelectorsTemplates", predicate: IgxHeadSelectorDirective, read: TemplateRef }, { propertyName: "rowSelectorsTemplates", predicate: IgxRowSelectorDirective, read: TemplateRef }, { propertyName: "dragGhostCustomTemplates", predicate: IgxRowDragGhostDirective, read: TemplateRef }, { propertyName: "rowEditCustomDirectives", predicate: IgxRowEditTemplateDirective, read: TemplateRef }, { propertyName: "rowEditTextDirectives", predicate: IgxRowEditTextDirective, read: TemplateRef }, { propertyName: "rowEditActionsDirectives", predicate: IgxRowEditActionsDirective, read: TemplateRef }, { propertyName: "dragIndicatorIconTemplates", predicate: IgxDragIndicatorIconDirective, read: TemplateRef }, { propertyName: "rowEditTabsCUSTOM", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "toolbar", predicate: IgxGridToolbarComponent }, { propertyName: "paginationComponents", predicate: IgxPaginatorComponent }], viewQueries: [{ propertyName: "addRowSnackbar", first: true, predicate: IgxSnackbarComponent, descendants: true }, { propertyName: "resizeLine", first: true, predicate: IgxGridColumnResizerComponent, descendants: true }, { propertyName: "loadingOverlay", first: true, predicate: ["loadingOverlay"], descendants: true, read: IgxToggleDirective, static: true }, { propertyName: "loadingOutlet", first: true, predicate: ["igxLoadingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "emptyFilteredGridTemplate", first: true, predicate: ["emptyFilteredGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyGridDefaultTemplate", first: true, predicate: ["defaultEmptyGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "loadingGridDefaultTemplate", first: true, predicate: ["defaultLoadingGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "parentVirtDir", first: true, predicate: ["scrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScrollContainer", first: true, predicate: ["verticalScrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScroll", first: true, predicate: ["verticalScrollHolder"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "scr", first: true, predicate: ["scr"], descendants: true, read: ElementRef, static: true }, { propertyName: "headerSelectorBaseTemplate", first: true, predicate: ["headSelectorBaseTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true, read: ElementRef }, { propertyName: "theadRow", first: true, predicate: IgxGridHeaderRowComponent, descendants: true, static: true }, { propertyName: "groupArea", first: true, predicate: IgxGridGroupByAreaComponent, descendants: true }, { propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, static: true }, { propertyName: "pinContainer", first: true, predicate: ["pinContainer"], descendants: true, read: ElementRef }, { propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: true, static: true }, { propertyName: "rowEditingOutletDirective", first: true, predicate: ["igxRowEditingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "dragIndicatorIconBase", first: true, predicate: ["dragIndicatorIconBase"], descendants: true, read: TemplateRef, static: true }, { propertyName: "rowEditingOverlay", first: true, predicate: ["rowEditingOverlay"], descendants: true, read: IgxToggleDirective }, { propertyName: "_outletDirective", first: true, predicate: ["igxFilteringOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "defaultExpandedTemplate", first: true, predicate: ["defaultExpandedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultCollapsedTemplate", first: true, predicate: ["defaultCollapsedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultESFHeaderIconTemplate", first: true, predicate: ["defaultESFHeaderIcon"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultRowEditTemplate", first: true, predicate: ["defaultRowEditTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "tmpOutlets", predicate: IgxTemplateOutletDirective, descendants: true, read: IgxTemplateOutletDirective }, { propertyName: "rowEditTabsDEFAULT", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "_summaryRowList", predicate: ["summaryRow"], descendants: true, read: IgxSummaryRowComponent }, { propertyName: "_rowList", predicate: ["row"], descendants: true }, { propertyName: "_pinnedRowList", predicate: ["pinnedRow"], descendants: true }, { propertyName: "_dataRowList", predicate: IgxRowDirective, descendants: true, read: IgxRowDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
66723
66788
|
}
|
|
@@ -77241,7 +77306,7 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
|
|
|
77241
77306
|
added, removed, event, cancel: false
|
|
77242
77307
|
};
|
|
77243
77308
|
this.calculateRowsNewSelectionState(args, !!this.grid.primaryKey);
|
|
77244
|
-
args.newSelection = Array.from(this.
|
|
77309
|
+
args.newSelection = Array.from(this.grid.gridAPI.get_all_data().filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
|
|
77245
77310
|
// retrieve rows/parents/children which has been added/removed from the selection
|
|
77246
77311
|
this.handleAddedAndRemovedArgs(args);
|
|
77247
77312
|
this.grid.rowSelectionChanging.emit(args);
|