igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
218 lines (217 loc) • 8.93 kB
TypeScript
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EnvironmentInjector, EventEmitter, Injector, IterableDiffers, NgZone, OnChanges, OnDestroy, OnInit, QueryList, TemplateRef, ViewContainerRef } from '@angular/core';
import { IgxHierarchicalGridAPIService } from './hierarchical-grid-api.service';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
import { IgxGridSummaryService } from '../summaries/grid-summary.service';
import { IgxHierarchicalGridBaseDirective } from './hierarchical-grid-base.directive';
import { IgxHierarchicalGridNavigationService } from './hierarchical-grid-navigation.service';
import { IgxGridSelectionService } from '../selection/selection.service';
import { IgxOverlayService } from '../../services/public_api';
import { IgxColumnComponent } from '../columns/column.component';
import { ISearchInfo } from '../common/events';
import { IgxRowIslandAPIService } from './row-island-api.service';
import { PlatformUtil } from '../../core/utils';
import { IForOfState } from '../../directives/for-of/for_of.directive';
import { IgxColumnResizingService } from '../resizing/resizing.service';
import { GridType, IgxGridPaginatorTemplateContext } from '../common/grid.interface';
import { IgxGridToolbarTemplateContext } from '../toolbar/common';
import { IgxActionStripToken } from '../../action-strip/token';
import { IgxFlatTransactionFactory } from '../../services/transaction/transaction-factory.service';
import { IGridCreatedEventArgs } from './events';
import { IgxGridValidationService } from '../grid/grid-validation.service';
import { IgxTextHighlightService } from '../../directives/text-highlight/text-highlight.service';
import * as i0 from "@angular/core";
/**
* Row island
*
* @igxModule IgxHierarchicalGridModule
* @igxParent IgxHierarchicalGridComponent, IgxRowIslandComponent
*
*/
export declare class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective implements AfterContentInit, AfterViewInit, OnChanges, OnInit, OnDestroy {
rowIslandAPI: IgxRowIslandAPIService;
/**
* Sets the key of the row island by which child data would be taken from the row data if such is provided.
* ```html
* <igx-hierarchical-grid [data]="Data" [autoGenerate]="true">
* <igx-row-island [key]="'childData'">
* <!-- ... -->
* </igx-row-island>
* </igx-hierarchical-grid>
* ```
*
* @memberof IgxRowIslandComponent
*/
key: string;
/**
* Sets the key of the row island by which child data would be taken from the row data if such is provided.
* @hidden @internal
*/
get childDataKey(): string;
set childDataKey(value: string);
/**
* @hidden
*/
children: QueryList<IgxRowIslandComponent>;
/**
* @hidden @internal
*/
childLayoutList: QueryList<IgxRowIslandComponent>;
/**
* @hidden
*/
childColumns: QueryList<IgxColumnComponent>;
protected toolbarDirectiveTemplate: TemplateRef<IgxGridToolbarTemplateContext>;
protected paginatorDirectiveTemplate: TemplateRef<any>;
/**
* Sets/Gets the toolbar template for each child grid created from this row island.
*/
get toolbarTemplate(): TemplateRef<IgxGridToolbarTemplateContext>;
set toolbarTemplate(template: TemplateRef<IgxGridToolbarTemplateContext>);
/**
* Sets/Gets the paginator template for each child grid created from this row island.
*/
get paginatorTemplate(): TemplateRef<IgxGridPaginatorTemplateContext>;
set paginatorTemplate(template: TemplateRef<IgxGridPaginatorTemplateContext>);
/** @hidden @internal */
protected actionStripComponents: QueryList<IgxActionStripToken>;
/**
* @hidden
*/
layoutChange: EventEmitter<any>;
/**
* Event emitted when a grid is being created based on this row island.
* ```html
* <igx-hierarchical-grid [data]="Data" [autoGenerate]="true">
* <igx-row-island [key]="'childData'" (gridCreated)="gridCreated($event)" #rowIsland>
* <!-- ... -->
* </igx-row-island>
* </igx-hierarchical-grid>
* ```
*
* @memberof IgxRowIslandComponent
*/
gridCreated: EventEmitter<IGridCreatedEventArgs>;
/**
* Emitted after a grid is being initialized for this row island.
* The emitting is done in `ngAfterViewInit`.
* ```html
* <igx-hierarchical-grid [data]="Data" [autoGenerate]="true">
* <igx-row-island [key]="'childData'" (gridInitialized)="gridInitialized($event)" #rowIsland>
* <!-- ... -->
* </igx-row-island>
* </igx-hierarchical-grid>
* ```
*
* @memberof IgxRowIslandComponent
*/
gridInitialized: EventEmitter<IGridCreatedEventArgs>;
/**
* @hidden
*/
initialChanges: any[];
/**
* @hidden
*/
rootGrid: GridType;
/** @hidden */
readonly data: any[] | null;
/** @hidden */
get hiddenColumnsCount(): number;
/** @hidden */
get pinnedColumnsCount(): number;
/** @hidden */
get lastSearchInfo(): ISearchInfo;
/** @hidden */
get filteredData(): any;
/** @hidden */
get filteredSortedData(): any[];
/** @hidden */
get virtualizationState(): IForOfState;
/** @hidden */
get pinnedColumns(): IgxColumnComponent[];
/** @hidden */
get unpinnedColumns(): IgxColumnComponent[];
/** @hidden */
get visibleColumns(): IgxColumnComponent[];
/** @hidden */
get dataView(): any[];
private ri_columnListDiffer;
private layout_id;
private isInit;
private _toolbarTemplate;
private _paginatorTemplate;
/**
* Sets if all immediate children of the grids for this `IgxRowIslandComponent` should be expanded/collapsed.
* ```html
* <igx-hierarchical-grid [data]="Data" [autoGenerate]="true">
* <igx-row-island [key]="'childData'" [expandChildren]="true" #rowIsland>
* <!-- ... -->
* </igx-row-island>
* </igx-hierarchical-grid>
* ```
*
* @memberof IgxRowIslandComponent
*/
set expandChildren(value: boolean);
/**
* Gets if all immediate children of the grids for this `IgxRowIslandComponent` have been set to be expanded/collapsed.
* ```typescript
* const expanded = this.rowIsland.expandChildren;
* ```
*
* @memberof IgxRowIslandComponent
*/
get expandChildren(): boolean;
/**
* @hidden
*/
get id(): string;
/**
* @hidden
*/
get parentId(): any;
/**
* @hidden
*/
get level(): number;
constructor(validationService: IgxGridValidationService, selectionService: IgxGridSelectionService, colResizingService: IgxColumnResizingService, gridAPI: IgxHierarchicalGridAPIService, transactionFactory: IgxFlatTransactionFactory, elementRef: ElementRef<HTMLElement>, zone: NgZone, document: any, cdr: ChangeDetectorRef, differs: IterableDiffers, viewRef: ViewContainerRef, injector: Injector, envInjector: EnvironmentInjector, navigation: IgxHierarchicalGridNavigationService, filteringService: IgxFilteringService, textHighlightService: IgxTextHighlightService, overlayService: IgxOverlayService, summaryService: IgxGridSummaryService, rowIslandAPI: IgxRowIslandAPIService, localeId: string, platform: PlatformUtil);
/**
* @hidden
*/
ngOnInit(): void;
/**
* @hidden
*/
ngAfterContentInit(): void;
/**
* @hidden
*/
ngAfterViewInit(): void;
/**
* @hidden
*/
ngOnChanges(changes: any): void;
/**
* @hidden
*/
ngOnDestroy(): void;
/**
* @hidden
*/
reflow(): void;
/**
* @hidden
*/
calculateGridHeight(): void;
/**
* @hidden
*/
calculateGridWidth(): void;
protected _childColumns: any[];
protected updateColumnList(): void;
protected updateChildren(): void;
private cleanGridState;
static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowIslandComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<IgxRowIslandComponent, "igx-row-island", never, { "key": { "alias": "key"; "required": false; }; "childDataKey": { "alias": "childDataKey"; "required": false; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "paginatorTemplate": { "alias": "paginatorTemplate"; "required": false; }; "expandChildren": { "alias": "expandChildren"; "required": false; }; }, { "layoutChange": "layoutChange"; "gridCreated": "gridCreated"; "gridInitialized": "gridInitialized"; }, ["toolbarDirectiveTemplate", "paginatorDirectiveTemplate", "children", "childLayoutList", "childColumns", "actionStripComponents"], ["igx-column,igc-column,igx-column-group,igc-column-group,igx-action-strip,igc-action-strip", "igx-row-island,igc-row-island"], true, never>;
static ngAcceptInputType_expandChildren: unknown;
}