@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
52 lines (51 loc) • 3.35 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
import { Subject } from "rxjs/internal/Subject";
import { EventBus, IDataSource, IEvent, LoggerService } from "@nova-ui/bits";
import { ProviderRegistryService } from "../../../../../services/provider-registry.service";
import { IHasChangeDetector, IHasForm, IProperties, IProviderConfiguration, IProviderConfigurationForDisplay } from "../../../../../types";
import { ConfiguratorHeadingService } from "../../../../services/configurator-heading.service";
import * as i0 from "@angular/core";
/**
* This is a basic implementation of a data source configuration component. In the real world scenario, this component will most likely be replaced by a
* custom one, but still can be used as a template for developing a custom specific solution.
*/
export declare class DataSourceConfigurationV2Component implements IHasChangeDetector, IHasForm, OnInit, OnChanges, AfterViewInit {
changeDetector: ChangeDetectorRef;
configuratorHeading: ConfiguratorHeadingService;
protected formBuilder: FormBuilder;
protected providerRegistryService: ProviderRegistryService;
protected eventBus: EventBus<IEvent>;
protected injector: Injector;
protected logger: LoggerService;
static lateLoadKey: string;
/**
* This component shows a dropdown with options for selecting a data source, this input represents these options.
*/
dataSourceProviders: IProviderConfigurationForDisplay[];
properties: IProperties;
providerId: string;
errorComponent: string;
formReady: EventEmitter<FormGroup<any>>;
form: FormGroup;
hasDataSourceError: boolean;
dataSource: IDataSource;
dataFieldIds: Subject<any>;
constructor(changeDetector: ChangeDetectorRef, configuratorHeading: ConfiguratorHeadingService, formBuilder: FormBuilder, providerRegistryService: ProviderRegistryService, eventBus: EventBus<IEvent>, injector: Injector, logger: LoggerService);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
onDataSourceSelected(selectedDataSource: IProviderConfigurationForDisplay): void;
/**
* The data source is invoked here to notify the rest of the form about changes in the data source output.
* DATA_SOURCE_OUTPUT event is emitted through the event bus carrying the data source result as the payload.
* This might not be necessary in every situation. If the important information is already stored in the
* data source properties, this step can be omitted.
*
* @param data
*/
invokeDataSource(data: IProviderConfiguration): void;
onErrorState(isError: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceConfigurationV2Component, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DataSourceConfigurationV2Component, "nui-data-source-configuration", never, { "dataSourceProviders": { "alias": "dataSourceProviders"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "providerId": { "alias": "providerId"; "required": false; }; "errorComponent": { "alias": "errorComponent"; "required": false; }; }, { "formReady": "formReady"; }, never, never, false, never>;
}