Skip to content

Commit 03bab3b

Browse files
committed
Refactoring of interfaces for SlickGrid event args
1 parent c4078b9 commit 03bab3b

File tree

2 files changed

+83
-80
lines changed

2 files changed

+83
-80
lines changed

slickgrid/SlickGrid.d.ts

Lines changed: 81 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -507,11 +507,11 @@ declare module Slick {
507507
getEditor<T>(column: Column<T>): Editors.Editor<T>;
508508
}
509509

510-
export interface FormatterFactory<T extends Slick.SlickData> {
510+
export interface FormatterFactory<T extends SlickData> {
511511
getFormatter(column: Column<T>): Formatter<any>;
512512
}
513513

514-
export interface GridOptions<T extends Slick.SlickData> {
514+
export interface GridOptions<T extends SlickData> {
515515

516516
/**
517517
* Makes cell editors load asynchronously after a small delay. This greatly increases keyboard navigation speed.
@@ -863,7 +863,7 @@ declare module Slick {
863863
* todo: no docs or comments available
864864
* @return
865865
**/
866-
public getSortColumns(): Column<T>[];
866+
public getSortColumns(): { columnId: string; sortAsc: boolean }[];
867867

868868
/**
869869
* Updates an existing column definition and a corresponding header DOM element with the new title and tooltip.
@@ -1106,39 +1106,39 @@ declare module Slick {
11061106

11071107
// #region Events
11081108

1109-
public onScroll: Slick.Event<OnScrollEventData>;
1110-
public onSort: Slick.Event<OnSortEventData<T>>;
1111-
public onHeaderMouseEnter: Slick.Event<OnHeaderMouseEventData<T>>;
1112-
public onHeaderMouseLeave: Slick.Event<OnHeaderMouseEventData<T>>;
1113-
public onHeaderContextMenu: Slick.Event<OnHeaderContextMenuEventData<T>>;
1114-
public onHeaderClick: Slick.Event<OnHeaderClickEventData<T>>;
1115-
public onHeaderCellRendered: Slick.Event<OnHeaderCellRenderedEventData<T>>;
1116-
public onBeforeHeaderCellDestroy: Slick.Event<OnBeforeHeaderCellDestroyEventData<T>>;
1117-
public onHeaderRowCellRendered: Slick.Event<OnHeaderRowCellRenderedEventData<T>>;
1118-
public onBeforeHeaderRowCellDestroy: Slick.Event<OnBeforeHeaderRowCellDestroyEventData<T>>;
1119-
public onMouseEnter: Slick.Event<OnMouseEnterEventData>;
1120-
public onMouseLeave: Slick.Event<OnMouseLeaveEventData>;
1121-
public onClick: Slick.Event<OnClickEventData>;
1122-
public onDblClick: Slick.Event<OnDblClickEventData>;
1123-
public onContextMenu: Slick.Event<OnContextMenuEventData>;
1124-
public onKeyDown: Slick.Event<OnKeyDownEventData>;
1125-
public onAddNewRow: Slick.Event<OnAddNewRowEventData<T>>;
1126-
public onValidationError: Slick.Event<OnValidationErrorEventData<T>>;
1127-
public onColumnsReordered: Slick.Event<OnColumnsReorderedEventData>;
1128-
public onColumnsResized: Slick.Event<OnColumnsResizedEventData>;
1129-
public onCellChange: Slick.Event<OnCellChangeEventData<T>>;
1130-
public onBeforeEditCell: Slick.Event<OnBeforeEditCellEventData<T>>;
1131-
public onBeforeCellEditorDestroy: Slick.Event<OnBeforeCellEditorDestroyEventData<T>>;
1132-
public onBeforeDestroy: Slick.Event<OnBeforeDestroyEventData>;
1133-
public onActiveCellChanged: Slick.Event<OnActiveCellChangedEventData>;
1134-
public onActiveCellPositionChanged: Slick.Event<OnActiveCellPositionChangedEventData>;
1135-
public onDragInit: Slick.Event<OnDragInitEventData>;
1136-
public onDragStart: Slick.Event<OnDragStartEventData>;
1137-
public onDrag: Slick.Event<OnDragEventData>;
1138-
public onDragEnd: Slick.Event<OnDragEndEventData>;
1139-
public onSelectedRowsChanged: Slick.Event<OnSelectedRowsChangedEventData>;
1140-
public onCellCssStylesChanged: Slick.Event<OnCellCssStylesChangedEventData>;
1141-
public onViewportChanged: Slick.Event<OnViewportChangedEventData>;
1109+
public onScroll: Slick.Event<OnScrollEventArgs<T>>;
1110+
public onSort: Slick.Event<OnSortEventArgs<T>>;
1111+
public onHeaderMouseEnter: Slick.Event<OnHeaderMouseEventArgs<T>>;
1112+
public onHeaderMouseLeave: Slick.Event<OnHeaderMouseEventArgs<T>>;
1113+
public onHeaderContextMenu: Slick.Event<OnHeaderContextMenuEventArgs<T>>;
1114+
public onHeaderClick: Slick.Event<OnHeaderClickEventArgs<T>>;
1115+
public onHeaderCellRendered: Slick.Event<OnHeaderCellRenderedEventArgs<T>>;
1116+
public onBeforeHeaderCellDestroy: Slick.Event<OnBeforeHeaderCellDestroyEventArgs<T>>;
1117+
public onHeaderRowCellRendered: Slick.Event<OnHeaderRowCellRenderedEventArgs<T>>;
1118+
public onBeforeHeaderRowCellDestroy: Slick.Event<OnBeforeHeaderRowCellDestroyEventArgs<T>>;
1119+
public onMouseEnter: Slick.Event<OnMouseEnterEventArgs<T>>;
1120+
public onMouseLeave: Slick.Event<OnMouseLeaveEventArgs<T>>;
1121+
public onClick: Slick.Event<OnClickEventArgs<T>>;
1122+
public onDblClick: Slick.Event<OnDblClickEventArgs<T>>;
1123+
public onContextMenu: Slick.Event<OnContextMenuEventArgs<T>>;
1124+
public onKeyDown: Slick.Event<OnKeyDownEventArgs<T>>;
1125+
public onAddNewRow: Slick.Event<OnAddNewRowEventArgs<T>>;
1126+
public onValidationError: Slick.Event<OnValidationErrorEventArgs<T>>;
1127+
public onColumnsReordered: Slick.Event<OnColumnsReorderedEventArgs<T>>;
1128+
public onColumnsResized: Slick.Event<OnColumnsResizedEventArgs<T>>;
1129+
public onCellChange: Slick.Event<OnCellChangeEventArgs<T>>;
1130+
public onBeforeEditCell: Slick.Event<OnBeforeEditCellEventArgs<T>>;
1131+
public onBeforeCellEditorDestroy: Slick.Event<OnBeforeCellEditorDestroyEventArgs<T>>;
1132+
public onBeforeDestroy: Slick.Event<OnBeforeDestroyEventArgs<T>>;
1133+
public onActiveCellChanged: Slick.Event<OnActiveCellChangedEventArgs<T>>;
1134+
public onActiveCellPositionChanged: Slick.Event<OnActiveCellPositionChangedEventArgs<T>>;
1135+
public onDragInit: Slick.Event<OnDragInitEventArgs<T>>;
1136+
public onDragStart: Slick.Event<OnDragStartEventArgs<T>>;
1137+
public onDrag: Slick.Event<OnDragEventArgs<T>>;
1138+
public onDragEnd: Slick.Event<OnDragEndEventArgs<T>>;
1139+
public onSelectedRowsChanged: Slick.Event<OnSelectedRowsChangedEventArgs<T>>;
1140+
public onCellCssStylesChanged: Slick.Event<OnCellCssStylesChangedEventArgs<T>>;
1141+
public onViewportChanged: Slick.Event<OnViewportChangedEventArgs<T>>;
11421142
// #endregion Events
11431143

11441144
// #region Plugins
@@ -1177,74 +1177,78 @@ declare module Slick {
11771177
// #endregion Editors
11781178
}
11791179

1180-
export interface OnCellCssStylesChangedEventData {
1180+
export interface GridEventArgs<T extends SlickData> {
1181+
grid: Grid<T>;
1182+
}
1183+
1184+
export interface OnCellCssStylesChangedEventArgs<T extends SlickData> extends GridEventArgs<T> {
11811185
key: string;
11821186
hash: CellCssStylesHash;
11831187
}
11841188

1185-
export interface OnSelectedRowsChangedEventData {
1189+
export interface OnSelectedRowsChangedEventArgs<T extends SlickData> extends GridEventArgs<T> {
11861190
rows: number[];
11871191
}
11881192

1189-
export interface OnDragEndEventData {
1193+
export interface OnDragEndEventArgs<T extends SlickData> extends GridEventArgs<T> {
11901194
// todo: need to understand $canvas drag event parameter's 'dd' object
11911195
// the documentation is not enlightening
11921196
}
11931197

1194-
export interface OnDragEventData {
1198+
export interface OnDragEventArgs<T extends SlickData> extends GridEventArgs<T> {
11951199
// todo: need to understand $canvas drag event parameter's 'dd' object
11961200
// the documentation is not enlightening
11971201
}
11981202

1199-
export interface OnDragStartEventData {
1203+
export interface OnDragStartEventArgs<T extends SlickData> extends GridEventArgs<T> {
12001204
// todo: need to understand $canvas drag event parameter's 'dd' object
12011205
// the documentation is not enlightening
12021206
}
12031207

1204-
export interface OnDragInitEventData {
1208+
export interface OnDragInitEventArgs<T extends SlickData> extends GridEventArgs<T> {
12051209
// todo: need to understand $canvas drag event parameter's 'dd' object
12061210
// the documentation is not enlightening
12071211
}
12081212

1209-
export interface OnActiveCellPositionChangedEventData {
1213+
export interface OnActiveCellPositionChangedEventArgs<T extends SlickData> extends GridEventArgs<T> {
12101214

12111215
}
12121216

1213-
export interface OnActiveCellChangedEventData {
1217+
export interface OnActiveCellChangedEventArgs<T extends SlickData> extends GridEventArgs<T> {
12141218
row: number;
12151219
cell: number;
12161220
}
12171221

1218-
export interface OnBeforeDestroyEventData {
1222+
export interface OnBeforeDestroyEventArgs<T extends SlickData> extends GridEventArgs<T> {
12191223

12201224
}
12211225

1222-
export interface OnBeforeCellEditorDestroyEventData<T extends Slick.SlickData> {
1226+
export interface OnBeforeCellEditorDestroyEventArgs<T extends SlickData> extends GridEventArgs<T> {
12231227
editor: Editors.Editor<T>;
12241228
}
12251229

1226-
export interface OnBeforeEditCellEventData<T extends SlickData> {
1230+
export interface OnBeforeEditCellEventArgs<T extends SlickData> extends GridEventArgs<T> {
12271231
row: number;
12281232
cell: number;
12291233
item: T;
12301234
column: Column<T>;
12311235
}
12321236

1233-
export interface OnCellChangeEventData<T extends SlickData> {
1237+
export interface OnCellChangeEventArgs<T extends SlickData> extends GridEventArgs<T> {
12341238
row: number;
12351239
cell: number;
12361240
item: T;
12371241
}
12381242

1239-
export interface OnColumnsResizedEventData {
1243+
export interface OnColumnsResizedEventArgs<T extends SlickData> extends GridEventArgs<T> {
12401244

12411245
}
12421246

1243-
export interface OnColumnsReorderedEventData {
1247+
export interface OnColumnsReorderedEventArgs<T extends SlickData> extends GridEventArgs<T> {
12441248

12451249
}
12461250

1247-
export interface OnValidationErrorEventData<T extends SlickData> {
1251+
export interface OnValidationErrorEventArgs<T extends SlickData> extends GridEventArgs<T> {
12481252
editor: Editors.Editor<T>;
12491253
cellNode: HTMLElement;
12501254
validationResults: ValidateResults;
@@ -1253,90 +1257,89 @@ declare module Slick {
12531257
column: Column<T>;
12541258
}
12551259

1256-
export interface OnAddNewRowEventData<T extends SlickData> {
1260+
export interface OnAddNewRowEventArgs<T extends SlickData> extends GridEventArgs<T> {
12571261
item: T;
12581262
column: Column<T>;
12591263
}
12601264

1261-
export interface OnKeyDownEventData {
1265+
export interface OnKeyDownEventArgs<T extends SlickData> extends GridEventArgs<T> {
12621266
row: number;
12631267
cell: number;
12641268
}
12651269

1266-
export interface OnContextMenuEventData {
1270+
export interface OnContextMenuEventArgs<T extends SlickData> extends GridEventArgs<T> {
12671271

12681272
}
12691273

1270-
export interface OnDblClickEventData {
1274+
export interface OnDblClickEventArgs<T extends SlickData> extends GridEventArgs<T> {
12711275
row: number;
12721276
cell: number;
12731277
}
12741278

1275-
export interface OnClickEventData {
1279+
export interface OnClickEventArgs<T extends SlickData> extends GridEventArgs<T> {
12761280
row: number;
12771281
cell: number;
12781282
}
12791283

1280-
export interface OnMouseLeaveEventData {
1284+
export interface OnMouseLeaveEventArgs<T extends SlickData> extends GridEventArgs<T> {
12811285

12821286
}
12831287

1284-
export interface OnMouseEnterEventData {
1288+
export interface OnMouseEnterEventArgs<T extends SlickData> extends GridEventArgs<T> {
12851289

12861290
}
12871291

1288-
export interface OnBeforeHeaderRowCellDestroyEventData<T extends SlickData> {
1292+
export interface OnBeforeHeaderRowCellDestroyEventArgs<T extends SlickData> extends GridEventArgs<T> {
12891293
node: HTMLElement; // todo: might be JQuery instance
12901294
column: Column<T>;
12911295
}
12921296

1293-
export interface OnHeaderRowCellRenderedEventData<T extends SlickData> {
1297+
export interface OnHeaderRowCellRenderedEventArgs<T extends SlickData> extends GridEventArgs<T> {
12941298
node: HTMLElement; // todo: might be JQuery instance
12951299
column: Column<T>;
12961300
}
12971301

1298-
export interface OnBeforeHeaderCellDestroyEventData<T extends SlickData> {
1302+
export interface OnBeforeHeaderCellDestroyEventArgs<T extends SlickData> extends GridEventArgs<T> {
12991303
node: HTMLElement; // todo: might be JQuery instance
13001304
column: Column<T>;
13011305
}
13021306

1303-
export interface OnHeaderCellRenderedEventData<T extends SlickData> {
1307+
export interface OnHeaderCellRenderedEventArgs<T extends SlickData> extends GridEventArgs<T> {
13041308
node: HTMLElement; // todo: might be JQuery instance
13051309
column: Column<T>;
13061310
}
13071311

1308-
export interface OnHeaderClickEventData<T extends SlickData> {
1312+
export interface OnHeaderClickEventArgs<T extends SlickData> extends GridEventArgs<T> {
13091313
column: Column<T>;
13101314
}
13111315

1312-
export interface OnHeaderContextMenuEventData<T extends SlickData> {
1316+
export interface OnHeaderContextMenuEventArgs<T extends SlickData> extends GridEventArgs<T> {
13131317
column: Column<T>;
13141318
}
13151319

1316-
export interface OnHeaderMouseEventData<T extends SlickData> {
1320+
export interface OnHeaderMouseEventArgs<T extends SlickData> extends GridEventArgs<T> {
13171321
column: Column<T>;
13181322
}
13191323

1320-
// todo: merge with existing column definition
1321-
export interface Column<T extends SlickData> {
1322-
sortCol?: Column<T>;
1323-
sortAsc?: boolean;
1324-
}
1325-
1326-
export interface OnSortEventData<T extends SlickData> {
1324+
export interface OnSortEventArgs<T extends SlickData> extends GridEventArgs<T> {
13271325
multiColumnSort: boolean;
1328-
sortCol?: Column<T>;
1329-
sortCols: Column<T>[];
1330-
sortAsc?: boolean;
1326+
sortCol?: SortColumn<T>;
1327+
sortCols?: SortColumn<T>[];
1328+
sortAsc: boolean;
13311329
}
13321330

1333-
export interface OnScrollEventData {
1331+
export interface OnScrollEventArgs<T extends SlickData> extends GridEventArgs<T> {
13341332
scrollLeft: number;
13351333
scrollTop: number;
13361334
}
13371335

1338-
export interface OnViewportChangedEventData {
1336+
export interface OnViewportChangedEventArgs<T extends SlickData> extends GridEventArgs<T> {
1337+
1338+
}
13391339

1340+
export interface SortColumn<T extends SlickData> {
1341+
sortCol: Column<T>;
1342+
sortAsc: boolean;
13401343
}
13411344

13421345
export interface Cell {
@@ -1449,7 +1452,7 @@ declare module Slick {
14491452
}
14501453
}
14511454

1452-
export interface Formatter<T extends Slick.SlickData> {
1455+
export interface Formatter<T extends SlickData> {
14531456
(row: number, cell: number, value: any, columnDef: Column<T>, dataContext: SlickData): string;
14541457
}
14551458

slickgrid/slick.headerbuttons.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ declare module Slick {
2424
tooltip?: string;
2525
}
2626

27-
export interface OnCommandEventData<T extends SlickData> {
27+
export interface OnCommandEventArgs<T extends SlickData> {
2828
grid: Grid<T>;
2929
column: Column<T>;
3030
command: string;
@@ -35,7 +35,7 @@ declare module Slick {
3535

3636
export class HeaderButtons<T extends SlickData> extends Plugin<T> {
3737
constructor();
38-
public onCommand: Event<OnCommandEventData<T>>;
38+
public onCommand: Event<OnCommandEventArgs<T>>;
3939
}
4040
}
4141
}

0 commit comments

Comments
 (0)