import { ActionButton, DefaultHelper } from '../../..'; import { ViewUser, StandardAPIViewDTO, HeaderTitle } from '../../view.types'; export declare type CRUD_V2_USAGE_TYPE = "ELENCO" | "GESTIONE"; export declare type CrudV2Settings = { crudType: CRUD_V2_USAGE_TYPE; title?: string; description?: string; icon?: string; defaultSearchFieldName?: string; searchBox?: { placeholder?: string; html?: string; hideSearchBox?: boolean; }; exportDropdown?: ActionButton[]; }; export declare enum OPERATORI { INIZIA_CON = 1, FINISCE_CON = 2, CONTIENE = 3, MAGGIORE = 4, MINORE = 5, UGUALE = 6, MAGGIORE_UGUALE = 7, MINORE_UGUALE = 8, VICINO = 9, DIVERSO = 10, NOTLIKE = 11, REGEXP = 15, IN = 16, UGUALE_DATA = 17, MAGGIORE_UGUALE_DATA = 18, MINORE_UGUALE_DATA = 19, MAGGIORE_DATA = 20, MINORE_DATA = 21 } export declare type CrudV2AggregationFunction = (subDocs: string[], user?: ViewUser, params?: any) => any[]; export declare class CRUDV2ServerSideFindDTO extends StandardAPIViewDTO { readonly filters: any; readonly offset: number; readonly limit: number; readonly order?: any; } export declare type CrudV2ColumnPipeSelection = "EuroCurrencyPipe" | "YesNoPipe" | "DateTimePipe" | "DateOnlyPipe" | "DecimalExtendedPipe" | "IntegerPipe"; export declare class CRUDV2Column { name?: string; prop?: string; width?: number; maxWidth?: number; minWidth?: number; pipe?: CrudV2ColumnPipeSelection; cellClass?: string | string[]; sortable?: boolean; summaryFunc?: any; isButton?: boolean; comparator?: (valueA: any, valueB: any, rowA: any, rowB: any, sortDirection: any) => -1 | 0 | 1; title?: string; flexGrow?: number; resizeable?: boolean; draggable?: boolean; frozenLeft?: boolean; frozenRight?: boolean; titleProp?: string; link?: string[]; params?: string[]; queryParams?: { [key: string]: number | string | "prop"; }; isFiltroVeloceEnabled?: boolean; extra?: any; groupedColumns?: CRUDV2Column[]; isGroupedColumn?: boolean; tableFilter?: { showFilter: boolean; filterOptions: { text: string; value: any; }[]; operator?: "eq" | "gt" | "gte" | "lt" | "lte" | "like" | "in" | "regexp"; customFilterFn?: ($event: any, filterElement: any) => void; }; isCustomHtml?: boolean; isBadge?: boolean; contentPosition?: 'center' | 'right' | 'left' | 'default'; emptyMessage?: string; } export declare class FiltroDefault { valore: any; operatoreId: number; formValue?: any; } export declare class ConfigFiltro { id: number; nomeCampo: string; label: string; tipoInput: "text" | "number" | "ng2-select" | "ng2-select-multi" | "date" | "selezione-singola" | "selezione-multipla" | "datetime" | "switch"; controlType: "textbox" | "ng2-select" | "ng2-select-multi" | "date" | "selezione-singola" | "selezione-multipla" | "datetime" | "switch"; operatori: OPERATORI[]; operatoreConcatenazione?: 'or' | 'and'; options?: { id: string; text: string; }[]; pattern?: string; model?: any; maxlength?: number; minlength?: number; type?: string; visible: boolean; deletable?: boolean; userSettable?: boolean; mapTo?: any; mapOperatore?: any; closeOnSelect?: boolean; default?: FiltroDefault[]; suggerimenti?: { id: any; text: string; value: any; }[]; } declare class Breadcrumb { label: string; icon?: string; routerLink?: any; tooltip?: { text?: string; html?: string; }; } declare class Header { title?: HeaderTitle; breadcrumbs: Breadcrumb[]; } declare class CRUDData { dataset?: any[]; offset?: number; limit?: number; total?: number; order?: any; } declare class CRUDOptions { isServerSide: boolean; hasFiltriSettings?: boolean; hideCheckboxColumn?: boolean; } declare class CRUDContent { columns: CRUDV2Column[]; data?: CRUDData; filtri?: ConfigFiltro[]; defaultSearchFieldName?: string; options: CRUDOptions; rowButtons?: ActionButton[]; } export declare class CRUDLabelDropdown { label?: string; icon?: string; customStyleClass?: string; } export declare class CRUDDropdownButton { labelDropdown?: CRUDLabelDropdown; buttonDropdown?: ActionButton; list: ActionButton[]; } declare class CRUDSearchbox { placeholder?: string; onValChangesSearch?: boolean; help?: { text?: string; html?: string; }; } declare class CRUDToolbar { buttons?: ActionButton[]; dropdown?: CRUDDropdownButton; searchBox?: CRUDSearchbox; exportDropdown?: CRUDDropdownButton; filterToggle?: { isDisable?: boolean; }; } export declare class ToolbarActions { buttons?: ActionButton[]; dropdown?: CRUDDropdownButton; } declare class Body { helpers?: DefaultHelper[]; crud: CRUDContent; toolbar?: CRUDToolbar; } declare class VigilantOpts { afterInit?: { checkVigilant?: boolean; }; afterCommit?: { checkVigilant?: boolean; }; } export declare class CRUDViewV2Structure { head: Header; body: Body; vigilantOpts: VigilantOpts; } export declare class CrudRowElement { rowButtons?: ActionButton[]; } export declare class CRUDServerSideFindResponse { data: T[]; limit: number; total: number; offset: number; } export declare class CRUDBadge { color?: "primary" | "info" | "warning" | "success" | "danger" | "transparent" | string; icon?: string; text?: string; customStyleClass?: string; tooltip?: string; } export {};