import { ButtonType } from "office-ui-fabric-react/lib/Button"; import { SelectionMode } from "office-ui-fabric-react/lib/DetailsList"; import { IFabreactorListProps } from "../components/List/IListProps"; export interface IFabreactorLocale { language?: FabreactorLanguage; regional?: string; currency?: string; } export declare class FabreactorOrderBy { key: string; descending: boolean; } export declare class FabreactorFilter { key: string; values: any[]; } export declare class FabreactorLookup { key: string; title: string; image?: string; description?: string; urls?: FabreactorLookup[]; } export declare class FabreactorQuery { page: number; filters: FabreactorFilter[]; searchQuery?: string; offset?: number | null; orderBy?: FabreactorOrderBy | null; } export declare class FabreactorResultPage { items: any[]; page: number; totalPages: number; } export declare class FabreactorAction { name: string; description?: string; key: string; icon?: string; disabled?: boolean; color?: string; selectionMode?: SelectionMode; type: FabreactorActionType; actions?: FabreactorAction[]; customForm?: boolean; onClick: (selectedItems?: any[]) => Promise; } export declare class FabreactorFormListItem { item: any; readOnly: boolean; } export declare class FabreactorFieldGroup { key: string; name?: string; collapsed?: boolean; fields?: FabreactorField[]; actions?: FabreactorAction[]; items?: FabreactorFormListItem[]; onGroupRender?: any; } export declare class FabreactorItemForm { item: any; groups: FabreactorFieldGroup[]; actions?: FabreactorAction[] | null; deleteItem?: (item: any) => Promise; saveItem?: (item: any, relatedItem?: any) => Promise; getSuggestions?: (field: FabreactorField, filter: string, item: any) => Promise; getFieldValue?: (item: any, field: FabreactorField) => Promise; getFieldColor?: (item: any, field: FabreactorField, value: any) => Promise; onDismiss?: () => void; image?: string; latitude?: number; longitude?: number; onFormRender?: any; newTabAfterSave?: string; compact?: boolean; } export interface IFabreactorButton { text: string; key: string; icon?: string; color?: string; type: ButtonType; buttons?: IFabreactorButton[]; onClick: () => Promise; } export declare class FabreactorField { key: string; name?: string; description?: string; type: FabreactorFieldType; sortable?: boolean; minWidth?: number; maxWidth?: number; filterable?: boolean; readOnly?: boolean; asTimeAgo?: boolean; hideInViewForm?: boolean; required?: boolean; asProgressBar?: boolean; async?: boolean; colored?: boolean; editOnViewForm?: boolean; multiValue?: boolean; icon?: string; options?: FabreactorLookup[]; action?: FabreactorAction; onClick?: (item: any, sourceItem: any) => Promise; totals?: FabreactorFieldTotal[]; } export declare class FabreactorView { name: string; key: string; onChange: (query: FabreactorQuery) => Promise; fields: FabreactorField[]; userFields?: FabreactorField[]; onUserFieldsChange?: (fields: FabreactorField[]) => void; dynamicViewType?: FabreactorDynamicViewType; actions?: FabreactorAction[]; getFilterOptions?: (field: FabreactorField, query: FabreactorQuery) => Promise; exportFields?: FabreactorField[]; summary?: FabreactorFieldHeader[]; getSummaryValue?: (field: FabreactorField, query: FabreactorQuery, total: FabreactorFieldTotal) => Promise; } export declare class FabreactorItemProperties { key: string; title: string; description: string; secondaryDescription: string; color: string; author: string; created: string; editor: string; modified: string; } export declare class FabreactorFieldExportHeader { field: FabreactorField; value: any; title: string; } export declare class FabreactorFieldHeader { fieldKey: string; total: FabreactorFieldTotal; } export declare class FabreactorPanelHeader { item: any; itemProperties: FabreactorItemProperties; image?: string; } export declare enum FabreactorFieldType { text = 0, url = 1, email = 2, lookup = 3, boolean = 4, user = 6, datetime = 7, number = 8, image = 9, phone = 10, multiline = 11, choice = 12, percent = 13, currency = 14, metadata = 15, file = 17, color = 18 } export declare enum FabreactorDynamicViewType { month = 0, year = 1 } export declare enum FabreactorActionType { newForm = 0, viewForm = 1, list = 2, service = 3, fileUpload = 4 } export declare enum FabreactorPanelType { new = 0, view = 1, edit = 2, list = 3 } export declare enum FabreactorFieldTotal { sum = 0 } export declare enum FabreactorLanguage { en = "en", nl = "nl" } export declare enum FabreactorFieldHighlight { normal = 0, warning = 1, error = 2 }