diff --git a/packages/react-bootstrap-table2-example/examples/column-filter/custom-number-filter.js b/packages/react-bootstrap-table2-example/examples/column-filter/custom-number-filter.js new file mode 100644 index 0000000..29c361d --- /dev/null +++ b/packages/react-bootstrap-table2-example/examples/column-filter/custom-number-filter.js @@ -0,0 +1,74 @@ +import React from 'react'; +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter, Comparator } from 'react-bootstrap-table2-filter'; +import Code from 'components/common/code-block'; +import { productsGenerator } from 'utils/common'; + +const products = productsGenerator(8); + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter({ + options: [2100, 2103, 2105], + delay: 600, + placeholder: 'custom placeholder', + withoutEmptyComparatorOption: true, + comparators: [Comparator.EQ, Comparator.GT, Comparator.LT], + style: { display: 'inline-grid' }, + className: 'custom-numberfilter-class', + comparatorStyle: { backgroundColor: 'antiquewhite' }, + comparatorClassName: 'custom-comparator-class', + numberStyle: { backgroundColor: 'cadetblue', margin: '0px' }, + numberClassName: 'custom-number-class' + }) +}]; + +const sourceCode = `\ +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter, Comparator } from 'react-bootstrap-table2-filter'; + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter({ + options: [2100, 2103, 2105], + delay: 600, + placeholder: 'custom placeholder', + withoutEmptyComparatorOption: true, + comparators: [Comparator.EQ, Comparator.GT, Comparator.LT], + style: { display: 'inline-grid' }, + className: 'custom-numberfilter-class', + comparatorStyle: { backgroundColor: 'antiquewhite' }, + comparatorClassName: 'custom-comparator-class', + numberStyle: { backgroundColor: 'cadetblue', margin: '0px' }, + numberClassName: 'custom-number-class' + }) +}]; + + +`; + +export default () => ( +
+ + { sourceCode } +
+); diff --git a/packages/react-bootstrap-table2-example/examples/column-filter/number-filter-default-value.js b/packages/react-bootstrap-table2-example/examples/column-filter/number-filter-default-value.js new file mode 100644 index 0000000..463b472 --- /dev/null +++ b/packages/react-bootstrap-table2-example/examples/column-filter/number-filter-default-value.js @@ -0,0 +1,54 @@ +import React from 'react'; +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter, Comparator } from 'react-bootstrap-table2-filter'; +import Code from 'components/common/code-block'; +import { productsGenerator } from 'utils/common'; + +const products = productsGenerator(8); + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter({ + defaultValue: { number: 2103, comparator: Comparator.GT } + }) +}]; + +const sourceCode = `\ +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter, Comparator } from 'react-bootstrap-table2-filter'; + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter({ + defaultValue: { number: 2103, comparator: Comparator.GT } + }) +}]; + + +`; + +export default () => ( +
+ + { sourceCode } +
+); diff --git a/packages/react-bootstrap-table2-example/examples/column-filter/number-filter.js b/packages/react-bootstrap-table2-example/examples/column-filter/number-filter.js new file mode 100644 index 0000000..b01167f --- /dev/null +++ b/packages/react-bootstrap-table2-example/examples/column-filter/number-filter.js @@ -0,0 +1,50 @@ +import React from 'react'; +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter } from 'react-bootstrap-table2-filter'; +import Code from 'components/common/code-block'; +import { productsGenerator } from 'utils/common'; + +const products = productsGenerator(8); + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter() +}]; + +const sourceCode = `\ +import BootstrapTable from 'react-bootstrap-table-next'; +import filterFactory, { numberFilter } from 'react-bootstrap-table2-filter'; + +const columns = [{ + dataField: 'id', + text: 'Product ID' +}, { + dataField: 'name', + text: 'Product Name' +}, { + dataField: 'price', + text: 'Product Price', + filter: numberFilter() +}]; + + +`; + +export default () => ( +
+ + { sourceCode } +
+); diff --git a/packages/react-bootstrap-table2-example/stories/index.js b/packages/react-bootstrap-table2-example/stories/index.js index f5e3db7..f4a000a 100644 --- a/packages/react-bootstrap-table2-example/stories/index.js +++ b/packages/react-bootstrap-table2-example/stories/index.js @@ -43,6 +43,9 @@ import SelectFilter from 'examples/column-filter/select-filter'; import SelectFilterWithDefaultValue from 'examples/column-filter/select-filter-default-value'; import SelectFilterComparator from 'examples/column-filter/select-filter-like-comparator'; import CustomSelectFilter from 'examples/column-filter/custom-select-filter'; +import NumberFilter from 'examples/column-filter/number-filter'; +import NumberFilterWithDefaultValue from 'examples/column-filter/number-filter-default-value'; +import CustomNumberFilter from 'examples/column-filter/custom-number-filter'; // work on rows import RowStyleTable from 'examples/rows/row-style'; @@ -143,12 +146,15 @@ storiesOf('Column Filter', module) .add('Text Filter', () => ) .add('Text Filter with Default Value', () => ) .add('Text Filter with Comparator', () => ) - .add('Custom Text Filter', () => ) // add another filter type example right here. .add('Select Filter', () => ) .add('Select Filter with Default Value', () => ) .add('Select Filter with Comparator', () => ) + .add('Number Filter', () => ) + .add('Number Filter with Default Value', () => ) + .add('Custom Text Filter', () => ) .add('Custom Select Filter', () => ) + .add('Custom Number Filter', () => ) .add('Custom Filter Value', () => ); storiesOf('Work on Rows', module)