diff --git a/gijgo/gijgo.d.ts b/gijgo/gijgo.d.ts index faa2609fbc..f78d88be85 100644 --- a/gijgo/gijgo.d.ts +++ b/gijgo/gijgo.d.ts @@ -3,164 +3,165 @@ // Definitions by: Atanas Atanasov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -//Grid +declare module Gijgo { -interface GridPager { - limit: number; - sizes: Array; - leftControls?: any; - rightControls?: any; + //Grid + interface GridPager { + limit?: number; + sizes?: Array; + leftControls?: any; + rightControls?: any; + } + + interface GridColumn { + align?: string; + cssClass?: string; + decimalDigits?: number; + editor?: any; + events?: any; + field?: string; + format?: string; + headerCssClass?: string; + hidden?: boolean; + icon?: string; + minWidth?: number; + priority?: number; + sortable?: boolean; + stopPropagation?: boolean; + title?: string; + tmpl?: string; + tooltip?: string; + type?: string; + width?: number; + } + + interface GridDefaultParams { + direction?: string; + limit?: string; + page?: string; + sortBy?: string; + } + + interface GridMapping { + dataField?: string; + totalRecordsField?: string; + } + + interface GridSettings { + //Configuration options + autoGenerateColumns?: boolean; + autoLoad?: boolean; + columns?: Array; + dataSource?: any; + defaultColumnSettings?: GridColumn; + defaultParams?: GridDefaultParams; + detailTemplate?: string; + fontSize?: string; + mapping?: string; + minWidth?: number; + notFoundText?: string; + pager?: GridPager; + primaryKey?: string; + resizableColumns?: boolean; + resizeCheckInterval?: number; + responsive?: boolean; + selectionMethod?: string; + selectionType?: string; + showHiddenColumnsAsDetails?: boolean; + title?: string; + toolbarTemplate?: string; + uiLibrary?: string; + width?: number; + params?: any; + + //Events + beforeEmptyRowInsert?: (e: any, $row: JQuery) => any; + cellDataBound?: (e: any, $wrapper: JQuery, id: string, column: GridColumn, record: Entity) => any; + cellDataChanged?: (e: any, $cell: JQuery, column: GridColumn, record: Entity, oldValue: any, newValue: any) => any; + columnHide?: (e: any, column: GridColumn) => any; + columnShow?: (e: any, column: GridColumn) => any; + dataBinding?: (e: any, records: Array) => any; + dataBound?: (e: any, records: Array, totalRecords: number) => any; + destroying?: (e: any) => any; + detailCollapse?: (e: any, detailWrapper: JQuery, record: Entity) => any; + detailExpand?: (e: any, detailWrapper: JQuery, record: Entity) => 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; + 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; + } + + interface Grid extends JQuery { + addRow(record: Entity): Grid; + clear(showNotFoundText?: boolean): Grid; + count(): number; + destroy(keepTableTag?: boolean, keepWrapperTag?: boolean): void; + //get(position: number): Entity; //TODO: rename to getByPosition to avoid conflicts with jquery.get + getAll(): Array; + getById(id: string): Entity; + getChanges(): Array; + getSelected(): string; + getSelections(): Array; + hideColumn(field: string): Grid; + makeResponsive(): void; + reload(params?: Params): Grid; + removeRow(id: string): Grid; + render(response: any): Grid; + selectAll(): Grid; + setSelected(id: string | number): Grid; + showColumn(field: string): Grid; + title(text: any): any; + unSelectAll(): Grid; + updateRow(id: string, record: Entity): Grid; + } + + //Dialog + interface DialogSettings { + //Configuration options + autoOpen?: boolean; + closeOnEscape?: boolean; + draggable?: boolean; + height?: number | string; + maxHeight?: number; + maxWidth?: number; + minHeight?: number; + minWidth?: number; + modal?: boolean; + resizable?: boolean; + title?: string; + uiLibrary?: string; + width?: number; + + //Events + closed?: (e: any) => any; + closing?: (e: any) => any; + drag?: (e: any) => any; + dragStart?: (e: any) => any; + dragStop?: (e: any) => any; + initialized?: (e: any) => any; + opened?: (e: any) => any; + opening?: (e: any) => any; + resize?: (e: any) => any; + resizeStart?: (e: any) => any; + resizeStop?: (e: any) => any; + } + + interface Dialog extends JQuery { + close(): Dialog; + isOpen(): boolean; + open(): Dialog; + } } -interface GridColumn { - align?: string; - cssClass?: string; - decimalDigits?: number; - editor?: any; - events?: any; - field?: string; - format?: string; - headerCssClass?: string; - hidden?: boolean; - icon?: string; - minWidth?: number; - priority?: number; - sortable?: boolean; - stopPropagation?: boolean; - title?: string; - tmpl?: string; - tooltip?: string; - type?: string; - width?: number; -} - -interface GridDefaultParams { - direction?: string; - limit?: string; - page?: string; - sortBy?: string; -} - -interface GridMapping { - dataField?: string; - totalRecordsField?: string; -} - -interface GridSettings { - //Configuration options - autoGenerateColumns?: boolean; - autoLoad?: boolean; - columns?: Array; - dataSource?: any; - defaultColumnSettings?: GridColumn; - defaultParams?: GridDefaultParams; - detailTemplate?: string; - fontSize?: string; - mapping?: string; - minWidth?: number; - notFoundText?: string; - pager?: GridPager; - primaryKey?: string; - resizableColumns?: boolean; - resizeCheckInterval?: number; - responsive?: boolean; - selectionMethod?: string; - selectionType?: string; - showHiddenColumnsAsDetails?: boolean; - title?: string; - toolbarTemplate?: string; - uiLibrary?: string; - width?: number; - params?: any; - - //Events - beforeEmptyRowInsert?: (e: any, $row: JQuery) => any; - cellDataBound?: (e: any, $wrapper: JQuery, id: string, column: GridColumn, record: Entity) => any; - cellDataChanged?: (e: any, $cell: JQuery, column: GridColumn, record: Entity, oldValue: any, newValue: any) => any; - columnHide?: (e: any, column: GridColumn) => any; - columnShow?: (e: any, column: GridColumn) => any; - dataBinding?: (e: any, records: Array) => any; - dataBound?: (e: any, records: Array, totalRecords: number) => any; - destroying?: (e: any) => any; - detailCollapse?: (e: any, detailWrapper: JQuery, record: Entity) => any; - detailExpand?: (e: any, detailWrapper: JQuery, record: Entity) => 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; - 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; -} - -interface Grid extends JQuery { - addRow(record: Entity): Grid; - clear(showNotFoundText?: boolean): Grid; - count(): number; - destroy(keepTableTag?: boolean, keepWrapperTag?: boolean): void; - //get(position: number): Entity; //TODO: rename to getByPosition to avoid conflicts with jquery.get - getAll(): Array; - getById(id: string): Entity; - getChanges(): Array; - getSelected(): string; - getSelections(): Array; - hideColumn(field: string): Grid; - makeResponsive(): void; - reload(params?: Params): Grid; - removeRow(id: string): Grid; - render(response: any): Grid; - selectAll(): Grid; - setSelected(id: string|number): Grid; - showColumn(field: string): Grid; - title(text: any): any; - unSelectAll(): Grid; - updateRow(id: string, record: Entity): Grid; -} interface JQuery { - grid(settings: GridSettings): Grid; - grid(settings: GridSettings): Grid; - grid(settings: GridSettings): Grid; -} + grid(settings: Gijgo.GridSettings): Gijgo.Grid; + grid(settings: Gijgo.GridSettings): Gijgo.Grid; + grid(settings: Gijgo.GridSettings): Gijgo.Grid; -//Dialog -interface DialogSettings { - //Configuration options - autoOpen?: boolean; - closeOnEscape?: boolean; - draggable?: boolean; - height?: number|string; - maxHeight?: number; - maxWidth?: number; - minHeight?: number; - minWidth?: number; - modal?: boolean; - resizable?: boolean; - title?: string; - uiLibrary?: string; - width?: number; - - //Events - closed?: (e: any) => any; - closing?: (e: any) => any; - drag?: (e: any) => any; - dragStart?: (e: any) => any; - dragStop?: (e: any) => any; - initialized?: (e: any) => any; - opened?: (e: any) => any; - opening?: (e: any) => any; - resize?: (e: any) => any; - resizeStart?: (e: any) => any; - resizeStop?: (e: any) => any; -} - -interface Dialog extends JQuery { - close(): Dialog; - isOpen(): boolean; - open(): Dialog; -} - -interface JQuery { - dialog(settings: DialogSettings): Dialog; + dialog(settings: Gijgo.DialogSettings): Gijgo.Dialog; }