Skip to content

Commit 266c020

Browse files
authored
Merge branch 'master' into sivanova/fix-16508
2 parents 5cd0c73 + ba04b5c commit 266c020

File tree

11 files changed

+43
-71
lines changed

11 files changed

+43
-71
lines changed

projects/igniteui-angular-elements/src/analyzer/elements.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {
77
import { IgxTreeGridComponent } from "../../../igniteui-angular/grids/tree-grid";
88
import { IgxPaginatorComponent } from "../../../igniteui-angular/paginator/src/paginator/paginator.component";
99
import { IgxPaginatorToken } from "../../../igniteui-angular/paginator/src/paginator/token";
10-
import { IgxColumnComponent } from "../../../igniteui-angular/grids/core/src/columns/column.component";
1110
import { IgxColumnGroupComponent } from "../../../igniteui-angular/grids/core/src/columns/column-group.component";
11+
import { IgxColumnComponent } from "../../../igniteui-angular/grids/core/src/columns/column.component";
1212
import { IgxColumnLayoutComponent } from "../../../igniteui-angular/grids/core/src/columns/column-layout.component";
1313
import { IgxGridEditingActionsComponent } from "../../../igniteui-angular/grids/core/src/grid-actions/grid-editing-actions.component";
1414
import { IgxActionStripActionsToken } from "../../../igniteui-angular/core/src/grid-column-actions/token";

projects/igniteui-angular/core/src/data-operations/grid-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ export interface ColumnType extends FieldType {
330330
* The immediate parent (right above) column of this column (if any).
331331
* If there is no parent, that means the current column is the root parent
332332
*/
333-
parent?: ColumnType;
333+
parent: ColumnType | null;
334334
pipeArgs: IColumnPipeArgs;
335335
hasNestedPath: boolean;
336336
additionalTemplateContext: any;

projects/igniteui-angular/grids/core/src/api.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ export class GridBaseAPIService<T extends GridType> implements GridServiceType {
3131
public cms = inject(IgxColumnMovingService)
3232

3333
public grid: T;
34-
protected destroyMap: Map<string, Subject<boolean>> = new Map<string, Subject<boolean>>();
34+
protected destroyMap: Map<string, Subject<boolean>> = new Map<string, Subject<boolean>>();
3535

3636
public get_column_by_name(name: string): ColumnType {
3737
return this.grid.columns.find((col: ColumnType) => col.field === name);
3838
}
3939

40-
public get_summary_data() {
40+
public get_summary_data(): any[] | null {
4141
const grid = this.grid;
4242
let data = grid.filteredData;
4343
if (data && grid.hasPinnedRecords) {

projects/igniteui-angular/grids/core/src/columns/column.component.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { IColumnVisibilityChangingEventArgs, IPinColumnCancellableEventArgs, IPi
2525
import { IgxGridCell } from '../grid-public-cell';
2626
import { NG_VALIDATORS, Validator } from '@angular/forms';
2727
import { ColumnPinningPosition, ColumnType, DefaultSortingStrategy, ExpressionsTreeUtil, FilteringExpressionsTree, GridColumnDataType, IColumnEditorOptions, IColumnPipeArgs, IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand, IgxSummaryResult, IgxTimeFilteringOperand, isConstructor, ISortingStrategy, MRLColumnSizeInfo, MRLResizeColumnInfo, PlatformUtil, ɵSize } from 'igniteui-angular/core';
28+
import type { IgxColumnLayoutComponent } from './column-layout.component';
2829

2930
const DEFAULT_DATE_FORMAT = 'mediumDate';
3031
const DEFAULT_TIME_FORMAT = 'mediumTime';
@@ -1525,8 +1526,6 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
15251526
* ```typescript
15261527
* let visibleColumnIndex = this.column.visibleIndex;
15271528
* ```
1528-
*
1529-
* @memberof IgxColumnComponent
15301529
*/
15311530
public get visibleIndex(): number {
15321531
if (!isNaN(this._vIndex)) {
@@ -1543,7 +1542,8 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
15431542
col = this.allChildren.filter(c => !c.columnGroup && !c.hidden)[0] as any;
15441543
}
15451544
if (this.columnLayoutChild) {
1546-
return this.parent.childrenVisibleIndexes.find(x => x.column === this).index;
1545+
// TODO: Refactor/redo/remove this
1546+
return (this.parent as IgxColumnLayoutComponent).childrenVisibleIndexes.find(x => x.column === this).index;
15471547
}
15481548

15491549
if (!this.pinned) {
@@ -1668,7 +1668,8 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
16681668
this._visibleWhenCollapsed = value;
16691669
this.visibleWhenCollapsedChange.emit(this._visibleWhenCollapsed);
16701670
if (this.parent) {
1671-
this.parent?.setExpandCollapseState?.();
1671+
// TODO: Refactor/redo/remove this
1672+
(this.parent as IgxColumnLayoutComponent)?.setExpandCollapseState?.();
16721673
}
16731674
}
16741675

@@ -1801,10 +1802,8 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
18011802
* ```typescript
18021803
* this.column.parent = higherLevelColumn;
18031804
* ```
1804-
*
1805-
* @memberof IgxColumnComponent
18061805
*/
1807-
public parent = null;
1806+
public parent: ColumnType | null = null;
18081807

18091808
/* blazorSuppress */
18101809
/**
@@ -2199,7 +2198,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
21992198
return [{ target: this, spanUsed: 1 }];
22002199
}
22012200

2202-
const columnSized = this.getInitialChildColumnSizes(this.parent.children);
2201+
const columnSized = this.getInitialChildColumnSizes(this.parent.children as QueryList<IgxColumnComponent>);
22032202
const targets: MRLResizeColumnInfo[] = [];
22042203
const colEnd = this.colEnd ? this.colEnd : this.colStart + 1;
22052204

projects/igniteui-angular/grids/core/src/common/grid.interface.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export const IGX_GRID_SERVICE_BASE = /*@__PURE__*/new InjectionToken<GridService
2727

2828
export interface IGridDataBindable extends GridTypeBase {
2929
data: any[] | null;
30-
get filteredData(): any[];
30+
get filteredData(): any[] | null;
3131
}
3232

3333
/* marshalByValue */
@@ -385,7 +385,7 @@ export interface GridServiceType {
385385
get_row_expansion_state(id: any): boolean;
386386
/** Represents a method declaration for setting a new expansion state. It can be triggered by an event */
387387
set_row_expansion_state(id: any, expanded: boolean, event?: Event): void;
388-
get_summary_data(): any[];
388+
get_summary_data(): any[] | null;
389389

390390
prepare_sorting_expression(stateCollections: Array<Array<any>>, expression: ISortingExpression): void;
391391
/**
@@ -417,7 +417,7 @@ export interface GridServiceType {
417417
clear_groupby?(field: string | any): void;
418418
getParentRowId?(child: GridType): any;
419419
getChildGrids?(inDepth?: boolean): GridType[];
420-
getChildGrid?(path: IPathSegment[]): GridType;
420+
getChildGrid?(path: IPathSegment[]): GridType | undefined;
421421

422422
unsetChildRowIsland?(rowIsland: GridType): void;
423423
registerChildRowIsland?(rowIsland: GridType): void;
@@ -497,7 +497,7 @@ export interface GridType extends IGridDataBindable {
497497
/** @hidden @internal */
498498
tfoot: ElementRef<HTMLElement>;
499499
/** @hidden @internal */
500-
paginator: IgxPaginatorComponent;
500+
paginator?: IgxPaginatorComponent;
501501
/** @hidden @internal */
502502
paginatorList?: QueryList<IgxPaginatorComponent>;
503503
/** @hidden @internal */
@@ -634,7 +634,6 @@ export interface GridType extends IGridDataBindable {
634634
/** The height of each row in the grid. Setting a constant height can solve problems with not showing all elements when scrolling */
635635
rowHeight: number;
636636
multiRowLayoutRowSize: number;
637-
maxLevelHeaderDepth: number;
638637
defaultRowHeight: number;
639638
/** The default font size, calculated for each element */
640639
_baseFontSize?: number;
@@ -691,7 +690,7 @@ export interface GridType extends IGridDataBindable {
691690
dataView: any[];
692691
_filteredUnpinnedData: any[];
693692
_filteredSortedUnpinnedData: any[];
694-
filteredSortedData: any[];
693+
filteredSortedData: any[] | null;
695694
dataWithAddedInTransactionRows: any[];
696695
/** Represents the transaction service for the grid. */
697696
readonly transactions: TransactionService<Transaction, State>;

projects/igniteui-angular/grids/grid/src/grid-base.directive.ts

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2729,11 +2729,11 @@ export abstract class IgxGridBaseDirective implements GridType,
27292729
}
27302730

27312731
/** @hidden @internal */
2732-
public get activeDescendant() {
2732+
public get activeDescendant(): string | undefined {
27332733
const activeElem = this.navigation.activeNode;
27342734

27352735
if (!activeElem || !Object.keys(activeElem).length || activeElem.row < 0) {
2736-
return null;
2736+
return;
27372737
}
27382738
return `${this.id}_${activeElem.row}_${activeElem.column}`;
27392739
}
@@ -2770,18 +2770,6 @@ export abstract class IgxGridBaseDirective implements GridType,
27702770
this.notifyChanges();
27712771
}
27722772

2773-
/**
2774-
* @hidden @internal
2775-
*/
2776-
public get maxLevelHeaderDepth() {
2777-
if (this._maxLevelHeaderDepth === null) {
2778-
this._maxLevelHeaderDepth = this.hasColumnLayouts ?
2779-
this._columns.reduce((acc, col) => Math.max(acc, col.rowStart), 0) :
2780-
this._columns.reduce((acc, col) => Math.max(acc, col.level), 0);
2781-
}
2782-
return this._maxLevelHeaderDepth;
2783-
}
2784-
27852773
/**
27862774
* Gets the number of hidden columns.
27872775
*
@@ -3136,10 +3124,6 @@ export abstract class IgxGridBaseDirective implements GridType,
31363124
* @hidden
31373125
*/
31383126
protected _sortingExpressions: Array<ISortingExpression> = [];
3139-
/**
3140-
* @hidden
3141-
*/
3142-
protected _maxLevelHeaderDepth = null;
31433127
/**
31443128
* @hidden
31453129
*/
@@ -3177,7 +3161,7 @@ export abstract class IgxGridBaseDirective implements GridType,
31773161
protected _batchEditing = false;
31783162
protected _sortingOptions: ISortingOptions = { mode: 'multiple' };
31793163
protected _filterStrategy: IFilteringStrategy = new FilteringStrategy();
3180-
protected _autoGeneratedCols = [];
3164+
protected _autoGeneratedCols: ColumnType[] = [];
31813165
protected _autoGeneratedColsRefs: ComponentRef<IgxColumnComponent>[] = [];
31823166
protected _dataView = [];
31833167
protected _lastSearchInfo: ISearchInfo = {
@@ -3353,7 +3337,7 @@ export abstract class IgxGridBaseDirective implements GridType,
33533337
* const filteredSortedData = this.grid1.filteredSortedData;
33543338
* ```
33553339
*/
3356-
public get filteredSortedData(): any[] {
3340+
public get filteredSortedData(): any[] | null {
33573341
return this._filteredSortedData;
33583342
}
33593343

@@ -4819,7 +4803,7 @@ export abstract class IgxGridBaseDirective implements GridType,
48194803
}
48204804

48214805
if (column.level) {
4822-
this._moveChildColumns(column.parent, column, target, pos);
4806+
this._moveChildColumns(column.parent as IgxColumnComponent, column, target, pos);
48234807
}
48244808

48254809
// let columnPinStateChanged;
@@ -6968,7 +6952,7 @@ export abstract class IgxGridBaseDirective implements GridType,
69686952
if (this.autoGenerate && this._columns.length === 0 && this._autoGeneratedCols.length > 0) {
69696953
// In Ivy if there are nested conditional templates the content children are re-evaluated
69706954
// hence autogenerated columns are cleared and need to be reset.
6971-
this.updateColumns(this._autoGeneratedCols);
6955+
this.updateColumns(this._autoGeneratedCols as IgxColumnComponent[]);
69726956
return;
69736957
}
69746958
if (diff) {
@@ -7374,7 +7358,7 @@ export abstract class IgxGridBaseDirective implements GridType,
73747358
const columnLayoutColumns = collection.filter((col) => col.columnLayout || col.columnLayoutChild);
73757359
collection = columnLayoutColumns;
73767360
}
7377-
this._maxLevelHeaderDepth = null;
7361+
73787362
collection.forEach((column: IgxColumnComponent) => {
73797363
column.defaultWidth = this.columnWidthSetByUser ? this._columnWidth : column.defaultWidth ? column.defaultWidth : '';
73807364

projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid-api.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export class IgxHierarchicalGridAPIService extends GridBaseAPIService<GridType>
2525
return this.childRowIslands.get(key);
2626
}
2727

28-
public getChildGrid(path: Array<IPathSegment>) {
28+
public getChildGrid(path: Array<IPathSegment>): GridType | undefined {
2929
const currPath = path;
3030
let grid;
3131
const pathElem = currPath.shift();

projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid-base.directive.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,6 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect
7979
return 'hierarchical';
8080
}
8181

82-
/**
83-
* @hidden
84-
*/
85-
public override get maxLevelHeaderDepth() {
86-
if (this._maxLevelHeaderDepth === null) {
87-
this._maxLevelHeaderDepth = this.columns.reduce((acc, col) => Math.max(acc, col.level), 0);
88-
}
89-
return this._maxLevelHeaderDepth;
90-
}
91-
9282
/* blazorSuppress */
9383
/**
9484
* Gets the outlet used to attach the grid's overlays to.

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

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,8 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
676676
* @hidden @internal
677677
*/
678678
@Input()
679-
public override get pagingMode() {
680-
return;
679+
public override get pagingMode(): GridPagingMode {
680+
return 'local';
681681
}
682682

683683
public override set pagingMode(_val: GridPagingMode) {
@@ -688,8 +688,8 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
688688
*/
689689
@WatchChanges()
690690
@Input({ transform: booleanAttribute })
691-
public override get hideRowSelectors() {
692-
return;
691+
public override get hideRowSelectors(): boolean {
692+
return false;
693693
}
694694

695695
public override set hideRowSelectors(_value: boolean) {
@@ -733,7 +733,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
733733
*/
734734
@Input({ transform: booleanAttribute })
735735
public override get rowDraggable(): boolean {
736-
return;
736+
return false;
737737
}
738738

739739

@@ -789,7 +789,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
789789
*/
790790
@Input()
791791
public override get perPage(): number {
792-
return;
792+
return 0;
793793
}
794794

795795
public override set perPage(_val: number) {
@@ -894,7 +894,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
894894
}
895895

896896
/**
897-
* @hidden @interal
897+
* @hidden @internal
898898
*/
899899
@Input()
900900
public override get summaryCalculationMode() {
@@ -905,7 +905,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
905905
}
906906

907907
/**
908-
* @hidden @interal
908+
* @hidden @internal
909909
*/
910910
@Input({ transform: booleanAttribute })
911911
public override get showSummaryOnCollapse() {
@@ -918,23 +918,23 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
918918
/**
919919
* @hidden @internal
920920
*/
921-
public override get hiddenColumnsCount() {
922-
return null;
921+
public override get hiddenColumnsCount(): number {
922+
return 0;
923923
}
924924

925925
/**
926926
* @hidden @internal
927927
*/
928-
public override get pinnedColumnsCount() {
929-
return null;
928+
public override get pinnedColumnsCount(): number {
929+
return 0;
930930
}
931931

932932
/**
933933
* @hidden @internal
934934
*/
935935
@Input({ transform: booleanAttribute })
936936
public override get batchEditing(): boolean {
937-
return;
937+
return false;
938938
}
939939

940940
public override set batchEditing(_val: boolean) {
@@ -1276,7 +1276,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
12761276
* @hidden @internal
12771277
*/
12781278
public override isRecordPinnedByIndex(_rowIndex: number) {
1279-
return null;
1279+
return false;
12801280
}
12811281

12821282
/**
@@ -1991,9 +1991,9 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
19911991
}
19921992

19931993
/** @hidden @internal */
1994-
public override get activeDescendant() {
1994+
public override get activeDescendant(): string | undefined {
19951995
if (this.navigation.isRowHeaderActive || this.navigation.isRowDimensionHeaderActive) {
1996-
return null;
1996+
return;
19971997
}
19981998
return super.activeDescendant;
19991999
}
@@ -2015,7 +2015,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
20152015
return activeHeader ? `${this.id}_${activeHeader.title}` : null;
20162016
}
20172017

2018-
protected resolveToggle(groupColumn: IgxColumnComponent, state: boolean) {
2018+
protected resolveToggle(groupColumn: ColumnType, state: boolean) {
20192019
if (!groupColumn) return;
20202020
groupColumn.hidden = state;
20212021
this.columnGroupStates.set(groupColumn.field, state);

projects/igniteui-angular/grids/tree-grid/src/tree-grid-api.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class IgxTreeGridAPIService extends GridBaseAPIService<GridType> {
2828
return data;
2929
}
3030

31-
public override get_summary_data() {
31+
public override get_summary_data(): any[] | null {
3232
const grid = this.grid;
3333
const data = grid.processedRootRecords?.filter(row => row.isFilteredOutParent === undefined || row.isFilteredOutParent === false)
3434
.map(rec => rec.data);

0 commit comments

Comments
 (0)