From 91ffde5df1f7067254394d117d3654faea23c862 Mon Sep 17 00:00:00 2001 From: Steven Liekens Date: Tue, 7 Feb 2017 11:13:11 +0100 Subject: [PATCH] Improve declaration of FunctionColumnData Resolves #12686 --- jquery.datatables/index.d.ts | 3 ++- jquery.datatables/jquery.datatables-tests.ts | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jquery.datatables/index.d.ts b/jquery.datatables/index.d.ts index 5d1bbd50c9..2640dbabe6 100644 --- a/jquery.datatables/index.d.ts +++ b/jquery.datatables/index.d.ts @@ -1587,7 +1587,8 @@ declare namespace DataTables { } interface FunctionColumnData { - (row: any, t: string, s: any, meta: CellMetaSettings): void; + (row: any, t: 'set', s: any, meta: CellMetaSettings): void; + (row: any, t: 'display' | 'sort' | 'filter' | 'type', s: undefined, meta: CellMetaSettings): any; } interface ObjectColumnData { diff --git a/jquery.datatables/jquery.datatables-tests.ts b/jquery.datatables/jquery.datatables-tests.ts index 1bf6e26593..3bcc931a5f 100644 --- a/jquery.datatables/jquery.datatables-tests.ts +++ b/jquery.datatables/jquery.datatables-tests.ts @@ -43,10 +43,17 @@ $(document).ready(function () { sort: "asc" }; - var colDataFunc: DataTables.FunctionColumnData = function (row, type, set, meta) { + var colDataFunc: DataTables.FunctionColumnData = (row: any, type: 'set' | 'display' | 'sort' | 'filter' | 'type', set: any, meta: DataTables.CellMetaSettings) => { meta.col; meta.row; meta.settings; + switch (type) { + case 'set': + row.value = set; + return; + default: + return row.value; + } }; var colRenderObject: DataTables.ObjectColumnRender = { @@ -276,7 +283,7 @@ $(document).ready(function () { bScrollbarLeft: true, bScrollOversize: true } - + //#endregion //#region "Init"