@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
72 lines (71 loc) • 3.65 kB
TypeScript
import { CdkDragDrop, CdkDragStart } from "@angular/cdk/drag-drop";
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
import { FormBuilder, FormControl, FormGroup } from "@angular/forms";
import { Observable } from "rxjs";
import { DialogService, EventBus, IDataField, IDataSource, IEvent } from "@nova-ui/bits";
import { IDataSourceError } from "../../../../../components/providers/types";
import { ITableWidgetColumnConfig } from "../../../../../components/table-widget/types";
import { PizzagnaService } from "../../../../../pizzagna/services/pizzagna.service";
import { TableFormatterRegistryService } from "../../../../../services/table-formatter-registry.service";
import { IHasForm } from "../../../../../types";
import { ConfiguratorDataSourceManagerService } from "../../../../services/configurator-data-source-manager.service";
import * as i0 from "@angular/core";
export declare class TableColumnsConfigurationV2Component implements OnInit, IHasForm, OnChanges, OnDestroy {
private formBuilder;
private changeDetector;
private dialogService;
private pizzagnaService;
dataSourceManager: ConfiguratorDataSourceManagerService;
tableFormatterRegistry: TableFormatterRegistryService;
private eventBus;
static lateLoadKey: string;
columns: ITableWidgetColumnConfig[];
componentId: string;
/**
* @deprecated backward compatibility measure - deprecated in v11. Removal: NUI-5898
*
* This property is here because it was present in V1 component and was used to configure formatters
*/
template: any;
formReady: EventEmitter<FormGroup<any>>;
form: FormGroup;
emptyColumns$: Observable<boolean>;
dataSourceFields: Array<IDataField>;
draggedItemHeight: number;
isWidthMessageDisplayed: boolean;
dataSourceError: IDataSourceError | null;
get columnForms(): FormControl[];
dataSource: IDataSource;
columnLabel: string;
private onDestroy$;
constructor(formBuilder: FormBuilder, changeDetector: ChangeDetectorRef, dialogService: DialogService, pizzagnaService: PizzagnaService, dataSourceManager: ConfiguratorDataSourceManagerService, tableFormatterRegistry: TableFormatterRegistryService, eventBus: EventBus<IEvent>);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
getColumns(): any[];
updateColumns(columns: ITableWidgetColumnConfig[], emitEvent?: boolean): void;
trackBy(index: number, item: FormControl): string | undefined;
addColumn(): void;
onResetColumns(): void;
resetColumns(confirmation: boolean): void;
/**
* Merges current column definitions with new incoming data fields
*
* @param currentDatafields
* @param columns
*/
private mergeColumns;
/**
* This method calculates whether the width message should be displayed
*
* @param columns
* @private
*/
private getWidthMessageDisplayed;
moveItem(index: number, toIndex: number): void;
removeItem(index: number): void;
drop(event: CdkDragDrop<string[]>): void;
cdkDragStarted(event: CdkDragStart): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnsConfigurationV2Component, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TableColumnsConfigurationV2Component, "nui-table-columns-configuration", never, { "columns": { "alias": "columns"; "required": false; }; "componentId": { "alias": "componentId"; "required": false; }; "template": { "alias": "template"; "required": false; }; }, { "formReady": "formReady"; }, never, never, false, never>;
}