From 1dc108cc756793babcc047f64dd399f18ca7e925 Mon Sep 17 00:00:00 2001 From: Atanas Atanasov Date: Fri, 9 Mar 2018 18:04:20 +0200 Subject: [PATCH] added type definitions for gijgo 1.8.2 --- types/gijgo/index.d.ts | 298 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 287 insertions(+), 11 deletions(-) diff --git a/types/gijgo/index.d.ts b/types/gijgo/index.d.ts index a76d98dd7f..19d17deb22 100644 --- a/types/gijgo/index.d.ts +++ b/types/gijgo/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Gijgo v0.6.2 +// Type definitions for Gijgo v1.8.2 // Project: http://gijgo.com // Definitions by: Atanas Atanasov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -10,23 +10,28 @@ declare module Gijgo { interface GridPager { limit?: number; sizes?: Array; - leftControls?: any; - rightControls?: any; + leftControls?: Array; + rightControls?: Array; } interface GridColumn { align?: string; cssClass?: string; decimalDigits?: number; + editField?: string; editor?: any; events?: any; field?: string; + filter?: any; + filterable?: boolean; format?: string; headerCssClass?: string; hidden?: boolean; icon?: string; minWidth?: number; + mode?: string; priority?: number; + renderer?: any; sortable?: boolean; stopPropagation?: boolean; title?: string; @@ -36,11 +41,13 @@ declare module Gijgo { width?: number; } - interface GridDefaultParams { + interface GridParamNames { direction?: string; limit?: string; page?: string; sortBy?: string; + groupBy?: string; + groupByDirection?: string; } interface GridMapping { @@ -48,24 +55,62 @@ declare module Gijgo { totalRecordsField?: string; } + interface GridIcons { + expandRow?: string; + collapseRow?: string; + expandGroup?: string; + collapseGroup?: string; + } + + interface GridGrouping { + groupBy: string; + } + + interface GridHeaderFilter { + type: string; + } + + interface GridInlineEditing { + mode?: string; + managementColumn?: boolean; + } + + interface GridOptimisticPersistence { + localStorage: Array; + sessionStorage: Array; + } + interface GridSettings { //Configuration options autoGenerateColumns?: boolean; autoLoad?: boolean; + columnReorder?: boolean; columns?: Array; dataSource?: any; defaultColumnSettings?: GridColumn; - defaultParams?: GridDefaultParams; detailTemplate?: string; + fixedHeader?: boolean; fontSize?: string; - mapping?: string; + grouping?: GridGrouping; + headerFilter?: GridHeaderFilter; + icons?: GridIcons; + iconsLibrary?: string; + inlineEditing?: GridInlineEditing; + keepExpandedRows?: boolean; + locale?: string; + mapping?: any; minWidth?: number; notFoundText?: string; + optimisticPersistence?: GridOptimisticPersistence; + orderNumberField?: string; pager?: GridPager; + paramNames?: GridParamNames; primaryKey?: string; resizableColumns?: boolean; resizeCheckInterval?: number; responsive?: boolean; + rowReorder?: boolean; + rowReorderColumn?: string; selectionMethod?: string; selectionType?: string; showHiddenColumnsAsDetails?: boolean; @@ -83,14 +128,16 @@ declare module Gijgo { columnShow?: (e: any, column: GridColumn) => any; dataBinding?: (e: any, records: Array) => any; dataBound?: (e: any, records: Array, totalRecords: number) => any; + dataFiltered?: (e: any, records: Array) => any; destroying?: (e: any) => any; - detailCollapse?: (e: any, detailWrapper: JQuery, record: Entity) => any; - detailExpand?: (e: any, detailWrapper: JQuery, record: Entity) => any; + detailCollapse?: (e: any, detailWrapper: JQuery, id: string) => any; + detailExpand?: (e: any, detailWrapper: JQuery, id: string) => any; initialized?: (e: any) => any; pageChanging?: (e: any, newPage: number) => any; pageSizeChange?: (e: any, newPage: number) => any; resize?: (e: any, newWidth: number, oldWidth: number) => any; rowDataBound?: (e: any, $row: JQuery, id: string, record: Entity) => any; + rowDataChanged?: (e: any, id: string, record: Entity) => any; rowRemoving?: (e: any, $row: JQuery, id: string, record: Entity) => any; rowSelect?: (e: any, $row: JQuery, id: string, record: Entity) => any; rowUnselect?: (e: any, $row: JQuery, id: string, record: Entity) => any; @@ -98,17 +145,23 @@ declare module Gijgo { interface Grid extends JQuery { addRow(record: Entity): Grid; + cancel(id: string): Grid; clear(showNotFoundText?: boolean): Grid; + collapseAll(): Grid; count(): number; destroy(keepTableTag?: boolean, keepWrapperTag?: boolean): void; + downloadCSV(filename?: string, includeAllRecords?: boolean): Grid; + edit(id: string): Grid; + expandAll(): Grid; //get(position: number): Entity; //TODO: rename to getByPosition to avoid conflicts with jquery.get getAll(): Array; getById(id: string): Entity; getChanges(): Array; + getCSV(includeAllRecords?: boolean): string; getSelected(): string; getSelections(): Array; hideColumn(field: string): Grid; - makeResponsive(): void; + makeResponsive(): Grid; reload(params?: Params): Grid; removeRow(id: string): Grid; render(response: any): Grid; @@ -117,22 +170,25 @@ declare module Gijgo { showColumn(field: string): Grid; title(text: any): any; unSelectAll(): Grid; + update(id: string): Grid; updateRow(id: string, record: Entity): Grid; } - //Dialog + // Dialog interface DialogSettings { - //Configuration options autoOpen?: boolean; + closeButtonInHeader?: boolean; closeOnEscape?: boolean; draggable?: boolean; height?: number | string; + locale?: string; maxHeight?: number; maxWidth?: number; minHeight?: number; minWidth?: number; modal?: boolean; resizable?: boolean; + scrollable?: boolean; title?: string; uiLibrary?: string; width?: number; @@ -153,9 +209,217 @@ declare module Gijgo { interface Dialog extends JQuery { close(): Dialog; + content(constent: string): string | Dialog; + destroy(keepHtml: boolean): void; isOpen(): boolean; open(): Dialog; } + + // Checkbox + interface CheckboxSettings { + uiLibrary?: string; + iconsLibrary?: string; + + //Events + change?: (e: any, state: string) => any; + } + + interface Checkbox extends JQuery { + //toggle(): Checkbox; + state(value: string): string | Checkbox; + destroy(): void; + } + + // DatePicker + interface DatePickerIcons { + rightIcon?: string; + } + + interface DatePickerSettings { + showOtherMonths?: boolean; + selectOtherMonths?: boolean; + width?: number; + minDate?: Date | string | Function; + maxDate?: Date | string | Function; + format?: string; + value?: string; + uiLibrary?: string; + iconsLibrary?: string; + weekStartDay?: number; + disableDates?: Array | Function; + disableDaysOfWeek?: Array; + calendarWeeks?: boolean; + keyboardNavigation?: boolean; + locale?: string; + icons?: DatePickerIcons; + + //Events + change?: (e: any) => any; + open?: (e: any) => any; + close?: (e: any) => any; + } + + interface DatePicker extends JQuery { + close(): DatePicker; + destroy(): void; + open(): DatePicker; + value(value: string): string | DatePicker; + } + + // DropDown + interface DropDownIcons { + dropdown?: string; + } + + interface DropDownSettings { + dataSource?: any; + textField?: string; + valueField?: string; + selectedField?: string; + width?: number; + maxHeight?: any; + uiLibrary?: string; + iconsLibrary?: string; + icons?: DropDownIcons; + + //Events + change?: (e: any) => any; + dataBound?: (e: any) => any; + } + + interface DropDown extends JQuery { + value(value: string): string | DropDown; + destroy(): void; + } + + // Editor + interface EditorSettings { + height?: number | string; + width?: number | string; + uiLibrary?: string; + iconsLibrary?: string; + locale?: string; + + //Events + changing?: (e: any) => any; + changed?: (e: any) => any; + } + + interface Editor extends JQuery { + content(html: string): string | Editor; + destroy(): void; + } + + // TimePicker + interface TimePickerSettings { + width?: number; + modal?: boolean; + header?: boolean; + footer?: boolean; + format?: string; + uiLibrary?: string; + value?: string; + mode?: string; + locale?: string; + + //Events + change?: (e: any) => any; + open?: (e: any) => any; + close?: (e: any) => any; + } + + interface TimePicker extends JQuery { + close(): TimePicker; + destroy(): void; + open(): TimePicker; + value(value: string): string | TimePicker; + } + + // Tree + interface TreeIcons { + expand?: string; + collapse?: string; + } + + interface TreeParamNames { + parentId?: string; + } + + interface TreeSettings { + autoLoad?: boolean; + selectionType?: string; + cascadeSelection?: boolean; + dataSource?: any; + primaryKey?: string; + textField?: string; + childrenField?: string; + hasChildrenField?: string; + imageCssClassField?: string; + imageUrlField?: string; + imageHtmlField?: string; + disabledField?: string; + width?: number; + border?: boolean; + uiLibrary?: string; + iconsLibrary?: string; + icons?: TreeIcons; + + checkboxes?: boolean; + checkedField?: string; + cascadeCheck?: boolean; + dragAndDrop?: boolean; + paramNames: TreeParamNames; + lazyLoading?: boolean; + + + //Events + initialized?: (e: any) => any; + dataBinding?: (e: any) => any; + dataBound?: (e: any) => any; + select?: (e: any, node: any, id: string) => any; + unselect?: (e: any, node: any, id: string) => any; + expand?: (e: any, node: any, id: string) => any; + collapse?: (e: any, node: any, id: string) => any; + enable?: (e: any, node: any, id: string) => any; + disable?: (e: any, node: any, id: string) => any; + destroying?: (e: any) => any; + nodeDataBound?: (e: any, node: any, id: string) => any; + checkboxChange?: (e: any, node: any, record: any, state: string) => any; + nodeDrop?: (e: any, id: string, parentId: string, orderNumber: number) => any; + } + + interface Tree extends JQuery { + reload(params: any): any; + render(response: any): any; + addNode(data: any, parentNode: any, position: number): Tree; + removeNode(node: any): Tree; + destroy(): void; + expand(node: any, cascade: boolean): Tree; + collapse(node: any, cascade: boolean) : Tree; + expandAll(): Tree; + collapseAll() : Tree; + getDataById(id: string) : any; + getDataByText(text: string) : any; + getNodeById(id: string) : any; + getNodeByText(id: string) : any; + getAll(): Array; + //select(node: any) : Tree; + unselect(node: any) : Tree; + selectAll() : Tree; + unselectAll() : Tree; + getSelections() : Array; + getChildren(node: any, cascade: boolean) : Array; + enable(node: any, cascade: boolean) : Tree; + disable(node: any, cascade: boolean) : Tree; + enableAll() : Tree; + disableAll() : Tree; + + getCheckedNodes() : Array; + checkAll() : Tree; + uncheckAll(): Tree; + check(node: any) : Tree; + uncheck(node: any) : Tree; + } } @@ -165,4 +429,16 @@ interface JQuery { grid(settings: Gijgo.GridSettings): Gijgo.Grid; dialog(settings: Gijgo.DialogSettings): Gijgo.Dialog; + + checkbox(settings: Gijgo.CheckboxSettings): Gijgo.Checkbox; + + datepicker(settings: Gijgo.DatePickerSettings): Gijgo.DatePicker; + + dropdown(settings: Gijgo.DropDownSettings): Gijgo.DropDown; + + editor(settings: Gijgo.EditorSettings): Gijgo.Editor; + + timepicker(settings: Gijgo.TimePickerSettings): Gijgo.TimePicker; + + tree(settings: Gijgo.TreeSettings): Gijgo.Tree; }