From ea0a353f21ab09fe70b683b8fc9589e2ce0495ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Nov=C3=A1k?= Date: Thu, 27 Apr 2017 00:02:03 +0200 Subject: [PATCH] React-data-grid: adding Data and DraggableHeader (#15941) * added Data + DraggableHeader in react-data-grid-addons types * React-data-grid: adding Data and DraggableHeader * edit test + more specific Selectors * change Object to object --- types/react-data-grid/index.d.ts | 21 ++++++++++++++++--- .../react-data-grid/react-data-grid-tests.tsx | 9 +++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/types/react-data-grid/index.d.ts b/types/react-data-grid/index.d.ts index 3db701477b..e22d8743a3 100644 --- a/types/react-data-grid/index.d.ts +++ b/types/react-data-grid/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for react-data-grid 2.0 // Project: https://github.com/adazzle/react-data-grid.git -// Definitions by: Simon Gellis , Kieran Peat +// Definitions by: Simon Gellis , Kieran Peat , Martin Novak // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 @@ -464,6 +464,15 @@ declare namespace AdazzleReactDataGridPlugins { export class DropDownFormatter extends React.Component { } } export class Toolbar extends React.Component {} + export namespace DraggableHeader { + export class DraggableContainer extends React.Component{ } + } + export namespace Data { + export const Selectors: { + getRows: (state: object) => object[]; + getSelectedRowsByKey: (state: object) => object[]; + } + } // TODO: re-export the react-contextmenu typings once those exist // https://github.com/vkbansal/react-contextmenu/issues/10 export namespace Menu { @@ -497,13 +506,17 @@ declare module "react-data-grid-addons" { import Formatters = Plugins.Formatters; import Toolbar = Plugins.Toolbar; import Menu = Plugins.Menu; + import Data = Plugins.Data; + import DraggableHeader = Plugins.DraggableHeader; // ES6 named exports export { Editors, Formatters, Toolbar, - Menu + Menu, + Data, + DraggableHeader } // attach to window @@ -513,7 +526,9 @@ declare module "react-data-grid-addons" { Editors: typeof Editors Formatters: typeof Formatters Toolbar: typeof Toolbar - Menu: typeof Menu + Menu: typeof Menu, + Data: typeof Data, + DraggableHeader: typeof DraggableHeader } } } diff --git a/types/react-data-grid/react-data-grid-tests.tsx b/types/react-data-grid/react-data-grid-tests.tsx index 287a74c449..6d5ff3b4da 100644 --- a/types/react-data-grid/react-data-grid-tests.tsx +++ b/types/react-data-grid/react-data-grid-tests.tsx @@ -7,7 +7,7 @@ var Editors = ReactDataGridPlugins.Editors; var Toolbar = ReactDataGridPlugins.Toolbar; var AutoCompleteEditor = Editors.AutoComplete; var DropDownEditor = Editors.DropDownEditor; - +var { Selectors } = ReactDataGridPlugins.Data; class CustomFilterHeaderCell extends React.Component { constructor(props: any, context: any) { @@ -253,6 +253,12 @@ class Example extends React.Component { // Do nothing, just test that it accepts an event } + getRows() { + const rows = Selectors.getRows(this.state); + console.log(rows); + return rows; + } + handleAddRow(e:any) { var newRow = { value: e.newRowIndex, @@ -266,6 +272,7 @@ class Example extends React.Component { } getRowAt(index:number) { + this.getRows(); if (index < 0 || index > this.getSize()) { return undefined; }