mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2025-10-16 11:55:39 +00:00
* implement row single and multiple selection * radio button for single, checkbox for multiple * update component if status was changing * implement header cell for row selection * render checkbox for multiple, nothing for single * default css for th[data-th-row-selection] * update component if status was changing * transform cursor to pointer when hover button radio and checkbox * story for single and multiple rows selection * remove props required field and turn off eslint * [test] adapt with other component * props resolver for cell selection * if row selection was disabled, return mode 'ROW_SELECT_DISABLED' * refactor row selection cell * rename to selection-cell * remove unnecessary props * better coding style * props resolver for header cell selection * refactor row selection for header cell * rename to selection-header-cell * remove unnecessary props * better coding style * new logic for handleSelectAllRows * tunning for multi selection logic * allow user to customize select all result * remove cursor point * remove uncessary utils * tunning for function naming * mock data for resolved props including both body and header * judge cell-editable and row-selectable with mode * [test] unit test for props-resolver * move position of test case of cellEdit * add test for resolveCellSelectionProps * add test for resolveHeaderCellSelectionProps * accept row keys for mock-component * [test] add test for body * [test] add test for header * [test] add test for row * [test] add test for selection-cell * fix typo * [test] add test for selection-header-cell * add test for checkbox in selection-header-cell * [test] add test for bootstrap-table * test for handleRowSelect * test for handleAllRowsSelect * remove uncessary prop * remove unnecessary dafault mode for selectRow * add description for props shape * remove uncessary declaration of inputType * add isRequred for selectRow.mode * [test] verify the correctness of params when clicking on selection cell * [test] modification for test wording and unmatched data type * handle logic of row selection inside the store * ignore the situation of pagination * correct the tests * [test] add test for store/base.js * Document for row selection * modication for defects * simplify proptypes to basic data type * row selection document in README * refactor all function test with sinon * refactor all mock function to sinon.stub() instead jest.fn() * fix conflict
110 lines
5.2 KiB
JavaScript
110 lines
5.2 KiB
JavaScript
/* eslint import/no-unresolved: 0 */
|
|
import React from 'react';
|
|
import { storiesOf } from '@storybook/react';
|
|
|
|
// welcome
|
|
import Welcome from 'examples/welcome';
|
|
// basic
|
|
import BasicTable from 'examples/basic';
|
|
import BorderlessTable from 'examples/basic/borderless-table';
|
|
import StripHoverCondensedTable from 'examples/basic/striped-hover-condensed-table';
|
|
import NoDataTable from 'examples/basic/no-data-table';
|
|
import CaptionTable from 'examples/basic/caption-table';
|
|
|
|
// work on columns
|
|
import NestedDataTable from 'examples/columns/nested-data-table';
|
|
import ColumnFormatTable from 'examples/columns/column-format-table';
|
|
import ColumnFormatExtraDataTable from 'examples/columns/column-format-with-extra-data-table';
|
|
import ColumnClassTable from 'examples/columns/column-class-table';
|
|
import ColumnStyleTable from 'examples/columns/column-style-table';
|
|
import ColumnAlignTable from 'examples/columns/column-align-table';
|
|
import ColumnTitleTable from 'examples/columns/column-title-table';
|
|
import ColumnEventTable from 'examples/columns/column-event-table';
|
|
import ColumnHiddenTable from 'examples/columns/column-hidden-table';
|
|
import ColumnAttrsTable from 'examples/columns/column-attrs-table';
|
|
|
|
// work on header columns
|
|
import HeaderColumnFormatTable from 'examples/header-columns/column-format-table';
|
|
import HeaderColumnAlignTable from 'examples/header-columns/column-align-table';
|
|
import HeaderColumnTitleTable from 'examples/header-columns/column-title-table';
|
|
import HeaderColumnEventTable from 'examples/header-columns/column-event-table';
|
|
import HeaderColumnClassTable from 'examples/header-columns/column-class-table';
|
|
import HeaderColumnStyleTable from 'examples/header-columns/column-style-table';
|
|
import HeaderColumnAttrsTable from 'examples/header-columns/column-attrs-table';
|
|
|
|
// table sort
|
|
import EnableSortTable from 'examples/sort/enable-sort-table';
|
|
import CustomSortTable from 'examples/sort/custom-sort-table';
|
|
|
|
// cell editing
|
|
import ClickToEditTable from 'examples/cell-edit/click-to-edit-table';
|
|
import DoubleClickToEditTable from 'examples/cell-edit/dbclick-to-edit-table';
|
|
import BlurToSaveTable from 'examples/cell-edit/blur-to-save-table';
|
|
import RowLevelEditableTable from 'examples/cell-edit/row-level-editable-table';
|
|
import ColumnLevelEditableTable from 'examples/cell-edit/column-level-editable-table';
|
|
import CellLevelEditable from 'examples/cell-edit/cell-level-editable-table';
|
|
import CellEditHooks from 'examples/cell-edit/cell-edit-hooks-table';
|
|
import CellEditValidator from 'examples/cell-edit/cell-edit-validator-table';
|
|
|
|
// work on row selection
|
|
import SingleSelectionTable from 'examples/row-selection/single-selection';
|
|
import MultipleSelectionTable from 'examples/row-selection/multiple-selection';
|
|
|
|
// css style
|
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
import 'stories/stylesheet/tomorrow.min.css';
|
|
import 'stories/stylesheet/storybook.scss';
|
|
import 'react-bootstrap-table2/style/react-bootstrap-table.scss';
|
|
|
|
// import { action } from '@storybook/addon-actions';
|
|
|
|
// action('hello');
|
|
storiesOf('Welcome', module)
|
|
.add('react bootstrap table 2 ', () => <Welcome />);
|
|
|
|
storiesOf('Basic Table', module)
|
|
.add('basic table', () => <BasicTable />)
|
|
.add('striped, hover, condensed table', () => <StripHoverCondensedTable />)
|
|
.add('borderless table', () => <BorderlessTable />)
|
|
.add('Indication For Empty Table', () => <NoDataTable />)
|
|
.add('Table with caption', () => <CaptionTable />);
|
|
|
|
storiesOf('Work on Columns', module)
|
|
.add('Display Nested Data', () => <NestedDataTable />)
|
|
.add('Column Formatter', () => <ColumnFormatTable />)
|
|
.add('Column Formatter with Custom Data', () => <ColumnFormatExtraDataTable />)
|
|
.add('Column Align', () => <ColumnAlignTable />)
|
|
.add('Column Title', () => <ColumnTitleTable />)
|
|
.add('Column Hidden', () => <ColumnHiddenTable />)
|
|
.add('Column Event', () => <ColumnEventTable />)
|
|
.add('Customize Column Class', () => <ColumnClassTable />)
|
|
.add('Customize Column Style', () => <ColumnStyleTable />)
|
|
.add('Customize Column HTML attribute', () => <ColumnAttrsTable />);
|
|
|
|
storiesOf('Work on Header Columns', module)
|
|
.add('Column Formatter', () => <HeaderColumnFormatTable />)
|
|
.add('Column Align', () => <HeaderColumnAlignTable />)
|
|
.add('Column Title', () => <HeaderColumnTitleTable />)
|
|
.add('Column Event', () => <HeaderColumnEventTable />)
|
|
.add('Customize Column Class', () => <HeaderColumnClassTable />)
|
|
.add('Customize Column Style', () => <HeaderColumnStyleTable />)
|
|
.add('Customize Column HTML attribute', () => <HeaderColumnAttrsTable />);
|
|
|
|
storiesOf('Sort Table', module)
|
|
.add('Enable Sort', () => <EnableSortTable />)
|
|
.add('Custom Sort Fuction', () => <CustomSortTable />);
|
|
|
|
storiesOf('Cell Editing', module)
|
|
.add('Click to Edit', () => <ClickToEditTable />)
|
|
.add('DoubleClick to Edit', () => <DoubleClickToEditTable />)
|
|
.add('Blur to Save Cell', () => <BlurToSaveTable />)
|
|
.add('Row Level Editable', () => <RowLevelEditableTable />)
|
|
.add('Column Level Editable', () => <ColumnLevelEditableTable />)
|
|
.add('Cell Level Editable', () => <CellLevelEditable />)
|
|
.add('Rich Hook Functions', () => <CellEditHooks />)
|
|
.add('Validation', () => <CellEditValidator />);
|
|
|
|
storiesOf('Row Selection', module)
|
|
.add('Single selection', () => <SingleSelectionTable />)
|
|
.add('Multiple selection', () => <MultipleSelectionTable />);
|