@rxap/data-grid
Version:
Provides a data grid component for Angular applications. It supports plain and form modes, custom header and cell templates, and integration with Rxap Forms and Data Sources. The component allows for displaying and editing data in a tabular format with fe
73 lines (72 loc) • 3.19 kB
TypeScript
import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
import { Router } from '@angular/router';
import { FormDirective } from '@rxap/forms';
import { DataSource, DataSourceViewer } from '@rxap/pattern';
import { ToggleSubject } from '@rxap/rxjs';
import { Observable } from 'rxjs';
import { DataGridRowDefDirective } from './data-grid-row-def.directive';
import * as i0 from "@angular/core";
export declare enum DataGridMode {
/**
* The view cell template is used to display the property value
*/
PLAIN = "plain",
/**
* The edit cell template is used to display the property value, but the form and all controls are marked as disabled
*/
FORM = "form"
}
export declare class DataGridComponent<T extends Record<string, any>> implements OnInit, OnDestroy, AfterContentInit {
private readonly cdr;
private readonly router;
private readonly formDirective?;
isDevMode: boolean;
header: boolean;
dataSource?: DataSource<T>;
data$: Observable<T>;
viewer: DataSourceViewer;
data?: T;
displayProperties: string[] | null;
hideEmptyProperties: boolean;
rows: QueryList<DataGridRowDefDirective<T>>;
editModeChange: EventEmitter<{
mode: boolean;
data?: T;
done: () => void;
}>;
rows$: Observable<QueryList<DataGridRowDefDirective<T>>>;
hasError$: Observable<boolean>;
dataLoading$: Observable<boolean>;
loading$: ToggleSubject;
readonly isEditMode$: Observable<boolean>;
readonly mode$: Observable<DataGridMode>;
readonly isFormMode$: Observable<boolean>;
readonly isPlainMode$: Observable<boolean>;
private _editMode$;
private _mode$;
private _routerEventSubscription;
constructor(cdr: ChangeDetectorRef, router: Router, formDirective?: FormDirective | undefined);
set mode(value: DataGridMode | string);
get isFormModeOrHasAnyEditCells(): boolean;
get isFormMode(): boolean;
get hasAnyEditCells(): boolean;
get isEditMode(): boolean;
set editMode(value: boolean);
/**
* @deprecated use the loading$ property instead
*/
get loading(): boolean;
ngAfterContentInit(): void;
logCurrentFormState(): void;
ngOnInit(): void;
ngOnDestroy(): void;
enableEditMode(skipPatchValue?: boolean): void;
disableEditMode(): void;
submit(): void;
reset(): void;
refresh(): void;
cancel(): void;
retry(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent<any>, [null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent<any>, "rxap-data-grid", never, { "header": { "alias": "header"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "viewer": { "alias": "viewer"; "required": false; }; "data": { "alias": "data"; "required": false; }; "displayProperties": { "alias": "displayProperties"; "required": false; }; "hideEmptyProperties": { "alias": "hideEmptyProperties"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "editModeChange": "editModeChange"; }, ["rows"], never, true, never>;
}