Skip to content

Commit f6ee3cf

Browse files
authored
refactor(pivot-data-selector): allow init without initially set grid (#12783)
1 parent 83e4fec commit f6ee3cf

File tree

3 files changed

+33
-9
lines changed

3 files changed

+33
-9
lines changed

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<igx-list-item
1414
*ngFor="
1515
let item of dims
16-
| filterPivotItems: input.value:grid.pipeTrigger
16+
| filterPivotItems: input.value:grid?.pipeTrigger
1717
"
1818
[id]="item.memberName"
1919
>
@@ -28,7 +28,7 @@
2828
<igx-list-item
2929
*ngFor="
3030
let item of values
31-
| filterPivotItems: input.value:grid.pipeTrigger
31+
| filterPivotItems: input.value:grid?.pipeTrigger
3232
"
3333
[id]="item.member"
3434
>
@@ -59,11 +59,11 @@
5959
>
6060
<igx-expansion-panel-title class="igx-pivot-data-selector__header">
6161
<h6 class="igx-pivot-data-selector__header-title">
62-
{{ grid.resourceStrings[panel.i18n] }}
62+
{{ grid?.resourceStrings[panel.i18n] }}
6363
</h6>
6464
<div class="igx-pivot-data-selector__header-extra">
6565
<igx-icon>{{ panel.icon }}</igx-icon>
66-
<igx-chip>{{ this.grid[panel.dataKey].length }}</igx-chip>
66+
<igx-chip>{{ this.grid ? this.grid[panel.dataKey].length : 0 }}</igx-chip>
6767
</div>
6868
</igx-expansion-panel-title>
6969
</igx-expansion-panel-header>
@@ -73,7 +73,7 @@ <h6 class="igx-pivot-data-selector__header-title">
7373
(dropped)="onItemDropped($event, panel.type)"
7474
>
7575
<igx-list
76-
*ngIf="this.grid[panel.dataKey].length > 0"
76+
*ngIf="this.grid && this.grid[panel.dataKey].length > 0"
7777
[displayDensity]="displayDensity"
7878
>
7979
<igx-list-item
@@ -149,9 +149,9 @@ <h6 class="igx-pivot-data-selector__header-title">
149149
</igx-list>
150150
<div
151151
class="igx-pivot-data-selector__empty"
152-
*ngIf="this.grid[panel.dataKey].length === 0"
152+
*ngIf="this.grid && this.grid[panel.dataKey].length === 0"
153153
>
154-
{{ grid.resourceStrings.igx_grid_pivot_selector_panel_empty }}
154+
{{ grid?.resourceStrings.igx_grid_pivot_selector_panel_empty }}
155155
</div>
156156
</igx-expansion-panel-body>
157157
</igx-expansion-panel>

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,11 @@ export class IgxPivotDataSelectorComponent {
220220
public dropAllowed: boolean;
221221
/** @hidden @internal */
222222
public get dims() : IPivotDimension[] {
223-
return this._grid.allDimensions;
223+
return this._grid?.allDimensions || [];
224224
};
225225
/** @hidden @internal */
226226
public get values(): IPivotValue[] {
227-
return this._grid.pivotConfiguration.values;
227+
return this._grid?.pivotConfiguration.values || [];
228228
};
229229

230230
constructor(private renderer: Renderer2, private cdr: ChangeDetectorRef) {}
@@ -610,6 +610,10 @@ export class IgxPivotDataSelectorComponent {
610610
}
611611
}
612612

613+
/**
614+
* @hidden
615+
* @internal
616+
*/
613617
public getPanelCollapsed(panelType: PivotDimensionType): boolean {
614618
switch(panelType) {
615619
case PivotDimensionType.Column:
@@ -623,6 +627,10 @@ export class IgxPivotDataSelectorComponent {
623627
}
624628
}
625629

630+
/**
631+
* @hidden
632+
* @internal
633+
*/
626634
public onCollapseChange(value: boolean, panelType: PivotDimensionType): void {
627635
switch(panelType) {
628636
case PivotDimensionType.Column:

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,22 @@ import {
2121
import { IgxPivotGridModule } from "./pivot-grid.module";
2222

2323
describe("Pivot data selector", () => {
24+
25+
configureTestSuite(() => {
26+
return TestBed.configureTestingModule({
27+
declarations: [IgxPivotDataSelectorComponent],
28+
imports: [NoopAnimationsModule, IgxPivotGridModule],
29+
});
30+
});
31+
32+
it("should initialize standalone before a grid is set ", () => {
33+
const fixture = TestBed.createComponent(IgxPivotDataSelectorComponent);
34+
fixture.detectChanges();
35+
expect(fixture.componentInstance).toBeDefined();
36+
});
37+
});
38+
39+
describe("Pivot data selector integration", () => {
2440
let fixture;
2541
let grid: PivotGridType;
2642
let selector: IgxPivotDataSelectorComponent;

0 commit comments

Comments
 (0)