@anglr/grid
Version:
Angular module displaying grid
125 lines • 4.08 kB
TypeScript
import { ElementRef, Type, WritableSignal, Signal, OnDestroy, Injector } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { PermanentStorage } from '@anglr/common';
import { GridColumn, GridPlugin, MetadataGatherer, TableGridMetadata, GridPluginInstances } from '@anglr/grid';
import { Subscription } from 'rxjs';
import { DialogMetadataSelectorOptions, DialogMetadataSelector } from './dialogMetadataSelector.interface';
import * as i0 from "@angular/core";
/**
* Storage state
*/
export interface StorageState {
[id: string]: GridColumn;
}
/**
* Component for rendering dialog metadata selector
*/
export declare class DialogMetadataSelectorComponent implements DialogMetadataSelector<TableGridMetadata<GridColumn>>, GridPlugin<DialogMetadataSelectorOptions>, OnDestroy {
protected storage: PermanentStorage;
protected dialog: MatDialog;
/**
* Instance of signal for obtaining metadata
*/
protected metadataValue: Signal<TableGridMetadata<GridColumn> | undefined | null>;
/**
* Metadata for dialog component
*/
protected metadataForDialogComponent: Signal<TableGridMetadata<GridColumn>>;
/**
* Options for grid plugin
*/
protected optionsValue: WritableSignal<DialogMetadataSelectorOptions>;
/**
* Instance of injector used for DI
*/
protected injector: Injector;
/**
* Subscription for metadata changes
*/
protected metadataChangedSubscription: Subscription | undefined | null;
/**
* Indication whether gahterer has been initialized
*/
protected gathererInitialized: boolean;
/**
* Instance of metadata gatherer, which is used for getting initial metadata
*/
protected metadataGatherer: MetadataGatherer<TableGridMetadata<GridColumn>> | undefined | null;
/**
* All metadata that are available
*/
protected allMetadata: WritableSignal<TableGridMetadata<GridColumn> | undefined | null>;
/**
* Array of visiblity flags for columns originaly obtained from metadata selector
*/
protected originalColumnsVisibility: boolean[];
/**
* Component that is used for handling metadata selection itself
*/
protected dialogComponent: Type<unknown> | undefined | null;
/**
* Columns for selection that are currently
*/
protected columnsForSelection: WritableSignal<GridColumn[]>;
/**
* @inheritdoc
*/
gridPlugins: GridPluginInstances | undefined | null;
/**
* @inheritdoc
*/
pluginElement: ElementRef<HTMLElement>;
/**
* @inheritdoc
*/
get options(): DialogMetadataSelectorOptions;
set options(options: DialogMetadataSelectorOptions);
/**
* @inheritdoc
*/
get metadata(): Signal<TableGridMetadata<GridColumn> | undefined | null>;
constructor(storage: PermanentStorage, dialog: MatDialog, options?: DialogMetadataSelectorOptions);
/**
* Called when component is destroyed
*/
ngOnDestroy(): void;
/**
* @inheritdoc
*/
show(): void;
/**
* @inheritdoc
*/
resetMetadata(): void;
/**
* @inheritdoc
*/
setMetadataGatherer(gatherer: MetadataGatherer<TableGridMetadata<GridColumn>>): void;
/**
* @inheritdoc
*/
initialize(force: boolean): void;
/**
* @inheritdoc
*/
initOptions(): void;
/**
* @inheritdoc
*/
invalidateVisuals(): void;
/**
* Initialize metadata
*/
protected initMetadata(): void;
/**
* Saves current state to storage
*/
protected saveToStorage(): void;
/**
* Gets stored storage state
*/
protected loadFromStorage(): StorageState | undefined | null;
static ɵfac: i0.ɵɵFactoryDeclaration<DialogMetadataSelectorComponent, [null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<DialogMetadataSelectorComponent, "ng-dialog-metadata-selector", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=dialogMetadataSelector.component.d.ts.map