diff --git a/docs/README.md b/docs/README.md index 14c3cf3..f1d3d9e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -38,4 +38,7 @@ Same as `.table-hover` class for adding a hover effect (grey background color) o Same as `.table-condensed` class for makeing a table more compact by cutting cell padding in half ### cellEdit - [Object] -`cellEdit` props accept an object, please see [cellEdit definition](./cell-edit-prop.md) for more detail. +`cellEdit` allow you to enable cell editing on table, please see [cellEdit definition](./cell-edit.md) for more detail. + +### selectRow - [Object] +`selectRow` allow you to have a mechanism to select rows, please see [selectRow definition](./row-selection.md) for more detail. \ No newline at end of file diff --git a/docs/cell-edit-prop.md b/docs/cell-edit.md similarity index 100% rename from docs/cell-edit-prop.md rename to docs/cell-edit.md diff --git a/docs/row-selection.md b/docs/row-selection.md index b9a31c9..87626ab 100644 --- a/docs/row-selection.md +++ b/docs/row-selection.md @@ -1,6 +1,6 @@ # Row selection -`react-bootstrap-table2` supports the row selection feature. By passing prop `selectRow ` to enable row selection. When you enable this feature, `react-bootstrap-table2` will append a new selection column at first. +`react-bootstrap-table2` supports the row selection feature. By passing prop `selectRow` to enable row selection. When you enable this feature, `react-bootstrap-table2` will append a new selection column at first. ## Available properties @@ -8,7 +8,7 @@ The following are available properties in `selectRow`: #### Required -* [mode (required)](#mode) +* [mode (**required**)](#mode) #### Optional @@ -23,7 +23,7 @@ Specifying the selection way for `single(radio)` or `multiple(checkbox)`. If `ra #### examples ```js -const selectRowProp = { +const selectRow = { mode: 'radio' // single row selection }; * @returns {Object} result - props for cell selections * @returns {String} result.mode - input type of row selection or disabled. */ - resolveCellSelectionProps(options) { + resolveSelectRowProps(options) { const { selectRow } = this.props; const { ROW_SELECT_DISABLED } = Const; @@ -71,7 +71,7 @@ export default ExtendBase => * @returns {String} result.mode - input type of row selection or disabled. * @returns {String} result.checkedStatus - checkbox status depending on selected rows counts */ - resolveHeaderCellSelectionProps(options = {}) { + resolveSelectRowPropsForHeader(options = {}) { const { selectRow } = this.props; const { allRowsSelected, selected = [], ...rest } = options; const { diff --git a/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js b/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js index 08516d1..b23e52c 100644 --- a/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js +++ b/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js @@ -1,7 +1,7 @@ /* eslint react/require-default-props: 0 */ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import Constant from '../const'; +import Const from '../const'; export const CheckBox = ({ checked, indeterminate }) => ( { let wrapper; diff --git a/packages/react-bootstrap-table2/test/header.test.js b/packages/react-bootstrap-table2/test/header.test.js index bd45f41..9d121f4 100644 --- a/packages/react-bootstrap-table2/test/header.test.js +++ b/packages/react-bootstrap-table2/test/header.test.js @@ -5,7 +5,7 @@ import HeaderCell from '../src/header-cell'; import SelectionHeaderCell from '../src//row-selection/selection-header-cell'; import Header from '../src/header'; import Const from '../src/const'; -import mockHeaderResolvedProps from '../test/mock-data/header-resolved-props'; +import mockHeaderResolvedProps from './test-helpers/mock/header-resolved-props'; describe('Header', () => { let wrapper; diff --git a/packages/react-bootstrap-table2/test/mock-data/header-resolved-props.js b/packages/react-bootstrap-table2/test/mock-data/header-resolved-props.js deleted file mode 100644 index 23ab27e..0000000 --- a/packages/react-bootstrap-table2/test/mock-data/header-resolved-props.js +++ /dev/null @@ -1,11 +0,0 @@ -import Const from '../../src/const'; - -const { ROW_SELECT_DISABLED } = Const; - -export const headerCellSelectionResolvedProps = { - mode: ROW_SELECT_DISABLED -}; - -export default { - selectRow: headerCellSelectionResolvedProps -}; diff --git a/packages/react-bootstrap-table2/test/props-resolver/index.test.js b/packages/react-bootstrap-table2/test/props-resolver/index.test.js index 840db69..79eabb4 100644 --- a/packages/react-bootstrap-table2/test/props-resolver/index.test.js +++ b/packages/react-bootstrap-table2/test/props-resolver/index.test.js @@ -131,7 +131,7 @@ describe('TableResolver', () => { }); }); - describe('resolveCellSelectionProps', () => { + describe('resolveSelectRowProps', () => { let cellSelectionInfo; let selectRow; @@ -141,7 +141,7 @@ describe('TableResolver', () => { data, keyField, columns }, null); wrapper = shallow(mockElement); - cellSelectionInfo = wrapper.instance().resolveCellSelectionProps(); + cellSelectionInfo = wrapper.instance().resolveSelectRowProps(); }); it('should return object', () => { @@ -162,7 +162,7 @@ describe('TableResolver', () => { data, keyField, columns, selectRow }, null); wrapper = shallow(mockElement); - cellSelectionInfo = wrapper.instance().resolveCellSelectionProps(); + cellSelectionInfo = wrapper.instance().resolveSelectRowProps(); expect(cellSelectionInfo).toBeDefined(); expect(cellSelectionInfo.constructor).toEqual(Object); @@ -175,7 +175,7 @@ describe('TableResolver', () => { data, keyField, columns, selectRow }, null); wrapper = shallow(mockElement); - cellSelectionInfo = wrapper.instance().resolveCellSelectionProps(); + cellSelectionInfo = wrapper.instance().resolveSelectRowProps(); expect(cellSelectionInfo).toBeDefined(); expect(cellSelectionInfo.constructor).toEqual(Object); @@ -194,7 +194,7 @@ describe('TableResolver', () => { data, keyField, columns, selectRow }, null); wrapper = shallow(mockElement); - cellSelectionInfo = wrapper.instance().resolveCellSelectionProps(mockOptions); + cellSelectionInfo = wrapper.instance().resolveSelectRowProps(mockOptions); }); it('should return object which contain options', () => { @@ -207,7 +207,7 @@ describe('TableResolver', () => { }); }); - describe('resolveHeaderCellSelectionProps', () => { + describe('resolveSelectRowPropsForHeader', () => { let headerCellSelectionInfo; let selectRow; @@ -216,7 +216,7 @@ describe('TableResolver', () => { data, keyField, columns }, null); wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps(); + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader(); }); describe('if selectRow was not defined', () => { @@ -239,7 +239,7 @@ describe('TableResolver', () => { data, keyField, columns, selectedRowKeys, selectRow }, null); wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps(); + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader(); expect(headerCellSelectionInfo).toBeDefined(); expect(headerCellSelectionInfo.constructor).toEqual(Object); @@ -253,7 +253,7 @@ describe('TableResolver', () => { data, keyField, columns, selectedRowKeys, selectRow }, null); wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps(); + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader(); expect(headerCellSelectionInfo).toBeDefined(); expect(headerCellSelectionInfo.constructor).toEqual(Object); @@ -275,7 +275,7 @@ describe('TableResolver', () => { data, keyField, columns, selectedRowKeys, selectRow }, null); wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps(mockOptions); + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader(mockOptions); }); it('should return object which contain specified options', () => { @@ -304,7 +304,7 @@ describe('TableResolver', () => { wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps({ + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader({ allRowsSelected: true, selected: selectedRowKeys }); @@ -326,7 +326,7 @@ describe('TableResolver', () => { }, null); wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps({ + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader({ allRowsSelected: false, selected: selectedRowKeys }); @@ -349,7 +349,7 @@ describe('TableResolver', () => { wrapper = shallow(mockElement); - headerCellSelectionInfo = wrapper.instance().resolveHeaderCellSelectionProps({ + headerCellSelectionInfo = wrapper.instance().resolveSelectRowPropsForHeader({ allRowsSelected: false, selected: selectedRowKeys }); diff --git a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js index ae3837b..c877dac 100644 --- a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js +++ b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js @@ -2,7 +2,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import sinon from 'sinon'; -import Constant from '../../src/const'; +import Const from '../../src/const'; import SelectionHeaderCell, { CheckBox } from '../../src/row-selection/selection-header-cell'; let wrapper; @@ -20,7 +20,7 @@ describe('', () => { describe('when props.mode is checkbox', () => { describe('if checkedStatus prop has not been changed', () => { it('should not update component', () => { - const checkedStatus = Constant.CHECKBOX_STATUS_CHECKED; + const checkedStatus = Const.CHECKBOX_STATUS_CHECKED; const nextProps = { checkedStatus }; wrapper = shallow( @@ -32,7 +32,7 @@ describe('', () => { describe('if checkedStatus prop has been changed', () => { it('should update component', () => { - const { CHECKBOX_STATUS_INDETERMINATE, CHECKBOX_STATUS_CHECKED } = Constant; + const { CHECKBOX_STATUS_INDETERMINATE, CHECKBOX_STATUS_CHECKED } = Const; const checkedStatus = CHECKBOX_STATUS_CHECKED; const nextProps = { checkedStatus }; @@ -60,7 +60,7 @@ describe('', () => { wrapper = shallow( ); }); @@ -78,7 +78,7 @@ describe('', () => { wrapper = shallow( ); }); @@ -96,7 +96,7 @@ describe('', () => { describe('render', () => { describe('when props.mode is radio', () => { beforeEach(() => { - const checkedStatus = Constant.CHECKBOX_STATUS_CHECKED; + const checkedStatus = Const.CHECKBOX_STATUS_CHECKED; wrapper = shallow(); }); @@ -109,15 +109,15 @@ describe('', () => { }); describe('when props.mode is checkbox', () => { - const checkedStatus = Constant.CHECKBOX_STATUS_CHECKED; + const checkedStatus = Const.CHECKBOX_STATUS_CHECKED; beforeEach(() => { wrapper = shallow(); }); it('should render checkbox', () => { - const checked = checkedStatus === Constant.CHECKBOX_STATUS_CHECKED; - const indeterminate = checkedStatus === Constant.CHECKBOX_STATUS_INDETERMINATE; + const checked = checkedStatus === Const.CHECKBOX_STATUS_CHECKED; + const indeterminate = checkedStatus === Const.CHECKBOX_STATUS_INDETERMINATE; expect(wrapper.find('th').length).toBe(1); expect(wrapper.find('th[data-row-selection]').length).toBe(1); diff --git a/packages/react-bootstrap-table2/test/row.test.js b/packages/react-bootstrap-table2/test/row.test.js index ea17158..1e9d22f 100644 --- a/packages/react-bootstrap-table2/test/row.test.js +++ b/packages/react-bootstrap-table2/test/row.test.js @@ -7,7 +7,7 @@ import Row from '../src/row'; import Const from '../src/const'; import EditingCell from '../src/cell-edit/editing-cell'; import SelectionCell from '../src//row-selection/selection-cell'; -import mockBodyResolvedProps from '../test/mock-data/body-resolved-props'; +import mockBodyResolvedProps from './test-helpers/mock/body-resolved-props'; const defaultColumns = [{ dataField: 'id', diff --git a/packages/react-bootstrap-table2/test/mock-data/body-resolved-props.js b/packages/react-bootstrap-table2/test/test-helpers/mock/body-resolved-props.js similarity index 64% rename from packages/react-bootstrap-table2/test/mock-data/body-resolved-props.js rename to packages/react-bootstrap-table2/test/test-helpers/mock/body-resolved-props.js index d95bf3e..0eafb00 100644 --- a/packages/react-bootstrap-table2/test/mock-data/body-resolved-props.js +++ b/packages/react-bootstrap-table2/test/test-helpers/mock/body-resolved-props.js @@ -1,8 +1,8 @@ -import Const from '../../src/const'; +import Const from '../../../src/const'; const { ROW_SELECT_DISABLED, UNABLE_TO_CELL_EDIT } = Const; -export const cellSelectionResolvedProps = { +export const rowSelectionResolvedProps = { mode: ROW_SELECT_DISABLED }; @@ -12,5 +12,5 @@ export const cellEditResolvedProps = { export default { cellEdit: cellEditResolvedProps, - selectRow: cellSelectionResolvedProps + selectRow: rowSelectionResolvedProps }; diff --git a/packages/react-bootstrap-table2/test/test-helpers/mock/header-resolved-props.js b/packages/react-bootstrap-table2/test/test-helpers/mock/header-resolved-props.js new file mode 100644 index 0000000..bcc8a2b --- /dev/null +++ b/packages/react-bootstrap-table2/test/test-helpers/mock/header-resolved-props.js @@ -0,0 +1,11 @@ +import Const from '../../../src/const'; + +const { ROW_SELECT_DISABLED } = Const; + +export const rowSelectionResolvedProps = { + mode: ROW_SELECT_DISABLED +}; + +export default { + selectRow: rowSelectionResolvedProps +};