@alfresco/adf-core
Version:
41 lines (40 loc) • 1.85 kB
TypeScript
import { BehaviorSubject } from 'rxjs';
import { AppConfigService } from '../../app-config/app-config.service';
import { DataColumnListComponent } from '../data-column/data-column-list.component';
import { DataColumn } from './data-column.model';
import * as i0 from "@angular/core";
export declare abstract class DataTableSchema<T = unknown> {
private appConfigService;
protected presetKey: string;
protected presetsModel: any;
columnList: DataColumnListComponent;
/** Custom preset column schema in JSON format. */
presetColumn: string;
columns: DataColumn<T>[];
protected columnsOrder: string[] | undefined;
protected columnsOrderedByKey: string;
protected columnsVisibility: {
[columnId: string]: boolean;
} | undefined;
protected columnsWidths: {
[columnId: string]: number;
} | undefined;
private layoutPresets;
protected columnsSchemaSubject$: BehaviorSubject<boolean>;
isColumnSchemaCreated$: import("rxjs").Observable<boolean>;
constructor(appConfigService: AppConfigService, presetKey: string, presetsModel: any);
createDatatableSchema(): void;
createColumns(): void;
loadLayoutPresets(): void;
mergeJsonAndHtmlSchema(): any;
getSchemaFromHtml(columnList: DataColumnListComponent): DataColumn[];
getSchemaFromConfig(presetColumn: string): DataColumn[];
private getDefaultLayoutPreset;
setPresetKey(presetKey: string): void;
setPresetsModel(presetsModel: any): void;
private sortColumnsByKey;
private setHiddenColumns;
private setColumnsWidth;
static ɵfac: i0.ɵɵFactoryDeclaration<DataTableSchema<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DataTableSchema<any>, never, never, { "presetColumn": { "alias": "presetColumn"; "required": false; }; }, {}, ["columnList"], never, true, never>;
}