From 8e98757a32779cbc0c4a4fb260d490c9ad70f9ec Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Wed, 14 Mar 2018 14:05:27 +0800 Subject: [PATCH 01/15] Update index.d.ts Change accordingly to datatable. --- types/datatables.net/index.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/datatables.net/index.d.ts b/types/datatables.net/index.d.ts index cdddc98789..7941d0586f 100644 --- a/types/datatables.net/index.d.ts +++ b/types/datatables.net/index.d.ts @@ -1297,7 +1297,7 @@ declare namespace DataTables { /** * Data to use as the display data for the table. Since: 1.10 */ - data?: object; + data?: Object[]; //#endregion "Data" @@ -1931,6 +1931,7 @@ declare namespace DataTables { } interface ColumnLegacy { + idx: number; aDataSort: any; asSorting: string[]; bSearchable: boolean; From 68e71f096b02e611a134fb7b571fb0a6075dfefb Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Wed, 14 Mar 2018 14:46:17 +0800 Subject: [PATCH 02/15] Update index.d.ts Add style api --- types/datatables.net-select/index.d.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/types/datatables.net-select/index.d.ts b/types/datatables.net-select/index.d.ts index e24f6b8ab6..5ceac21eaf 100644 --- a/types/datatables.net-select/index.d.ts +++ b/types/datatables.net-select/index.d.ts @@ -46,4 +46,17 @@ declare namespace DataTables { */ style?: string; } + + interface Api { + select: { + /* + * Get the current selection style applied to the table + */ + style(): string; + /* + * Set the table's selection style + */ + style(s: "api" | "single" | "multi" | "os"): Api; + } + } } From 50f05dff6452f785ad9f4e2cba9cea52cc0f7a27 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Wed, 14 Mar 2018 14:51:26 +0800 Subject: [PATCH 03/15] Update index.d.ts --- types/datatables.net-select/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/datatables.net-select/index.d.ts b/types/datatables.net-select/index.d.ts index 5ceac21eaf..aa68f64969 100644 --- a/types/datatables.net-select/index.d.ts +++ b/types/datatables.net-select/index.d.ts @@ -44,7 +44,7 @@ declare namespace DataTables { /* * Set the selection style for end user interaction with the table */ - style?: string; + style?: "api" | "single" | "multi" | "os" | "multi+shift"; } interface Api { From d111b8e278658bc2772931bca46f345daea2e7e4 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 09:08:59 +0800 Subject: [PATCH 04/15] Update index.d.ts Not all events have the same args. --- types/datatables.net/index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/datatables.net/index.d.ts b/types/datatables.net/index.d.ts index 7941d0586f..f0d1b123fe 100644 --- a/types/datatables.net/index.d.ts +++ b/types/datatables.net/index.d.ts @@ -221,7 +221,7 @@ declare namespace DataTables { * @param event Event name to remove. * @param callback Specific callback function to remove if you want to unbind a single event listener. */ - off(event: string, callback?: ((e: Event, settings: Settings, json: any) => void)): Api; + off(event: string, callback?: ((e: Event, ...args: any[]) => void)): Api; /** * Table events listener. @@ -229,7 +229,7 @@ declare namespace DataTables { * @param event Event to listen for. * @param callback Specific callback function to remove if you want to unbind a single event listener. */ - on(event: string, callback: ((e: Event, settings: Settings, json: any) => void)): Api; + on(event: string, callback: ((e: Event, ...args: any[]) => void)): Api; /** * Listen for a table event once and then remove the listener. @@ -237,7 +237,7 @@ declare namespace DataTables { * @param event Event to listen for. * @param callback Specific callback function to remove if you want to unbind a single event listener. */ - one(event: string, callback: ((e: Event, settings: Settings, json: any) => void)): Api; + one(event: string, callback: ((e: Event, ...args: any[]) => void)): Api; /** * Page Methods / object From 934a9f1ba2f17bf20322feb0bfb5d70b49bd2851 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 09:12:08 +0800 Subject: [PATCH 05/15] Update index.d.ts Add api interface for select extension --- types/datatables.net-select/index.d.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/types/datatables.net-select/index.d.ts b/types/datatables.net-select/index.d.ts index aa68f64969..c242027069 100644 --- a/types/datatables.net-select/index.d.ts +++ b/types/datatables.net-select/index.d.ts @@ -59,4 +59,26 @@ declare namespace DataTables { style(s: "api" | "single" | "multi" | "os"): Api; } } + + interface RowMethods { + /** + * Select a row + */ + select(): Api; + /** + * Deselect a row + */ + deselect: Api; + } + + interface RowsMethods { + /** + * Select multiple rows + */ + select(): Api; + /** + * Deselect a row + */ + deselect(): Api; + } } From d1cff7a8ff8a8dc30249d50163c8739fe696bd93 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 09:16:54 +0800 Subject: [PATCH 06/15] Update index.d.ts --- types/datatables.net-select/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/datatables.net-select/index.d.ts b/types/datatables.net-select/index.d.ts index c242027069..a48cfe989b 100644 --- a/types/datatables.net-select/index.d.ts +++ b/types/datatables.net-select/index.d.ts @@ -68,7 +68,7 @@ declare namespace DataTables { /** * Deselect a row */ - deselect: Api; + deselect(): Api; } interface RowsMethods { From 357df72d924b2e3fdc76bb125c61b24eaeb682f2 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 11:12:01 +0800 Subject: [PATCH 07/15] Update index.d.ts Datatables api should be array-like, and accessable with index like array --- types/datatables.net/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/types/datatables.net/index.d.ts b/types/datatables.net/index.d.ts index f0d1b123fe..6bbc2e1137 100644 --- a/types/datatables.net/index.d.ts +++ b/types/datatables.net/index.d.ts @@ -28,6 +28,10 @@ declare namespace DataTables { } interface Api extends CoreMethods { + /** + * API should be array-like + */ + [key: number]: any; /** * Returns DataTables API instance * From f0c93f3a89e7670953d927660c5d1f1d304df0f3 Mon Sep 17 00:00:00 2001 From: Andy Ma Date: Tue, 27 Mar 2018 17:59:11 +0800 Subject: [PATCH 08/15] Add typing for ColReorder extension --- .../datatables.net-colreorder-tests.ts | 12 ++++ types/datatables.net-colreorder/index.d.ts | 64 +++++++++++++++++++ types/datatables.net-colreorder/tsconfig.json | 24 +++++++ types/datatables.net-colreorder/tslint.json | 1 + 4 files changed, 101 insertions(+) create mode 100644 types/datatables.net-colreorder/datatables.net-colreorder-tests.ts create mode 100644 types/datatables.net-colreorder/index.d.ts create mode 100644 types/datatables.net-colreorder/tsconfig.json create mode 100644 types/datatables.net-colreorder/tslint.json diff --git a/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts b/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts new file mode 100644 index 0000000000..9b73f3f0e0 --- /dev/null +++ b/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts @@ -0,0 +1,12 @@ +$(document).ready(() => { + const config: DataTables.Settings = { + // ColReorder extension options + colReorder: { + fixedColumnsLeft: 0, + fixedColumnsRight: 0, + order: [1,2,3], + realtime: true, + reorderCallback: ()=>{}, + } + }; +}); diff --git a/types/datatables.net-colreorder/index.d.ts b/types/datatables.net-colreorder/index.d.ts new file mode 100644 index 0000000000..80a9fa4e41 --- /dev/null +++ b/types/datatables.net-colreorder/index.d.ts @@ -0,0 +1,64 @@ +// Type definitions for datatables.net-colReorder 1.4 +// Project: https://datatables.net/extensions/colreorder/ +// Definitions by: Andy Ma +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +/// +/// + +declare namespace DataTables { + interface Settings { + /* + * colReorder extension options + */ + colReorder?: boolean | ColReorderSettings; + } + + interface ColReorderSettings { + /* + * Number of columns (counting from the left) to disallow reordering of, '0' in default + */ + fixedColumnsLeft?: number; + + /* + * Number of columns (counting from the right) to disallow reordering of, '0' in default + */ + fixedColumnsRight?: number; + + /* + * Set a default order for the columns in the table + */ + order?: number[]; + + /* + * Enable / disable live reordering of columns during a drag, 'true' in default + */ + realtime?: boolean; + /* + * Callback after reorder + */ + reorderCallback: Function; + } + + interface Api { + colReorder: { + /* + * Programmatically reorder columns + */ + move(from: number, to: number, drop: boolean, invalidate: boolean): Api; + /* + * Get / set column order + */ + order(newOrder?: number[], originalIndexes?: boolean): Api; + /* + * Restore the loaded column order + */ + reset(): Api; + /* + * Convert one or more column indexes to and from current and original indexes + */ + transpose(idx?: number | number[], direction?: "toCurrent" | "toOriginal" | "fromOriginal" | "fromCurrent"): Api; + } + } +} \ No newline at end of file diff --git a/types/datatables.net-colreorder/tsconfig.json b/types/datatables.net-colreorder/tsconfig.json new file mode 100644 index 0000000000..97ef7b2fc0 --- /dev/null +++ b/types/datatables.net-colreorder/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "datatables.net-colreorder-tests.ts" + ] +} \ No newline at end of file diff --git a/types/datatables.net-colreorder/tslint.json b/types/datatables.net-colreorder/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/datatables.net-colreorder/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From a36ed3e3f1e9b078d734f367d36cd7d83d0eaa26 Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 21:35:01 +0800 Subject: [PATCH 09/15] Update index.d.ts Add new line at the end of file --- types/datatables.net-colreorder/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/datatables.net-colreorder/index.d.ts b/types/datatables.net-colreorder/index.d.ts index 80a9fa4e41..3aad7a3050 100644 --- a/types/datatables.net-colreorder/index.d.ts +++ b/types/datatables.net-colreorder/index.d.ts @@ -61,4 +61,4 @@ declare namespace DataTables { transpose(idx?: number | number[], direction?: "toCurrent" | "toOriginal" | "fromOriginal" | "fromCurrent"): Api; } } -} \ No newline at end of file +} From f15c95af975405503bc17137a3c7ad78e701da0c Mon Sep 17 00:00:00 2001 From: Andyma <66229754@qq.com> Date: Tue, 27 Mar 2018 21:35:30 +0800 Subject: [PATCH 10/15] Update tsconfig.json Add new line at the end of file --- types/datatables.net-colreorder/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/datatables.net-colreorder/tsconfig.json b/types/datatables.net-colreorder/tsconfig.json index 97ef7b2fc0..ec5e47bb49 100644 --- a/types/datatables.net-colreorder/tsconfig.json +++ b/types/datatables.net-colreorder/tsconfig.json @@ -21,4 +21,4 @@ "index.d.ts", "datatables.net-colreorder-tests.ts" ] -} \ No newline at end of file +} From 1539c6a98b9a343b8c2bcf003c0f06da16fd019f Mon Sep 17 00:00:00 2001 From: Andy Ma Date: Wed, 28 Mar 2018 09:43:46 +0800 Subject: [PATCH 11/15] Fix build errors. --- .../datatables.net-colreorder-tests.ts | 4 ++-- types/datatables.net-colreorder/index.d.ts | 4 ++-- types/datatables.net-select/index.d.ts | 14 +++++++------- types/datatables.net/datatables.net-tests.ts | 2 +- types/datatables.net/index.d.ts | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts b/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts index 9b73f3f0e0..a6126baf44 100644 --- a/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts +++ b/types/datatables.net-colreorder/datatables.net-colreorder-tests.ts @@ -4,9 +4,9 @@ $(document).ready(() => { colReorder: { fixedColumnsLeft: 0, fixedColumnsRight: 0, - order: [1,2,3], + order: [1, 2, 3], realtime: true, - reorderCallback: ()=>{}, + reorderCallback: () => {}, } }; }); diff --git a/types/datatables.net-colreorder/index.d.ts b/types/datatables.net-colreorder/index.d.ts index 3aad7a3050..8254cd71dc 100644 --- a/types/datatables.net-colreorder/index.d.ts +++ b/types/datatables.net-colreorder/index.d.ts @@ -38,7 +38,7 @@ declare namespace DataTables { /* * Callback after reorder */ - reorderCallback: Function; + reorderCallback: () => void; } interface Api { @@ -59,6 +59,6 @@ declare namespace DataTables { * Convert one or more column indexes to and from current and original indexes */ transpose(idx?: number | number[], direction?: "toCurrent" | "toOriginal" | "fromOriginal" | "fromCurrent"): Api; - } + }; } } diff --git a/types/datatables.net-select/index.d.ts b/types/datatables.net-select/index.d.ts index a48cfe989b..563a51fc25 100644 --- a/types/datatables.net-select/index.d.ts +++ b/types/datatables.net-select/index.d.ts @@ -46,7 +46,7 @@ declare namespace DataTables { */ style?: "api" | "single" | "multi" | "os" | "multi+shift"; } - + interface Api { select: { /* @@ -57,17 +57,17 @@ declare namespace DataTables { * Set the table's selection style */ style(s: "api" | "single" | "multi" | "os"): Api; - } + }; } - + interface RowMethods { /** * Select a row */ select(): Api; /** - * Deselect a row - */ + * Deselect a row + */ deselect(): Api; } @@ -77,8 +77,8 @@ declare namespace DataTables { */ select(): Api; /** - * Deselect a row - */ + * Deselect a row + */ deselect(): Api; } } diff --git a/types/datatables.net/datatables.net-tests.ts b/types/datatables.net/datatables.net-tests.ts index e5cb5184fd..0c9f3db3cc 100644 --- a/types/datatables.net/datatables.net-tests.ts +++ b/types/datatables.net/datatables.net-tests.ts @@ -225,7 +225,7 @@ let config: DataTables.Settings = { ], // Data ajax: "url", - data: {}, + data: [], // Features autoWidth: true, deferRender: true, diff --git a/types/datatables.net/index.d.ts b/types/datatables.net/index.d.ts index 6bbc2e1137..c0a37145ab 100644 --- a/types/datatables.net/index.d.ts +++ b/types/datatables.net/index.d.ts @@ -1301,7 +1301,7 @@ declare namespace DataTables { /** * Data to use as the display data for the table. Since: 1.10 */ - data?: Object[]; + data?: any[]; //#endregion "Data" From 353076277e69d0b2f98fdcd2e3d0738b46b32aed Mon Sep 17 00:00:00 2001 From: Andy Ma Date: Wed, 28 Mar 2018 11:01:17 +0800 Subject: [PATCH 12/15] Add types for AutoFill extension --- .../datatables.net-autofill-tests.ts | 7 +++++ types/datatables.net-autofill/index.d.ts | 30 +++++++++++++++++++ types/datatables.net-autofill/tsconfig.json | 23 ++++++++++++++ types/datatables.net-autofill/tslint.json | 1 + 4 files changed, 61 insertions(+) create mode 100644 types/datatables.net-autofill/datatables.net-autofill-tests.ts create mode 100644 types/datatables.net-autofill/index.d.ts create mode 100644 types/datatables.net-autofill/tsconfig.json create mode 100644 types/datatables.net-autofill/tslint.json diff --git a/types/datatables.net-autofill/datatables.net-autofill-tests.ts b/types/datatables.net-autofill/datatables.net-autofill-tests.ts new file mode 100644 index 0000000000..50c178c6c5 --- /dev/null +++ b/types/datatables.net-autofill/datatables.net-autofill-tests.ts @@ -0,0 +1,7 @@ +const config: DataTables.Settings = { + // AutoFill extension options + autoFill: { + alwaysAsk: true, + enable: true + } +}; diff --git a/types/datatables.net-autofill/index.d.ts b/types/datatables.net-autofill/index.d.ts new file mode 100644 index 0000000000..e037c8dc47 --- /dev/null +++ b/types/datatables.net-autofill/index.d.ts @@ -0,0 +1,30 @@ +// Type definitions for datatables.net-autofill 2.2 +// Project: https://datatables.net +// Definitions by: Andy Ma +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +/// +/// + +declare namespace DataTables { + interface Settings { + /* + * autoFill extension options + */ + autoFill?: boolean | AutoFillSettings; + } + + interface AutoFillSettings { + /* + * Always ask the end user if an action should be taken or not + */ + alwaysAsk?: boolean; + + /* + * + * Initial enablement state of AutoFill + */ + enable?: boolean; + } +} diff --git a/types/datatables.net-autofill/tsconfig.json b/types/datatables.net-autofill/tsconfig.json new file mode 100644 index 0000000000..e17d5de5da --- /dev/null +++ b/types/datatables.net-autofill/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "datatables.net-autofill-tests.ts" + ] +} diff --git a/types/datatables.net-autofill/tslint.json b/types/datatables.net-autofill/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/datatables.net-autofill/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From d1b4a4aa93ca5ddfe329bfd146613945e1ff5b10 Mon Sep 17 00:00:00 2001 From: andy-maca <66229754@qq.com> Date: Wed, 28 Mar 2018 11:09:31 +0800 Subject: [PATCH 13/15] Add new property --- .../datatables.net-autofill/datatables.net-autofill-tests.ts | 3 ++- types/datatables.net-autofill/index.d.ts | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/types/datatables.net-autofill/datatables.net-autofill-tests.ts b/types/datatables.net-autofill/datatables.net-autofill-tests.ts index 50c178c6c5..0ad00b4395 100644 --- a/types/datatables.net-autofill/datatables.net-autofill-tests.ts +++ b/types/datatables.net-autofill/datatables.net-autofill-tests.ts @@ -2,6 +2,7 @@ const config: DataTables.Settings = { // AutoFill extension options autoFill: { alwaysAsk: true, - enable: true + enable: true, + columns: [1, 2] } }; diff --git a/types/datatables.net-autofill/index.d.ts b/types/datatables.net-autofill/index.d.ts index e037c8dc47..2d7eb0d856 100644 --- a/types/datatables.net-autofill/index.d.ts +++ b/types/datatables.net-autofill/index.d.ts @@ -20,7 +20,10 @@ declare namespace DataTables { * Always ask the end user if an action should be taken or not */ alwaysAsk?: boolean; - + /* + * Always ask the end user if an action should be taken or not + */ + columns: string | number[]; /* * * Initial enablement state of AutoFill From 4794a91ac5a35d67616d2a2426a8d3429c3ad5f4 Mon Sep 17 00:00:00 2001 From: andy-maca <66229754@qq.com> Date: Wed, 28 Mar 2018 11:28:11 +0800 Subject: [PATCH 14/15] Add property 'editor' --- types/datatables.net-autofill/index.d.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/types/datatables.net-autofill/index.d.ts b/types/datatables.net-autofill/index.d.ts index 2d7eb0d856..68075be5ca 100644 --- a/types/datatables.net-autofill/index.d.ts +++ b/types/datatables.net-autofill/index.d.ts @@ -21,9 +21,13 @@ declare namespace DataTables { */ alwaysAsk?: boolean; /* - * Always ask the end user if an action should be taken or not + * Select the columns that can be auto filled */ columns: string | number[]; + /* + * Attach an Editor instance for database updating + */ + editor: Object; /* * * Initial enablement state of AutoFill From 81d759c7e84ebc5ff01057536adc4f67823ad356 Mon Sep 17 00:00:00 2001 From: andy-maca <66229754@qq.com> Date: Thu, 29 Mar 2018 15:04:56 +0800 Subject: [PATCH 15/15] Fix build errors --- types/datatables.net-autofill/index.d.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/types/datatables.net-autofill/index.d.ts b/types/datatables.net-autofill/index.d.ts index 68075be5ca..2f05d608be 100644 --- a/types/datatables.net-autofill/index.d.ts +++ b/types/datatables.net-autofill/index.d.ts @@ -24,10 +24,6 @@ declare namespace DataTables { * Select the columns that can be auto filled */ columns: string | number[]; - /* - * Attach an Editor instance for database updating - */ - editor: Object; /* * * Initial enablement state of AutoFill