UNPKG

webix

Version:

Webix UI

2,027 lines (2,010 loc) 509 kB
// Type definitions for Webix UI 11.2 // Project: https://webix.com type obj = { [key: string]: any }; type WebixDataMap = { [key: string]: string }; type WebixTemplate = (...args: any[]) => string; type WebixCallback = (...args: any[]) => any; type WebixProxy = { $proxy:boolean; init?():void; load(view:webix.ui.baseview, params:obj):Promise<any>|any[]|obj; save?(view:webix.ui.baseview, params:obj, dp:webix.DataProcessor):Promise<any>|obj; saveAll?(view:webix.ui.baseview, params:obj, dp:webix.DataProcessor):Promise<any>|any[]; result?(state:obj, view:webix.ui.baseview, dp:webix.DataProcessor, text:string, data:obj, loader:XMLHttpRequest):void; }; type EventHash = { [id: string] : WebixCallback }; type PositionInfo = { x: number, y: number }; type SizeInfo = { width: number, height: number }; type WebixDataStorage = DataCollection | TreeCollection | DataStore | TreeStore; type WebixDataMoveTarget = webix.ui.baseview | WebixDataStorage; type WebixBindSource = webix.ui.baseview | WebixDataStorage; type WebixAnimate = { type?: "flip" | "slide" | "flipback" | "fade" | "show"; direction?: "right" | "left" | "top" | "bottom"; subtype?: "out" | "in" | "together" | "horizontal" | "vertical"; x?: number; y?: number; delay?: number; timing?: string; callback?: WebixCallback; master?: obj; } type WebixValidationRule = "isNotEmpty" | "isEmail" | "isNumber" | "isChecked"; type WebixValidationRules = { [key: string]: ((...args: any[]) => boolean) | WebixValidationRule; } type WebixEventContext = { bind?: obj; capture?: boolean; id?: string | number; } type WebixSortConfig = { by: string; dir?: string; as?: string; } type WebixSortingType = "int" | "date" | "string" | "string_strict" | "text" | "string_locale" | "string_locale_strict" | "text_locale" | "server" | "raw"; type WebixSorting = { create(config: WebixSortConfig | WebixSortConfig[]): any; as: { [key in WebixSortingType]: (a?: any, b?: any) => number; } & { [key: string]: (a?: any, b?: any) => number | boolean } } type WebixGroupConfig = { by: string | WebixCallback; map?: { [key: string]: any[]; }; missing?: boolean | string; footer?: { [key: string]: any[]; } & { row?: string | WebixTemplate; }; row?: string | WebixTemplate; } type WebixDragConfig = { $drag?(source: HTMLElement, event: Event, pointer: string): string; $dragPos?: WebixCallback; $dragCreate?(source: HTMLElement, event:Event, pointer: string): HTMLElement; $dragDestroy?: WebixCallback; move?(source: HTMLElement, tindex:number, tobj: webix.ui.baseview, details: obj): void; } type WebixDropConfig = { $dragIn?(source: HTMLElement, target: HTMLElement, event: Event): void; $dragOut?(source: HTMLElement, target: HTMLElement, drop: HTMLElement, event: Event): void; $drop?(source: HTMLElement, target: HTMLElement, event: Event): void; } type WebixDnDContext = { from?: any; to?: any; source?: any; target?: any; start?: any; parent?: string | number; index?: number; x_offset?: number; y_offset?: number; } type WebixNumberFormat = { decimalSize?: number; groupSize?: number; decimalDelimiter?: string; groupDelimiter?: string; decimalOptional?: boolean; prefix?: string; sufix?: string; minusSign?: string | string[]; minusPosition?: string; } type WebixPrintSettings = { paper?: string; mode?: "portrait" | "landscape"; margin?: number | WebixMarginConfig; docHeader?: string; docFooter?: string; scroll?: boolean; fit?: "page" | "data"; header?: boolean; skiprows?: boolean; borderless?: boolean; trim?: boolean; data?: string; footer?: boolean; sheets?: boolean | string | string[]; sheetnames?: boolean; external?: boolean; } type WebixProgressBarConfig = { type?: "top" | "bottom" | "icon"; icon?: string; delay?: number; hide?: boolean; position?: number; } type WebixItemType = { css?: string; height?: number | "auto"; template?: string | WebixTemplate; width?: number | "auto"; [key: string]: any; } type WebixItemTypes = { [key: string]: WebixItemType; } type WebixScrollState = { x: number; y: number; } type WebixMarginConfig = { top?: number; bottom?: number; left?: number; right?: number; } type WebixPaddingConfig = { top?: number; bottom?: number; left?: number; right?: number; } type WebixAutoTooltipConfig = { template?: string | WebixTemplate; dx?: number; dy?: number; delay?: number; overflow?: boolean; css?: string | obj; } type WebixDynamicTooltipConfig = { $tooltipIn?(target: HTMLElement, event: Event): any; $tooltipOut?(target: HTMLElement, node: HTMLElement, event: Event): any; $tooltipMove?(target: HTMLElement, event: Event, details: { first?: string | null; overflow?: string | null }): any; overflow?: boolean; } type WebixTouchConfig = { longTouchDelay: number; scrollDelay: number; gravity: number; deltaStep: number; speed: string; finish: number; elastic: boolean; } type WebixPagerConfig = { container?: string; size?: number; group?: number; page?: number; } type WebixEventMap = { [eventId: string]: webix.ui.baseview; } type WebixOnClickConfig = { [key: string]: WebixCallback; } type WebixCalendarIcon = { template: WebixTemplate; on_click: WebixOnClickConfig; } type WebixCalendarIconConfig = WebixCalendarIcon[]; type WebixSparklineType = "area" | "bar" | "line" | "pie" | "spline" | "splineArea" | "radar"; type WebixSparklineOptions = { paddingX?: number; paddingY?: number; radius?: number; eventRadius?: number; minHeight?: number; css?: string; itemCss?: string | WebixCallback; origin?: number; scale?: number; color?: string; horizontal?: boolean; donut?: boolean; innerRadius?: number; } type WebixSparklines = { [key in WebixSparklineType]: WebixCallback; } type WebixSpan = [ string | number, string, number, number, string?, string? ]; type WebixSpanConfig = WebixSpan[]; type WebixHeaderMenuConfig = { width?: number; height?: number; autoheight?: boolean; autowidth?: boolean; yCount?: number; scroll?: boolean; spans?: boolean; data?: any[]; template?: string | WebixTemplate; } type WebixDatatableHeaderConfig = { autoheight?: boolean; text?: string; batch?: number | string; colspan?: number; closed?: boolean; rowspan?: number; rotate?: boolean; collect?: { visible?: boolean }; compare?: WebixCallback; content?: string; contentId?: number | string; placeholder?: string; prepare?: WebixCallback; inputConfig?: obj; tooltip?: boolean | string | WebixTemplate; mode?: string; height?: number; css?: string | obj; groupText?: string; } type WebixDatatableColumn = { id?: number | string; adjust?: boolean | "data" | "header"; adjustBatch?: number; batch?: number | string; css?: string | obj; cssFormat?: WebixCallback; collection?: any; checkValue?: number | string; editor?: string; editParse?: WebixCallback; editFormat?: WebixCallback; header?: string | WebixDatatableHeaderConfig | (string | null | WebixDatatableHeaderConfig)[]; headermenu?: boolean; hidden?: boolean; footer?: string | WebixDatatableHeaderConfig | (string | null | WebixDatatableHeaderConfig)[]; numberFormat?: string; format?: WebixCallback; sort?: string | WebixCallback; suggest?: any; fillspace?: boolean | number; options?: any; optionslist?: boolean; popup?: any; template?: string | WebixTemplate; liveEdit?: boolean; math?: string; map?: string; maxWidth?: number; minWidth?: number; tooltip?: boolean | string | WebixTemplate; uncheckValue?: number | string; width?: number; } type WebixDatatableFilterConfig = { columnId?: string; compare?: WebixCallback; prepare?: WebixCallback; } type WebixDatatableFilterController = { getValue: WebixCallback; setValue?: WebixCallback; $server?: boolean; } type WebixShowColumnConfig = { spans?: boolean; } type WebixResizeRowColConfig = { size?: number; headerOnly?: boolean; } type WebixResizeColConfig = WebixResizeRowColConfig & { icon?: boolean; live?: boolean; } type WebixFormatConfig = { parse: WebixCallback; edit: WebixCallback; } type WebixCellObject = { row: string | number; column: string | number; } type WebixTimeboardValue = { day_part: string; hours?: string; minutes: string; seconds?: string; shours?: number; sminutes: number; sseconds?: number; } type WebixFileObject = { name?: string; size?: number; file?: File; } type WebixWindowPosConfig = { pos?: "top" | "left" | "right" | "bottom"; x?: number; y?: number; } type WebixMessageBaseConfig = { text: string; id?: string | number; } type WebixMessageType = "info" | "success" | "error" | "debug"; type WebixConfirmType = "confirm-warning" | "confirm-error"; type WebixAlertType = "alert-warning" | "alert-error"; type WebixPromptType = "prompt-warning" | "prompt-error"; type WebixMessageConfig = WebixMessageBaseConfig & { expire?: number; type?: WebixMessageType | WebixAlertType | WebixConfirmType; } type WebixMessageboxConfig = WebixMessageBaseConfig & { title?: string; width?: number; height?: number; container?: HTMLElement; callback?: WebixCallback css?: string; }; type WebixAlertConfig = WebixMessageboxConfig & { ok?: string; type?: WebixAlertType | WebixConfirmType; } type WebixConfirmConfig = WebixMessageboxConfig & { ok?: string; cancel?: string; type?: WebixAlertType | WebixConfirmType; } type WebixModalboxConfig = WebixMessageboxConfig & { buttons?: string[]; type?: WebixAlertType | WebixConfirmType; } type WebixPromptConfig = WebixMessageboxConfig & { ok?: string; cancel?: string; type?: WebixPromptType | WebixAlertType | WebixConfirmType; } type WebixFieldParams = { hidden?: boolean; disabled?: boolean; } type WebixRenderType = "paint" | "update" | "add" | "delete" | "move"; type WebixTreeRenderType = "branch" | WebixRenderType; type WebixLocaleConfig = { lang?: string; webix?: { [key: string]: string }; } type WebixDataScheme = { $init?: WebixCallback; $update?: WebixCallback; $save?: WebixCallback; $change?: WebixCallback; $serialize?: WebixCallback; $export?: WebixCallback; $group?: WebixCallback; $sort?: WebixCallback; [key: string]: any; } type WebixCommentsDataScheme = { $init?: WebixCallback; } type WebixGridlayoutPosConfig = { x?: number; y?: number; dx?: number; dy?: number; } type WebixDelimiterConfig = { rows?: string; cols?: string; } type WebixSpreadsheetButton = "undo" | "redo" | "font-family" | "font-size" | "font-weight" | "font-style" | "underline" | "color" | "background" | "borders" | "span" | "text-align" | "vertical-align" | "wrap" | "format" | "increase-indent" | "decrease-indent" | "text-decoration"; type WebixSpreadsheetButtonConfig = { [key: string]: WebixSpreadsheetButton[]; } type WebixSpreadsheetSheetContent = { data: [ number | string, number | string, string | number ][]; } type WebixSpreadsheetSparklineConfig = { type: string; range: string; color?: string; negativeColor?: string; } type WebixSpreadsheetStyle = { id?: string; props?: WebixSpreadsheetStyleProps; text?: string; } type WebixSpreadsheetStyleProps = { background?: string; borders?: string; "border-bottom"?: string; "border-left"?: string; "border-right"?: string; "border-top"?: string; color?: string; "font-family"?: string; "font-size"?: string; "font-style"?: string; "font-weight"?: string; format?: string; indent?: string; strike?: string; "text-align"?: string; "underline"?: string; "vertical-align"?: string; wrap?: string; } type WebixSpreadsheetSerializeConfig = { sheets?: boolean; math?: boolean; compactStyle?: boolean; } type WebixSpreadsheetComments = { add: WebixCallback; get: WebixCallback; remove: WebixCallback; } type WebixSpreadsheetAlertConfig = { text: string; type?: string; } type WebixSpreadsheetConfirmConfig = { text: string; } type WebixSpreadsheetRangeClearConfig = { values?: boolean; styles?: boolean; } type WebixSpreadsheetCellRangeConfig = { cell: { row: number; column: number; }; x?: number; y?: number; } type WebixSpreadsheetCellEditorConfig = { editor: string; options?: string | any[]; empty?: boolean; } type WebixSpreadsheetCellFilterConfig = { options: string | any[]; mode?: string; value?: obj; lastRow?: number; } type WebixSpreadsheetCellFilterExtendedConfig = WebixSpreadsheetCellFilterConfig & { row: number; column: number; } type WebixDataMoveOptions = { newId?: string | number; } type WebixTreeDataMoveOptions = WebixDataMoveOptions & { parent?: string | number; } type WebixTextPattern = { mask: string; allow?: RegExp; } type WebixTabviewCellConfig = { header: string; body: webix.ui.baseviewConfig; close?: boolean; icon?: string; } type WebixTreeFilterMode = { showSubItems?: boolean; openParents?: boolean; level?: number; } type WebixTreeState = { open: string[]; select: string; } type WebixContext = { id?: string | number; obj?: webix.ui.baseview; } type WebixCanvasContext = CanvasRenderingContext2D; type WebixDatatableType = { [key: string]: string | WebixTemplate; } type WebixDatatableCollectValuesConfig = { visible?: boolean; } type WebixDatatableAreaSelection = { start: WebixCellObject; end: WebixCellObject; handle: boolean; preserve?: boolean; area_name?: string; css?: string; } type WebixDatatableSelectAreas = { [areaId: number]: WebixDatatableAreaSelection; } type WebixDatatableHideColumnConfig = { spans?: boolean; } type WebixDatatableCellPos = { row: string | number; column: string | number; rind: number; cind: number; span: number; } type WebixDatatableItemPos = Omit<Partial<WebixDatatableCellPos>, "span">; type WebixDataProcessorFullConfig = { id?: string | number; master?: string | webix.ui.baseview; } & WebixDataProcessorConfig type WebixDataProcessorConfig = { $proxy?: boolean; url?: string | WebixDataProcessorConfig & { saveAll?(view:obj, params:obj, dp:any):Promise<any>|obj; }; autoupdate?: boolean; updateFromResponse?: boolean; trackMove?: boolean; insert?: string | WebixCallback; update?: string | WebixCallback; delete?: string | WebixCallback; save?(view:obj, params:obj, dp:any):Promise<any>|obj; } type WebixDataLoaderInfo = { size: number; from: number; parent: number; config: any; } type WebixDataDriver = { toObject(data: any): any; getRecords(data: any): any[]; getDetails(data: any): obj; getOptions(): any; getInfo(): any; [key: string]: any; } type WebixCSVDataDriver = { toObject(data: string): string; getRecords(data: string): string[]; getDetails(data: string): obj; getOptions(): boolean; getInfo(): { size: 0 }; stringToArray(data: string): string[]; idColumn: string | number; row: string; cell: string; } type WebixExcelDataDriver = { toObject(data: string): string; getRecords(data: string): string[]; getDetails(data: string): obj; getOptions(): false; getInfo(): { size: 0 }; stringToArray(data: string): string[]; idColumn: string | number; row: string; cell: string; } type WebixHTMLDataDriver = { toObject(data: string): HTMLElement; getRecords(data: HTMLElement): HTMLCollection; getDetails(data: string): obj; getOptions(): false; getInfo(): { size: 0 }; tag: string; } type WebixHTMLTableDataDriver = { toObject(elementId: string): HTMLCollection; getRecords(data: any[]): any[]; getDetails(data: HTMLElement): obj; getOptions(): void; getInfo(): { size: 0 }; } type WebixJSArrayDataDriver = { toObject(data: string): obj; getRecords(data: obj): any[]; getDetails(data: any[]): obj; getOptions(): false; getInfo(): { size: 0 }; idColumn: string | number; } type WebixJSONDataDriver = { toObject(data: string): obj; getRecords(data: obj): any[]; getDetails(data: string): obj; getOptions(): any; getInfo(): WebixDataLoaderInfo; child: string; parseDates: boolean; } type WebixXMLDataDriver = { toObject(data: string): obj; getRecords(data: obj): any[]; getDetails(data: string): obj; getOptions(): any; getInfo(): WebixDataLoaderInfo; child: string; parseDates: boolean; } type WebixDataProcessorState = "saving" | boolean; type WebixDataProcessorItemStateObject = { id: string | number; operation: "update" | "insert" | "delete"; data: obj; } type WebixDataProcessorResultObject = { id?: string | number; newId?: string | number; status?: "update" | "insert" | "delete" | "error" | "invalid"; [key: string]: any; } type WebixNavigationConfig = { items?: boolean; buttons?: boolean; type?: string; } type WebixBulletScaleConfig = { step?: number; template?: string | WebixTemplate; } type WebixChartItemType = "s" | "square" | "t" | "triangle" | "d" | "diamond" | "r" | "round"; type WebixChartItemConfig = { alpha?: number; borderColor?: string | WebixTemplate; borderWidth?: number; color?: string | WebixTemplate; eventRadius?: number; radius?: number; shadow?: boolean; type?: WebixChartItemType | WebixTemplate; } type WebixChartLegendMarker = { type?: "square" | "round" | "item"; width?: number; height?: number; radius?: number; } type WebixChartLegendItem = { text?: string; color?: string | WebixTemplate; markerType?: "square" | "round" | "item"; toggle?: boolean; } type WebixChartLegendConfig = { width?: number; height?: number; layout?: "x" | "y"; align?: "left" | "right" | "center"; valign?: "top" | "bottom" | "middle"; margin?: number; padding?: number; template?: string; toggle?: boolean; values?: WebixChartLegendItem[]; marker?: WebixChartLegendMarker; } type WebixChartLineConfig = { width?: number; color?: string | WebixTemplate; } type WebixChartSeriesConfig = webix.ui.chartConfig[]; type WebixChartXAxisConfig = { template?: string | WebixTemplate; title?: string; lines?: boolean | ((...args:any[]) => boolean); lineColor?: string | WebixTemplate; color?: string; start?: number; end?: number; step?: number; } type WebixChartYAxisConfig = { start?: number; end?: number; step?: number; template?: string | WebixTemplate; title?: string; lines?: boolean | ((...args:any[]) => boolean); color?: string; lineColor?: string | WebixTemplate; lineShape?: "arc" | "line"; bg?: string | WebixTemplate; } type WebixChartColormap = { RAINBOW: WebixTemplate; default: WebixTemplate; } type WebixChartPreset = "column" | "stick" | "alpha" | "area" | "line" | "point" | "simple" | "plot" | "round" | "square" | "diamond"; type WebixChartPresets = { simple: { item: { borderColor: "#ffffff"; color: "#2b7100"; shadow: false; borderWidth: 2; }, line: { color: "#8ecf03"; width: 2; } }, plot: { color: "#8664C6", item: { borderColor: "#8664C6"; borderWidth: 1; color: "#ffffff"; type: "r"; shadow: false; }, line: { color: "#8664C6"; width: 2; } }, diamond: { color: "#FF5C4C"; item: { borderColor: "#FF5C4C"; color: "#FF5C4C"; type: "d"; radius: 3; shadow: true; }, line: { color: "#FF5C4C"; width: 2; } }, point: { color: "#1ca1c1"; disableLines: true; fill: false; disableItems: false; item: { color: "#1ca1c1"; borderColor: "#1ca1c1"; radius: 2; borderWidth: 2; type: "r"; }, alpha: 1; }, line: { line: { color: "#1ca1c1"; width: 2; }, item: { color: "#ffffff"; borderColor: "#1ca1c1"; radius: 2; borderWidth: 2; type: "d"; }, fill: false; disableItems: false; disableLines: false; alpha: 1; }, area: { fill: "#1ca1c1"; line: { color: "#1ca1c1"; width: 1; }, disableItems: true; alpha: 0.2; disableLines: false; }, round: { item: { radius: 3; borderColor: "#1ca1c1"; borderWidth: 1; color: "#1ca1c1"; type: "r"; shadow: false; alpha: 0.6; } }, square: { item: { radius: 3; borderColor: "#00a497"; borderWidth: 2; color: "#ffffff"; type: "s"; shadow: false; alpha: 1; }, line: { color: "#00a497"; } }, column: { color: "RAINBOW"; gradient: false; barWidth: 45; radius: 0; alpha: 1; border: true; }, stick: { barWidth: 5; gradient: false; color: "#1ca1c1"; radius: 2; alpha: 1; border: false; }, alpha: { color: "#b9a8f9"; barWidth: 70; gradient: "falling"; radius: 0; alpha: 0.5; border: true; } } type WebixRangechartRange = { start?: number; end?: number; sindex?: number; eindex?: number; } type WebixChatCallsConfig = { enabled?: boolean; groupCalls?: boolean; livekitConfig?: { host: string; [key: string]: any; }; } type WebixCommentsItemConfig = { templateUser?: string | WebixTemplate; templateMenu?: string | WebixTemplate; templateDate?: string | WebixTemplate; templateText?: string | WebixTemplate; templateLinks?: string | WebixTemplate; templateAvatar?: string | WebixTemplate; templateMentioned?: string | WebixTemplate; menuPosition?: WebixWindowPosConfig; } type WebixDaterangeValue = { start?: Date | string; end?: Date | string; } type WebixDiagramValues = { data: any[]; links?: any[]; shapes?: any[]; item?: obj; linkItem?: obj; } type WebixDiagramItemType = { width?: number; height?: number; x?: number; y?: number; template?: string | WebixTemplate; type?: string; css?: string | WebixCallback; } type WebixDiagramLinkItemType = { mode?: "edges" | "direct" | "curve" | "child" | "sibling"; from?: "center" | "top" | "right" | "bottom" | "left"; to?: "center" | "top" | "right" | "bottom" | "left"; line?: any[]; $css?: string | WebixCallback; lineWidth?: number; lineColor?: string; lineStyle?: string | number; arrow?: boolean | string | any[]; $arrowCss?: string | WebixCallback; arrowSize?: string | number; backgroundColor?: string; fillOpacity?: string | number; } type WebixFileManagerClipboard = { files: any[]; type: "cut" | "copy"; } type WebixDocManagerClipboard = WebixFileManagerClipboard & { type: "cut" | "copy" | "trashed"; } type WebixFilterValue = { condition?: { filter?: string; type?: string; }, includes?: any[] | null } type WebixGrouplistOpenState = { parents: any[]; branch: any[]; } type WebixKanbanEditorConfig = webix.ui.formConfig & { [key: string]: any; } type WebixMulticomboValueConfig = { options?: boolean; } type WebixMultitextSubConfig = webix.ui.multitextConfig & { [key: string]: any; } type WebixPanelResizeEndPos = { mx: number; my: number; } type WebixPanelResizeMovePos = { x: number; y: number; } type WebixPropertyElementsConfig = { label?: string; type?: string; id?: string | number; options?: any[]; [key: string]: any; }[] type WebixQueryRule = { field?: string; } & WebixFilterValue; type WebixQueryValue = { glue?: string; rules?: WebixQueryRule[]; } type WebixTooltipDataItem = { id?: number | string; value: string; } type WebixGeochartInnerConfig = { backgroundColor?: string | { fill?: string; stroke?: string; strokeWidth?: number; }; colorAxis?: { minValue?: number; maxValue?: number; values?: number[]; colors?: string[]; }; datalessRegionColor?: string; defaultColor?: string; displayMode?: "auto" | "regions" | "markers" | "text"; domain?: string; enableRegionInteractivity?: boolean; forceIFrame?: boolean; geochartVersion?: number; height?: number; keepAspectRatio?: boolean; legend?: { numberFormat?: string; textStyle?: { color?: string; fontName?: string; fontSize?: string; bold?: boolean; italic?: boolean; } } | "none"; region?: string; magnifyingGlass?: { enable?: boolean; zoomFactor?: number; }; markerOpacity?: number; regioncoderVersion?: number; resolution?: "countries" | "provinces" | "metros"; sizeAxis?: { maxSize?: number; maxValue?: number; minSize?: number; minValue?: number; }; tooltip?: { textStyle?: { color?: string; fontName?: string; fontSize?: string; bold?: boolean; italic?: boolean; }; trigger?: "focus" | "none" | "selection"; }; width?: number; } type WebixGoogleMapHeatmapLayerConfig = { data?: any[]; dissipating?: boolean; gradient?: string[]; map?: any; maxIntensity?: number; opacity?: number; radius?: number; } type WebixPivotOperationsConfig = { [key: string]: { handler?: WebixCallback; fields?: number; hidden?: boolean; branchMode?: "raw" | "result"; } | WebixCallback; } type WebixPivotTotalOperationsConfig = { [key: string]: { group?: string; column?: string; footer?: string; } | string; } type WebixPivotStructure = { rows?: any[]; columns?: any[]; values?: { name?: string; operation?: string | string[]; format?: WebixCallback; color?: string; }[]; filters?: any[]; groupBy?: string; } type WebixRichtextLayoutMode = "classic" | "document"; type WebixRichtextValueFormat = "html" | "text" | "raw"; type WebixRichtextToolbarButton = "style" | "font-family" | "font-size" | "bold" | "italic" | "underline" | "strike" | "subscript" | "superscript" | "text-color" | "background-color" | "paint-format" | "align-left" | "align-center" | "align-right" | "align-justify" | "line-height" | "indent" | "outdent" | "link" | "image" | "bulleted-list" | "numbered-list" | "undo" | "redo" | "print" | "fullscreen" | "mode" | "clear" | "emojis" | "characters"; type WebixRichtextToolbarGroup = "file" | "view" | "history" | "font" | "align" | "line-height" | "indent" | "insert" | "lists" | "clear" | (string & {}); type WebixRichtextToolbarConfig = (WebixRichtextToolbarButton | obj)[]; type WebixRichtextToolbarGroupConfig = { [K in WebixRichtextToolbarGroup]?: boolean | WebixRichtextToolbarConfig; }; type WebixRichtextMenubarOption = "file" | "new" | "import" | "export" | "pdf" | "docx" | "print" | "edit" | "undo" | "redo" | "cut" | "copy" | "paste" | "view" | "mode" | "fullscreen" | "insert" | "link" | "image" | "format" | "text" | "bold" | "italic" | "underline" | "strike" | "superscript" | "subscript" | "style" | "font-family" | "font-size" | "align" | "align-left" | "align-center" | "align-right" | "align-justify" | "line-height" | "indent" | "outdent" | "lists" | "bulleted-list" | "numbered-list" | "clear" | "help" | "help-more" | "hotkeys" | "hr" | "emojis" | "characters"; type WebixRichtextMenubarOptionConfig = { id?: WebixRichtextMenubarOption | (string & {}); value?: string; data?: WebixRichtextMenubarOptionConfig[]; [key: string]: any; } | { $template: "Separator" }; type WebixRichtextMenubarGroup = "file" | "edit" | "view" | "insert" | "format" | "help" | (string & {}); type WebixRichtextMenubarConfig = (WebixRichtextMenubarOption | WebixRichtextMenubarOptionConfig)[]; type WebixRichtextMenubarGroupConfig = { [K in WebixRichtextMenubarGroup]?: boolean | WebixRichtextMenubarConfig; }; type WebixJetAppWrapper = { $$<T extends webix.ui.baseview>(name:string): T; callEvent(name: string, params?: any[]): boolean; attachEvent(name: string, handler: any): void; copyConfig(source:any, target:any, config?: any): any; getRouter(): any; getService(name: string): any; setService(name: string, handler: any): void; getSubView(name?: string): any; getSubViewInfo(name?: string): any; getUrl(): { page: string; params: { [name:string]: string }; view?: any; isNew?: boolean; }[]; getUrlString(): string; getRoot(): any; contains(view: obj): boolean; createFromURL(chunk:any) : Promise<any>; createView(config: any, name?: string, params?: any): any; render(container?: any, url?: any, config?: any): Promise<any>; refresh(): Promise<any>; require(type: string, url: string): any; show(path: string, config?: any): Promise<any>; use(plugin: any, config?: any): void; setParam(id:string, value:any, url?:boolean): any; getParam(id:string, parent:boolean): any; getParentView(): any; error(name:string, data:any[]): any; destructor(): void; on(obj: any, name:string, code:any): any; app: WebixJetAppWrapper | undefined; config: any; ready: Promise<any>; webix: any; } export function ajax(url: string, params?: any):Promise<any>; export function ajax():webix.Ajax; export function debug(params?: { events?: boolean; size?: boolean; }):void; export function $$<T extends webix.ui.baseview>(id: string|Event|HTMLElement):T; interface Ajax { bind(master:any):Ajax; del(url:string, params?:any, callback?:WebixCallback):Promise<any>; get(url:string, params?:any, callback?:WebixCallback):Promise<any>; getXHR():XMLHttpRequest; headers(values:obj):Ajax; post(url:string, params?:any, callback?:WebixCallback):Promise<any>; put(url:string, params?:any, callback?:WebixCallback):Promise<any>; response(type:string):Ajax; stringify(data:any):string; sync():Ajax; master:obj; } interface clipbuffer { destructor():void; focus():void; init():void; set(text:string):void; } interface color { hexToDec(hex:string):number; hsvToRgb(h:number, s:number, v:number):any[]; rgbToHex(rgb:string|(string|number)[]):string; rgbToHsv(r:number, g:number, b:number):any[]; toHex(number:number, length?:number):string; toRgb(rgb:string):any[]; } type DelimiterConfig = { rows:string; cols:string; } interface csv { parse(text:string, delimiter?:DelimiterConfig):any[]; stringify(data:any[], delimiter?:DelimiterConfig):string; delimiter:DelimiterConfig; escape:boolean; } interface WebixEditor { focus():void; getInputNode():HTMLElement; getValue():string; render():HTMLElement; setValue(value?:string):void; } interface WebixEditorObject extends WebixEditor { node: HTMLElement, value: any; config: obj; } interface textEditor extends WebixEditor { setValue(value:string):void; } interface checkboxEditor extends WebixEditor { setValue(value:string):void; } interface selectEditor extends WebixEditor { setValue(value:string):void; } interface popupEditor extends WebixEditor { createPopup():obj|(string|number); destroy():void; getPopup():obj; linkInput(node:HTMLElement):void; popupInit(popup?:obj):void; setValue(value:string):void; popupType:string; } interface inlineCheckboxEditor extends WebixEditor { setValue():void; } interface inlineTextEditor extends WebixEditor { setValue():void; } interface comboEditor extends textEditor { afterRender():void; getPopup():obj; showPopup():void; } interface passwordEditor extends textEditor { toggleInput():void; } interface colorEditor extends popupEditor { popupInit(popup:obj):void; popupType:"color"; } interface dateEditor extends popupEditor { popupInit(popup:obj):void; popupType:"date"; } interface multiselectEditor extends popupEditor { popupInit(popup:obj):void; popupType:"multiselect"; } interface richselectEditor extends popupEditor { popupInit(popup:obj):void; popupType:"richselect"; } interface excelDateEditor extends textEditor { afterRender():void; createPopup():obj; getPopup():obj; getValue():string; showPopup():void; updateCalendar(value: any):void; } interface ssRichselectEditor extends richselectEditor { getFormat(value:any): obj; } interface ganttNumEditor extends textEditor {} type editors = { checkbox: checkboxEditor; color: colorEditor; combo: comboEditor; date: dateEditor; "inline-checkbox": inlineCheckboxEditor; "inline-text": inlineTextEditor; multiselect: multiselectEditor; password: passwordEditor; popup: popupEditor; richselect: richselectEditor; select: selectEditor; text: textEditor; [name:string]: WebixEditor; } & { excel_date?: excelDateEditor; gantt_numeditor?: ganttNumEditor; ss_richselect?: ssRichselectEditor; $popup: obj; } type EnvContext = { target: HTMLElement; x: number; y: number; time: Date; } interface env { $customScroll?: boolean; cdn: string; codebase: string; fastClick: boolean; https: boolean; isAndroid?: boolean; isChromium?: boolean; isFF?: boolean; isIE?: boolean; isIOS?: boolean; isMac?: boolean; isSafari?: boolean; maxHTMLElementSize?: number; mobile?: boolean; mouse: { context(event: Event): EnvContext; down: "mousedown"; move: "mousemove"; up: "mouseup"; }; passiveEventListeners: boolean; pringMargin: number; printPPI: number; scrollSize: number; strict: boolean; svg: boolean; svganimation: boolean; touch?: { context(event: Event): EnvContext; down: "touchstart"; move: "touchmove"; up: "touchend"; }; transform: string; transition: string; transitionDuration: string; transitionEnd: string; translate: string; zIndexBase: number; } interface fullscreen { set(view:any, config?:{css?:string; head?:boolean|string|obj}):void; exit():void; } interface html { addCss(node:HTMLElement, name:string):void; addMeta(name:string, value:string):void; addStyle(css:string, group_name?:string):void; allowSelect():void; create(name:string, attrs?:obj, html?:string):HTMLElement; createCss(data:obj):string; denySelect():void; download(obj:any, name:string):void; getSelectionRange(node:HTMLElement):{ start:number; end:number; }; getTextSize(text:(string|string[]), css?:string, width?:number):SizeInfo; getValue(node:HTMLElement):string; index(node:HTMLElement):number; insertBefore(node:HTMLElement, before:HTMLElement, rescue?:HTMLElement):void; locate(ev:Event|HTMLElement, name:string):string; offset(node:HTMLElement):PositionInfo & SizeInfo; pos(ev:Event):PositionInfo; posRelative(ev:Event):PositionInfo; preventEvent(ev:Event):boolean; remove(node:HTMLElement|HTMLElement[]):void; removeCss(node:HTMLElement, name:string):void; removeStyle(group_name?:string):void; setSelectionRange(node:HTMLElement, start?:number, end?:number):void; stopEvent(ev:Event):boolean; triggerEvent(node:HTMLElement,type:string,name:string):void; } interface i18n { dateFormatDate(date:string):Date; dateFormatStr(date:Date):string; fullDateFormatDate(date:string):Date; fullDateFormatStr(date:Date):string; intFormat(num:number):string; longDateFormatDate(date:string):Date; longDateFormatStr(date:Date):string; numberFormat(number:number):string; parseFormatDate(date:string):Date; parseFormatStr(date:Date):string; parseTimeFormatDate(date:string):Date; parseTimeFormatStr(date:Date):string; priceFormat(number:number):string; setLocale(name:string):void; timeFormatDate(time:string):Date; timeFormatStr(date:Date):string; PDFviewer: { automaticZoom: string; actualSize: string; pageFit: string; pageWidth: string; pageHeight: string; enterPassword: string; passwordError: string; of: string; }; am: string[]; aria: { calendar: string; increaseValue: string; decreaseValue: string; navMonth: string[]; navYear: string[]; navDecade: string[]; dateFormat: string; monthFormat: string; yearFormat: string; hourFormat: string; minuteFormat: string; removeItem: string; pages: string[]; page: string; headermenu: string; openGroup: string; closeGroup: string; closeTab: string; showTabs: string; resetTreeMap: string; navTreeMap: string; nextTab: string; prevTab: string; multitextSection: string; multitextextraSection: string; showChart: string; hideChart: string; resizeChart: string; }; calendar: { monthFull: string[]; monthShort: string[]; dayFull: string[]; dayShort: string[]; hours: string; minutes: string; done: string; clear: string; today: string; }; combo: { select: string; selectAll: string; unselectAll: string; }; comments: { send: string; confirmMessage: string; edit: string; remove: string; placeholder: string; moreComments: string; }; dataExport: { of: string; page: string; }; dateFormat: string; dbllist: { selectAll: string; selectOne: string; deselectAll: string; deselectOne: string; }; decimalDelimiter: string; decimalSize: number; fileSize: string[]; filter: { less: string; lessOrEqual: string; greater: string; greaterOrEqual: string; contains: string; notContains: string; equal: string; notEqual: string; beginsWith: string; notBeginsWith: string; endsWith: string; notEndsWith: string; between: string; notBetween: string; }; fullDateFormat: string; groupDelimiter: string; groupSize: number; hint?: { next: string; prev: string; last: string; }; kanban?: { copy: string; dnd: string; remove: string; save: string; confirm: string; editor: { add: string; assign: string; attachments: string; color: string; edit: string; status: string; tags: string; text: string; upload: string; }; menu: { copy: string; edit: string; remove: string; }; }; locale: string; locales: any; longDateFormat: string; message: { ok: string; cancel: string; }; pager: { first: string; last: string; next: string; prev: string; }; parseFormat: string; parseTimeFormat: string; pm: string[]; price: string; priceSettings: { groupDelimiter: string; groupSize: number; decimalDelimiter: string; decimalSize: number; }; richtext: { underline: string; bold: string; italic: string; }; spreadsheet?: { labels: { common: string; currency: string; number: string; percent: string; date: string; string: string; "custom-format": string; "decimal-places": string; separator: string; negative: string; "currency-symbol": string; "date-format": string; "format-docs": string; "undo-redo": string; font: string; text: string; cell: string; align: string; format: string; column: string; borders: string; px: string; apply: string; cancel: string; save: string; sheet: string; "conditional-format": string; condition: string; "conditional-style": string; "conditional-operator": string; "conditional-between": string; "conditional-not-equal": string; range: string; "range-title": string; "range-name": string; "range-cells": string; "range-scope": string; "range-global": string; "image-or": string; "image-title": string; "image-upload": string; "image-url": string; "sparkline-title": string; "sparkline-type": string; "sparkline-range": string; "sparkline-color": string; "sparkline-positive": string; "sparkline-negative": string; "format-title": string; "format-pattern": string; "dropdown-empty": string; "dropdown-title": string; "dropdown-range": string; ok: string; "import-title": string; "import-not-support": string; "export-title": string; "export-name": string; "export-all-sheets": string; "link-title": string; "link-name": string; "link-url": string; "image": string; "add-image-cell": string; "add-image-top": string; graph: string; "add-sparkline": string; "add-chart": string; display: string; value: string; "range-remove-confirm": string; "sheet-remove-confirm": string; "merge-cell-confirm": string; "error-range": string; print: string; "print-title": string; "print-settings": string; "print-paper": string; "print-layout": string; sheets: string; selection: string; borderless: string; "sheet-names": string; "skip-rows": string; margin: string; "page-letter": string; "page-a4": string; "page-a3": string; "page-width": string; "page-actual": string; "page-portrait": string; "page-landscape": string; "external-ui": string; comment: string; width: string; height: string; "fit-content": string; "default-size": string; "edit-view": string; "remove-view": string; "chart-edit": string; "chart-common": string; "chart-series": string; "chart-extras": string; "export-view": string; "export-view-pdf": string; "export-view-png": string; "export-view-excel": string; "line-chart": string; "area-chart": string; "bar-chart": string; "donut-chart": string; "pie-chart": string; "radar-chart": string; "spline-chart": string; "splinearea-chart": string; "chart-scale": string; "chart-x-axis": string; "chart-y-axis": string; "chart-lines": string; "chart-scale-color": string; "chart-xAxis-title": string; "chart-yAxis-title": string; "chart-col-xAxis": string; "chart-col-yAxis": string; "chart-row-xAxis": string; "chart-row-yAxis": string; "chart-xAxis-range": string; "chart-yAxis-origin": string; "chart-yAxis-start": string; "chart-yAxis-end": string; "chart-yAxis-step": string; "chart-yAxis-note": string; "chart-legend": string; "chart-row-legend": string; "chart-col-legend": string; "chart-legend-range": string; "chart-legend-align": string; "chart-legend-left": string; "chart-legend-right": string; "chart-legend-center": string; "chart-legend-valign": string; "chart-legend-top": string; "chart-legend-middle": string; "chart-legend-bottom": string; "chart-item": string; "stacked-chart": string; "horizontal-chart": string; "chart-range": string; "chart-series-color": string; "add-line": string; "chart-type": string; "chart-tooltip": string; "chart-label": string; "chart-data-from": string; "chart-columns": string; "chart-rows": string; "chart-markers": string; "chart-markers-square": string; "chart-markers-triangle": string; "chart-markers-diamond": string; "chart-markers-round": string; "chart-pie-3d": string; "chart-radar-circle": string; }; tooltips: { color: string; background: string; "font-family": string; "font-size": string; "text-align": string; "vertical-align": string; borders: string; "borders-no": string; "borders-left": string; "borders-top": string; "borders-right": string; "borders-bottom": string; "borders-all": string; "borders-outer": string; "borders-top-bottom": string; "borders-color": string; "align-left": string; "align-center": string; "align-right": string; "align-top": string; "align-middle": string; "align-bottom": string; span: string; wrap: string; undo: string; redo: string; format: string; "increase-decimals": string; "decrease-decimals": string; "font-weight": string; "font-style": string; underline: string; strike: string; "hide-gridlines": string; "hide-headers": string; "show-formulas": string; "create-filter": string; "freeze-columns": string; "add-range": string; conditional: string; "add-sheet": string; "lock-cell": string; clear: string; "add-link": string; row: string; column: string; sheet: string; "add-image": string; "add-sparkline": string; "add-comment": string; "increase-indent": string; "decrease-indent": string; }; menus: { "remove-sheet": string; "rename-sheet": string; file: string; new: string; "new-sheet": string; "excel-import": string; "excel-export": string; sheet: string; "copy-sheet": string; edit: string; undo: string; redo: string; columns: string; "insert-column": string; "delete-column": string; "show-column": string; "hide-column": string; "resize-column": string; rows: string; "insert-row": string; "delete-row": string; "show-row": string; "hide-row": string; "resize-row": string; insert: string; "conditional-format": string; common: string; text: string; clear: string; "clear-value": string; "clear-style": string; "clear-conditional-formats": string; "clear-dropdown-editors": string; "clear-comments": string; "clear-all": string; image: string; "add-image-cell": string; "add-image-top": string; graph: string; "add-sparkline": string; "add-chart": string; data: string; "add-link": string; "add-range": string; sort: string; "sort-asc": string; "sort-desc": string; view: string; "freeze-columns": string; "freeze-rows": string; "hide-gridlines": string; "hide-headers": string; "show-formulas": string; "create-filter": string; "add-dropdown": string; "lock-cell": string; print: string; "add-comment": string; cut: string; copy: string; paste: string; "special-paste": string; "paste-values": string; "paste-formulas": string; "paste-styles": string; "paste-conditions": string; }; table: { "math-error": string; "math-ref-error": string; "format-error": string; }; liveEditor: { edit: string; }; formats: { dateFormat: string; timeFormat: string; longDateFormat: string; fullDateFormat: string; parseDateTime: string; parseDate: string; currencies: string[]; }; }; timeFormat: string; timeboard: { seconds: string; }; } interface promise { new (executor: (resolve: (value? : any) => void, reject: (reason? :any) => void) => void): Promise<any>; all(promises:Promise<any>[]): Promise<any>; defer(): Omit<webix.promise, "defer" | "race" | "all"> & Promise<any>; race(promises:Promise<any>[]): Promise<any>; reject(value:any): Promise<any>; resolve(value:any): Promise<any>; } interface rules { isChecked(value:any):boolean; isEmail(value:any):boolean; isNotEmpty(value:any):boolean; isNumber(value:any):boolean; } interface numberFilter { greater(a:any, b:any):boolean; less(a:any, b:any):boolean; greaterOrEqual(a:any, b:any):boolean; lessOrEqual(a:any, b:any):boolean; equal(a:any, b:any):boolean; notEqual(a:any, b:any):boolean; contains(a:any, b:any):boolean; notContains(a:any, b:any):boolean; } interface textFilter { equal(a:any, b:any):boolean; notEqual(a:any, b:any):boolean; contains(a:any, b:any):boolean; notContains(a:any, b:any):boolean; beginsWith(a:any, b:any):boolean; notBeginsWith(a:any, b:any):boolean; endsWith(a:any, b:any):boolean; notEndsWith(a:any, b:any):boolean; } interface dateFilter { greater(a: any, b: any):boolean; less(a: any, b: any):boolean; greaterOrEqual(a: any, b: any):boolean; lessOrEqual(a: any, b: any):boolean; equal(a: any, b: any):boolean; notEqual(a: any, b: any):boolean; between(a: any, b: any):boolean; notBetween(a: any, b: any):boolean; } interface filters { date:dateFilter; number:numberFilter; text:textFilter; } interface WebixStorage { get(name:string):any; put(name:string, value:any):void; remove(name:string):void; } interface cookie extends WebixStorage { clear(domain?:string):void; getRaw(name:string):string; put(name:string, value:any, domain?:string, expires?:Date):void; remove(name:string, domain?:string):void; } interface local extends WebixStorage { clear():void; } interface session extends WebixStorage { clear():void; } interface storage { cookie:webix.cookie; local:webix.local; session:webix.session; prefix(scope:string, storage:webix.cookie|webix.local|webix.session):WebixStorage; } interface WebixSkinLayoutConfig { space: number; wide: number; clean: number; head: number; line: number; toolbar: number; form: number; accordion: number; } interface WebixSkinConfig { topLayout: string; barHeight: number; tabbarHeight: number; sidebarTitleHeight: number; rowHeight: number; toolbarHeight: number; listItemHeight: number; inputHeight: number; buttonHeight: number; inputPadding: number; menuHeight: number; labelTopHeight: number; propertyItemHeight: number; timelineItemHeight: number; unitHeaderHeight: number; inputSpacing: number; borderWidth: number; sliderHandleWidth: number; sliderPadding: number; sliderBorder: number; vSliderPadding: number; vSliderHeight: number; switchHeight: number; switchWidth: number; layoutMargin: WebixSkinLayoutConfig; layoutPadding: WebixSkinLayoutConfig; tabMargin: number; tabOffset: number; tabBottomOffset: number; tabTopOffset: number; tabBorder: boolean; customCheckbox: boolean; customRadio: boolean; sidebarMarkAll: boolean; popupNoPoint: boolean; borderlessPopup: boolean; popupPadding: number; dataPadding: number; calendarWeekHeaderHeight: number; padding: number; accordionType: string; optionHeight: number; timelineColor: string; backColor: string; dataBorderColor: string; colorPadding: number; } interface skin { set(skin: string): void; $active: WebixSkinConfig; $name: string; compact: WebixSkinConfig; contrast: WebixSkinConfig; dark: WebixSkinConfig; flat: WebixSkinConfig; material: WebixSkinConfig; mini: WebixSkinConfig; willow: WebixSkinConfig; } export namespace message { function hide(content: any):void; function hideAll():void; const area:HTMLElement; const expire:number; const pull:obj; const timers:any; const position:string; } export namespace modalbox { function hide(content: any):void; function hideAll():void; const pull:{ [modalId: string]: WebixMessageConfig }; const order:string[]; } type ProxyName = "binary" | "GraphQL" | "json" | "post" | "rest" | "debug" | string; type ProxyType<T> = T extends "binary" ? binaryProxy : T extends "GraphQL" ? GraphQLProxy : T extends "json" ? jsonProxy : T extends "post" ? postProxy : T extends "rest" ? restProxy : T extends "debug" ? debugProxy : WebixProxy; interface binaryProxy { $proxy:boolean; load():Promise<any>; } interface GraphQLProxy { $proxy:boolean; url?:string; load(view:obj):Promise<any>; save(data:any):Promise<any>; } interface jsonProxy { $proxy:boolean; load():Promise<any>; save(view:obj, update:obj):Promise<any>; } interface postProxy { $proxy:boolean; load(view:obj, params:obj):Promise<any>; } interface restProxy { $proxy:boolean; save(view:obj, update:obj):Promise<any>; } interface debugProxy { $proxy:boolean; load():void; save(view:obj, update:obj, dp:obj):void; } export namespace proxy { const binary:binaryProxy; const GraphQL:GraphQLProxy; const json:jsonProxy; const post:postProxy; const rest:restProxy; const debug:debugProxy; } export function alert(text:string|WebixAlertConfig, type?:string|WebixCallback, callback?:WebixCallback):Promise<any>; export function animate(html_element:HTMLElement, animation:WebixAnimate):void; export function attachEvent(type:string, functor:WebixCallback,