UNPKG

@clr/angular

Version:

Angular components for Clarity

65 lines (64 loc) 2.94 kB
import { AfterContentInit, AfterViewChecked, AfterViewInit, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core'; import { DomAdapter } from '../../../utils/dom-adapter/dom-adapter'; import { ColumnsService } from '../providers/columns.service'; import { DetailService } from '../providers/detail.service'; import { Items } from '../providers/items'; import { Page } from '../providers/page'; import { TableSizeService } from '../providers/table-size.service'; import { NoopDomAdapter } from './noop-dom-adapter'; import { DatagridRenderOrganizer } from './render-organizer'; import * as i0 from "@angular/core"; export declare const domAdapterFactory: (platformId: any) => DomAdapter | NoopDomAdapter; export declare class DatagridMainRenderer implements AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy { private organizer; private items; private page; private domAdapter; private el; private renderer; private detailService; private tableSizeService; private columnsService; private ngZone; private headers; private rows; private _heightSet; private shouldStabilizeColumns; private subscriptions; /** * Indicates if we want to re-compute columns width. This should only happen: * 1) When headers change, with columns being added or removed * 2) When rows are lazily loaded for the first time */ private columnsSizesStable; constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone); ngAfterContentInit(): void; ngAfterViewInit(): void; ngAfterViewChecked(): void; ngOnDestroy(): void; toggleDetailPane(state: boolean): void; private setupColumns; private shouldComputeHeight; /** * Computes the height of the datagrid. * * NOTE: We had to choose to set the height instead of the min-height because * IE 11 requires the height on the parent for the children flex grow/shrink properties to work. * When we used min-height, 1 1 auto doesn't used to work in IE11 :-( * But this doesn't affect the fix. It works in both fixed & variable height datagrids. * * Refer: http://stackoverflow.com/questions/24396205/flex-grow-not-working-in-internet-explorer-11-0 */ private computeDatagridHeight; private resetDatagridHeight; /** * Makes each header compute its width. */ private computeHeadersWidth; /** * Triggers a whole re-rendring cycle to set column sizes, if needed. */ private stabilizeColumns; static ɵfac: i0.ɵɵFactoryDeclaration<DatagridMainRenderer, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridMainRenderer, "clr-datagrid", never, {}, {}, ["headers", "rows"], never, false, never>; }