import { Type } from '@angular/core'; import { ListingComponent } from '../components/listing/listing.component'; import { ModelFormComponent } from '../components/model-form/model-form.component'; import { Metadata, FieldConfig } from './metadata'; export interface ViewConfig { title: string; breadcrumbs: any[]; metadata: Metadata; component: Type; iframeMode?: IFrameMode; } export interface ListViewer extends ViewConfig { search: { enabled: boolean; view: FormViewer; search_key?: string[]; mode?: string; creationView?: FormView; }; external_link?: { link: string; params: string[]; }; dialog_mode?: boolean; dialog_settings?: { add_new_btn?: boolean; }; pagination?: { enabled: boolean; pageSize?: number; }; } export interface FormActions { [key: string]: any; } export interface FormViewer extends ViewConfig { layout: string; controls: FieldConfig[]; actions: FormActions[]; external_link?: { link: string; params: string[]; }; viewMode?: string; } export interface IframeOptions { external_link: { link: string; params: string[]; }; viewMode: string; } export declare enum IFrameMode { POP_UP = "pop_up", NEW_PAGE = "new_page" } export declare class FormView implements FormViewer { metadata: Metadata; title: string; breadcrumbs: any[]; component: typeof ModelFormComponent; layout: string; controls: FieldConfig[]; actions: FormActions[]; search_key: string; viewMode: string; external_link: any; constructor(metadata: Metadata, options?: IframeOptions); } export interface ViewSettingsObj { isDialog: boolean; dialog_settings?: { add_new_btn?: boolean; }; search_settings: { enabled: boolean; search_key?: string[]; mode: string; creationView?: FormView; }; external_link?: { link: string; params: string[]; }; pagination?: { enabled: boolean; pageSize: number; }; iframeMode?: IFrameMode; } export declare class ListingView implements ListViewer { metadata: Metadata; viewSettings: ViewSettingsObj; title: string; breadcrumbs: any[]; component: typeof ListingComponent; search: { enabled: boolean; view: FormView; search_key: string[]; mode: string; creationView: FormView; }; external_link: { link: string; params: string[]; }; dialog_mode: boolean; dialog_settings: { add_new_btn?: boolean; }; pagination: { enabled: boolean; pageSize: number; }; defaults: {}; iframeMode: IFrameMode; constructor(metadata: Metadata, viewSettings: ViewSettingsObj); setDefaults(values: any): void; } //# sourceMappingURL=views.d.ts.map