From 03bab3b4e2901ccc165583e548a90db94a92deed Mon Sep 17 00:00:00 2001 From: Koloto Date: Wed, 9 Sep 2015 13:57:26 +0300 Subject: [PATCH] Refactoring of interfaces for SlickGrid event args --- slickgrid/SlickGrid.d.ts | 159 +++++++++++++++-------------- slickgrid/slick.headerbuttons.d.ts | 4 +- 2 files changed, 83 insertions(+), 80 deletions(-) diff --git a/slickgrid/SlickGrid.d.ts b/slickgrid/SlickGrid.d.ts index 60f0a24b61..850a9a1170 100644 --- a/slickgrid/SlickGrid.d.ts +++ b/slickgrid/SlickGrid.d.ts @@ -507,11 +507,11 @@ declare module Slick { getEditor(column: Column): Editors.Editor; } - export interface FormatterFactory { + export interface FormatterFactory { getFormatter(column: Column): Formatter; } - export interface GridOptions { + export interface GridOptions { /** * Makes cell editors load asynchronously after a small delay. This greatly increases keyboard navigation speed. @@ -863,7 +863,7 @@ declare module Slick { * todo: no docs or comments available * @return **/ - public getSortColumns(): Column[]; + public getSortColumns(): { columnId: string; sortAsc: boolean }[]; /** * Updates an existing column definition and a corresponding header DOM element with the new title and tooltip. @@ -1106,39 +1106,39 @@ declare module Slick { // #region Events - public onScroll: Slick.Event; - public onSort: Slick.Event>; - public onHeaderMouseEnter: Slick.Event>; - public onHeaderMouseLeave: Slick.Event>; - public onHeaderContextMenu: Slick.Event>; - public onHeaderClick: Slick.Event>; - public onHeaderCellRendered: Slick.Event>; - public onBeforeHeaderCellDestroy: Slick.Event>; - public onHeaderRowCellRendered: Slick.Event>; - public onBeforeHeaderRowCellDestroy: Slick.Event>; - public onMouseEnter: Slick.Event; - public onMouseLeave: Slick.Event; - public onClick: Slick.Event; - public onDblClick: Slick.Event; - public onContextMenu: Slick.Event; - public onKeyDown: Slick.Event; - public onAddNewRow: Slick.Event>; - public onValidationError: Slick.Event>; - public onColumnsReordered: Slick.Event; - public onColumnsResized: Slick.Event; - public onCellChange: Slick.Event>; - public onBeforeEditCell: Slick.Event>; - public onBeforeCellEditorDestroy: Slick.Event>; - public onBeforeDestroy: Slick.Event; - public onActiveCellChanged: Slick.Event; - public onActiveCellPositionChanged: Slick.Event; - public onDragInit: Slick.Event; - public onDragStart: Slick.Event; - public onDrag: Slick.Event; - public onDragEnd: Slick.Event; - public onSelectedRowsChanged: Slick.Event; - public onCellCssStylesChanged: Slick.Event; - public onViewportChanged: Slick.Event; + public onScroll: Slick.Event>; + public onSort: Slick.Event>; + public onHeaderMouseEnter: Slick.Event>; + public onHeaderMouseLeave: Slick.Event>; + public onHeaderContextMenu: Slick.Event>; + public onHeaderClick: Slick.Event>; + public onHeaderCellRendered: Slick.Event>; + public onBeforeHeaderCellDestroy: Slick.Event>; + public onHeaderRowCellRendered: Slick.Event>; + public onBeforeHeaderRowCellDestroy: Slick.Event>; + public onMouseEnter: Slick.Event>; + public onMouseLeave: Slick.Event>; + public onClick: Slick.Event>; + public onDblClick: Slick.Event>; + public onContextMenu: Slick.Event>; + public onKeyDown: Slick.Event>; + public onAddNewRow: Slick.Event>; + public onValidationError: Slick.Event>; + public onColumnsReordered: Slick.Event>; + public onColumnsResized: Slick.Event>; + public onCellChange: Slick.Event>; + public onBeforeEditCell: Slick.Event>; + public onBeforeCellEditorDestroy: Slick.Event>; + public onBeforeDestroy: Slick.Event>; + public onActiveCellChanged: Slick.Event>; + public onActiveCellPositionChanged: Slick.Event>; + public onDragInit: Slick.Event>; + public onDragStart: Slick.Event>; + public onDrag: Slick.Event>; + public onDragEnd: Slick.Event>; + public onSelectedRowsChanged: Slick.Event>; + public onCellCssStylesChanged: Slick.Event>; + public onViewportChanged: Slick.Event>; // #endregion Events // #region Plugins @@ -1177,74 +1177,78 @@ declare module Slick { // #endregion Editors } - export interface OnCellCssStylesChangedEventData { + export interface GridEventArgs { + grid: Grid; + } + + export interface OnCellCssStylesChangedEventArgs extends GridEventArgs { key: string; hash: CellCssStylesHash; } - export interface OnSelectedRowsChangedEventData { + export interface OnSelectedRowsChangedEventArgs extends GridEventArgs { rows: number[]; } - export interface OnDragEndEventData { + export interface OnDragEndEventArgs extends GridEventArgs { // todo: need to understand $canvas drag event parameter's 'dd' object // the documentation is not enlightening } - export interface OnDragEventData { + export interface OnDragEventArgs extends GridEventArgs { // todo: need to understand $canvas drag event parameter's 'dd' object // the documentation is not enlightening } - export interface OnDragStartEventData { + export interface OnDragStartEventArgs extends GridEventArgs { // todo: need to understand $canvas drag event parameter's 'dd' object // the documentation is not enlightening } - export interface OnDragInitEventData { + export interface OnDragInitEventArgs extends GridEventArgs { // todo: need to understand $canvas drag event parameter's 'dd' object // the documentation is not enlightening } - export interface OnActiveCellPositionChangedEventData { + export interface OnActiveCellPositionChangedEventArgs extends GridEventArgs { } - export interface OnActiveCellChangedEventData { + export interface OnActiveCellChangedEventArgs extends GridEventArgs { row: number; cell: number; } - export interface OnBeforeDestroyEventData { + export interface OnBeforeDestroyEventArgs extends GridEventArgs { } - export interface OnBeforeCellEditorDestroyEventData { + export interface OnBeforeCellEditorDestroyEventArgs extends GridEventArgs { editor: Editors.Editor; } - export interface OnBeforeEditCellEventData { + export interface OnBeforeEditCellEventArgs extends GridEventArgs { row: number; cell: number; item: T; column: Column; } - export interface OnCellChangeEventData { + export interface OnCellChangeEventArgs extends GridEventArgs { row: number; cell: number; item: T; } - export interface OnColumnsResizedEventData { + export interface OnColumnsResizedEventArgs extends GridEventArgs { } - export interface OnColumnsReorderedEventData { + export interface OnColumnsReorderedEventArgs extends GridEventArgs { } - export interface OnValidationErrorEventData { + export interface OnValidationErrorEventArgs extends GridEventArgs { editor: Editors.Editor; cellNode: HTMLElement; validationResults: ValidateResults; @@ -1253,92 +1257,91 @@ declare module Slick { column: Column; } - export interface OnAddNewRowEventData { + export interface OnAddNewRowEventArgs extends GridEventArgs { item: T; column: Column; } - export interface OnKeyDownEventData { + export interface OnKeyDownEventArgs extends GridEventArgs { row: number; cell: number; } - export interface OnContextMenuEventData { + export interface OnContextMenuEventArgs extends GridEventArgs { } - export interface OnDblClickEventData { + export interface OnDblClickEventArgs extends GridEventArgs { row: number; cell: number; } - export interface OnClickEventData { + export interface OnClickEventArgs extends GridEventArgs { row: number; cell: number; } - export interface OnMouseLeaveEventData { + export interface OnMouseLeaveEventArgs extends GridEventArgs { } - export interface OnMouseEnterEventData { + export interface OnMouseEnterEventArgs extends GridEventArgs { } - export interface OnBeforeHeaderRowCellDestroyEventData { + export interface OnBeforeHeaderRowCellDestroyEventArgs extends GridEventArgs { node: HTMLElement; // todo: might be JQuery instance column: Column; } - export interface OnHeaderRowCellRenderedEventData { + export interface OnHeaderRowCellRenderedEventArgs extends GridEventArgs { node: HTMLElement; // todo: might be JQuery instance column: Column; } - export interface OnBeforeHeaderCellDestroyEventData { + export interface OnBeforeHeaderCellDestroyEventArgs extends GridEventArgs { node: HTMLElement; // todo: might be JQuery instance column: Column; } - export interface OnHeaderCellRenderedEventData { + export interface OnHeaderCellRenderedEventArgs extends GridEventArgs { node: HTMLElement; // todo: might be JQuery instance column: Column; } - export interface OnHeaderClickEventData { + export interface OnHeaderClickEventArgs extends GridEventArgs { column: Column; } - export interface OnHeaderContextMenuEventData { + export interface OnHeaderContextMenuEventArgs extends GridEventArgs { column: Column; } - export interface OnHeaderMouseEventData { + export interface OnHeaderMouseEventArgs extends GridEventArgs { column: Column; } - // todo: merge with existing column definition - export interface Column { - sortCol?: Column; - sortAsc?: boolean; - } - - export interface OnSortEventData { + export interface OnSortEventArgs extends GridEventArgs { multiColumnSort: boolean; - sortCol?: Column; - sortCols: Column[]; - sortAsc?: boolean; + sortCol?: SortColumn; + sortCols?: SortColumn[]; + sortAsc: boolean; } - export interface OnScrollEventData { + export interface OnScrollEventArgs extends GridEventArgs { scrollLeft: number; scrollTop: number; } - export interface OnViewportChangedEventData { + export interface OnViewportChangedEventArgs extends GridEventArgs { } + export interface SortColumn { + sortCol: Column; + sortAsc: boolean; + } + export interface Cell { row: number; cell: number; @@ -1449,7 +1452,7 @@ declare module Slick { } } - export interface Formatter { + export interface Formatter { (row: number, cell: number, value: any, columnDef: Column, dataContext: SlickData): string; } diff --git a/slickgrid/slick.headerbuttons.d.ts b/slickgrid/slick.headerbuttons.d.ts index 613203f438..df7e6bb257 100644 --- a/slickgrid/slick.headerbuttons.d.ts +++ b/slickgrid/slick.headerbuttons.d.ts @@ -24,7 +24,7 @@ declare module Slick { tooltip?: string; } - export interface OnCommandEventData { + export interface OnCommandEventArgs { grid: Grid; column: Column; command: string; @@ -35,7 +35,7 @@ declare module Slick { export class HeaderButtons extends Plugin { constructor(); - public onCommand: Event>; + public onCommand: Event>; } } }