From c5e34910fde66ec823dde887dcfb5660c5085af2 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 29 May 2019 16:50:26 +0100 Subject: [PATCH 1/5] `EuiTableHeaderCellCheckbox` convert to TS --- .../__snapshots__/basic_table.test.js.snap | 8 ------ ... table_header_cell_checkbox.test.tsx.snap} | 1 - src/components/table/index.d.ts | 24 ++++++---------- .../table/table_header_cell_checkbox.js | 27 ------------------ ...js => table_header_cell_checkbox.test.tsx} | 2 +- .../table/table_header_cell_checkbox.tsx | 28 +++++++++++++++++++ 6 files changed, 37 insertions(+), 53 deletions(-) rename src/components/table/__snapshots__/{table_header_cell_checkbox.test.js.snap => table_header_cell_checkbox.test.tsx.snap} (95%) delete mode 100644 src/components/table/table_header_cell_checkbox.js rename src/components/table/{table_header_cell_checkbox.test.js => table_header_cell_checkbox.test.tsx} (85%) create mode 100644 src/components/table/table_header_cell_checkbox.tsx diff --git a/src/components/basic_table/__snapshots__/basic_table.test.js.snap b/src/components/basic_table/__snapshots__/basic_table.test.js.snap index ddf79db73d0..91358ae05b6 100644 --- a/src/components/basic_table/__snapshots__/basic_table.test.js.snap +++ b/src/components/basic_table/__snapshots__/basic_table.test.js.snap @@ -759,7 +759,6 @@ exports[`EuiBasicTable footers render with pagination, selection, sorting, and f
& - EuiTableHeaderCellCheckboxProps - >; + export type EuiTableHeaderCellCheckboxScope = TableHeaderCellCheckboxScope; + export interface EuiTableHeaderCellCheckboxProps extends TableHeaderCellCheckboxProps {} + export const EuiTableHeaderCellCheckbox: typeof TableHeaderCellCheckbox; /** * table row type defs diff --git a/src/components/table/table_header_cell_checkbox.js b/src/components/table/table_header_cell_checkbox.js deleted file mode 100644 index 9a693cafe05..00000000000 --- a/src/components/table/table_header_cell_checkbox.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import classNames from 'classnames'; - -export const EuiTableHeaderCellCheckbox = ({ - children, - className, - ...rest -}) => { - const classes = classNames('euiTableHeaderCellCheckbox', className); - - return ( - -
{children}
- - ); -}; - -EuiTableHeaderCellCheckbox.propTypes = { - children: PropTypes.node, - className: PropTypes.string, - scope: PropTypes.oneOf(['col', 'row', 'colgroup', 'rowgroup']), -}; - -EuiTableHeaderCellCheckbox.defaultProps = { - scope: 'col', -}; diff --git a/src/components/table/table_header_cell_checkbox.test.js b/src/components/table/table_header_cell_checkbox.test.tsx similarity index 85% rename from src/components/table/table_header_cell_checkbox.test.js rename to src/components/table/table_header_cell_checkbox.test.tsx index 7006be16903..ecdf60136a3 100644 --- a/src/components/table/table_header_cell_checkbox.test.js +++ b/src/components/table/table_header_cell_checkbox.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render } from 'enzyme'; -import { requiredProps } from '../../test/required_props'; +import { requiredProps } from '../../test'; import { EuiTableHeaderCellCheckbox } from './table_header_cell_checkbox'; diff --git a/src/components/table/table_header_cell_checkbox.tsx b/src/components/table/table_header_cell_checkbox.tsx new file mode 100644 index 00000000000..06bbd4066d2 --- /dev/null +++ b/src/components/table/table_header_cell_checkbox.tsx @@ -0,0 +1,28 @@ +import React, { FunctionComponent, TdHTMLAttributes } from 'react'; +import classNames from 'classnames'; +import { CommonProps } from '../common'; + +export type EuiTableHeaderCellCheckboxScope = + | 'col' + | 'row' + | 'colgroup' + | 'rowgroup'; + +export interface EuiTableHeaderCellCheckboxProps { + width?: string; + scope?: EuiTableHeaderCellCheckboxScope; +} + +export const EuiTableHeaderCellCheckbox: FunctionComponent< + CommonProps & + TdHTMLAttributes & + EuiTableHeaderCellCheckboxProps +> = ({ children, className, ...rest }) => { + const classes = classNames('euiTableHeaderCellCheckbox', className); + + return ( + +
{children}
+ + ); +}; From 5fa214eae837ab138ecac4b2d4c77dbcf46994e2 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 29 May 2019 11:40:52 +0100 Subject: [PATCH 2/5] `EuiTableHeaderCellCheckbox` convert to TS --- .../__snapshots__/table_header_cell_checkbox.test.tsx.snap | 1 + src/components/table/table_header_cell_checkbox.tsx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/table/__snapshots__/table_header_cell_checkbox.test.tsx.snap b/src/components/table/__snapshots__/table_header_cell_checkbox.test.tsx.snap index 565a741d0aa..4e921b9ccd6 100644 --- a/src/components/table/__snapshots__/table_header_cell_checkbox.test.tsx.snap +++ b/src/components/table/__snapshots__/table_header_cell_checkbox.test.tsx.snap @@ -5,6 +5,7 @@ exports[`EuiTableHeaderCellCheckbox is rendered 1`] = ` aria-label="aria-label" class="euiTableHeaderCellCheckbox testClass1 testClass2" data-test-subj="test subject string" + scope="col" >
& EuiTableHeaderCellCheckboxProps -> = ({ children, className, ...rest }) => { +> = ({ children, className, scope = 'col', ...rest }) => { const classes = classNames('euiTableHeaderCellCheckbox', className); return ( - +
{children}
); From b197d83245932a46e1c14bd64f9592e0f268e847 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 29 May 2019 16:44:59 +0100 Subject: [PATCH 3/5] `EuiTableHeaderCellCheckbox` convert to TS --- src/components/table/table_header_cell_checkbox.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/table/table_header_cell_checkbox.tsx b/src/components/table/table_header_cell_checkbox.tsx index 849ee2d2fc0..ef28282fdca 100644 --- a/src/components/table/table_header_cell_checkbox.tsx +++ b/src/components/table/table_header_cell_checkbox.tsx @@ -15,7 +15,7 @@ export interface EuiTableHeaderCellCheckboxProps { export const EuiTableHeaderCellCheckbox: FunctionComponent< CommonProps & - TdHTMLAttributes & + TdHTMLAttributes & EuiTableHeaderCellCheckboxProps > = ({ children, className, scope = 'col', ...rest }) => { const classes = classNames('euiTableHeaderCellCheckbox', className); From 63c67c87cabf4786ca34cc6f3776fe78832ad753 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 29 May 2019 16:55:19 +0100 Subject: [PATCH 4/5] `EuiTableHeaderCellCheckbox` Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50dc5b17070..031146ca41d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## [`master`](https://github.com/elastic/eui/tree/master) +- Converted `EuiTableRowHeaderCheckbox` to TS ([#1973](https://github.com/elastic/eui/pull/1973)) - Converted `EuiTableRowCellCheckbox` to TS ([#1964](https://github.com/elastic/eui/pull/1964)) - Update `caniuse-lite` version resolution ([#1970](https://github.com/elastic/eui/pull/1970)) - Add a webpack directive for naming icon chunks ([#1944])(https://github.com/elastic/eui/pull/1944)) From abf7398b7c29ca6719740757cd4ba917d8bb4d72 Mon Sep 17 00:00:00 2001 From: Theo Date: Fri, 31 May 2019 10:20:48 +0100 Subject: [PATCH 5/5] `EuiTableHeaderCellCheckbox` Code review --- src/components/table/table_header_cell_checkbox.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/table/table_header_cell_checkbox.tsx b/src/components/table/table_header_cell_checkbox.tsx index ef28282fdca..7057458a25e 100644 --- a/src/components/table/table_header_cell_checkbox.tsx +++ b/src/components/table/table_header_cell_checkbox.tsx @@ -1,4 +1,4 @@ -import React, { FunctionComponent, TdHTMLAttributes } from 'react'; +import React, { FunctionComponent, ThHTMLAttributes } from 'react'; import classNames from 'classnames'; import { CommonProps } from '../common'; @@ -15,7 +15,7 @@ export interface EuiTableHeaderCellCheckboxProps { export const EuiTableHeaderCellCheckbox: FunctionComponent< CommonProps & - TdHTMLAttributes & + ThHTMLAttributes & EuiTableHeaderCellCheckboxProps > = ({ children, className, scope = 'col', ...rest }) => { const classes = classNames('euiTableHeaderCellCheckbox', className);