Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
0ff0c33
upgrade react and react-dom
AllenFang May 13, 2018
906180a
implement context-based container
AllenFang May 13, 2018
6d08a24
implement selection context
AllenFang May 13, 2018
2525465
implement sort context
AllenFang May 13, 2018
143acde
refactoring remote sort
AllenFang May 19, 2018
5307e58
implement data operator
AllenFang May 19, 2018
216bc10
implement celledit context
AllenFang May 19, 2018
4f6809d
fix custom filter value example broken
AllenFang May 20, 2018
2f7d010
add clear all filter story
AllenFang May 20, 2018
8f4dc99
implement filter context
AllenFang May 20, 2018
1e72c80
construct context dynamically
AllenFang May 20, 2018
6c086c3
implement pagination context
AllenFang May 20, 2018
4ecf243
no more state anti-pattern
AllenFang May 20, 2018
d534c42
change to partial selection when pagination enabled
AllenFang May 20, 2018
b1c086f
fix cache context issue
AllenFang May 20, 2018
400c307
refine remote method
AllenFang May 20, 2018
74bf885
remove useless code
AllenFang May 23, 2018
fc0b99e
patch tests for react-bootstrap-table-next
AllenFang May 28, 2018
167352f
fix selectRow doesnt pass to CellEditContext
AllenFang May 30, 2018
c13b3fa
patch test for editor, filter, pagination
AllenFang Jun 2, 2018
9c677fe
enhance remote all example
AllenFang Jun 15, 2018
78ea630
fix bug for default sort and filter have potential issue when remote …
AllenFang Jun 15, 2018
77301c2
implement table search
AllenFang Jun 18, 2018
760d459
add example for tble search
AllenFang Jun 18, 2018
0d4d32c
patch for remote cell edit
AllenFang Jun 23, 2018
7b15bf4
patch tests for search
AllenFang Jun 23, 2018
18b785d
update peer dependencies for react react-dom
AllenFang Jun 23, 2018
46f0ce4
prepare builds for react-bootstrap-table2-toolkit
AllenFang Jun 23, 2018
6eaffe1
patch docs for table search
AllenFang Jun 23, 2018
35b1e37
implement expand row sketch
AllenFang Jun 24, 2018
dbd0f89
add stories for expand row
AllenFang Jun 24, 2018
4af5b4f
implement expand indicator
AllenFang Jul 1, 2018
81ddd2c
add stories for expand indicator
AllenFang Jul 1, 2018
c36aa24
fix filter context tests broken due to missing onExternalFilter
AllenFang Jul 1, 2018
a18932e
patch docs for expand row
AllenFang Jul 1, 2018
5a442bf
add missing expandRow props
AllenFang Jul 1, 2018
e6d4a96
data, keyField and columns is necessary value for toolkits context
AllenFang Jul 3, 2018
0ec5b6c
add simple toolkit context wrapper for user
AllenFang Jul 11, 2018
03ece4b
refactoring search
AllenFang Jul 14, 2018
f0e37b1
implement export csv
AllenFang Jul 14, 2018
b792803
add export csv stories
AllenFang Jul 14, 2018
ec77a05
patch docs for export CSV
AllenFang Jul 14, 2018
fadbcda
a workaround for fixing the _ module missing
AllenFang Jul 14, 2018
7919a40
enhance for #402
AllenFang Jul 15, 2018
0d64443
fix sort caret broken on bootstrap4
AllenFang Jul 20, 2018
f7ba8e3
upgrade enzyme
AllenFang Jul 22, 2018
c0416fc
fix selection column broken when bootstrap4
AllenFang Jul 22, 2018
4958757
refine new context API tests
AllenFang Jul 22, 2018
3f957db
fix pagination broken when bootstrap4
AllenFang Jul 22, 2018
62c6949
add bootstrap4 style links
AllenFang Jul 22, 2018
925d3d7
final docs patch
AllenFang Jul 24, 2018
f7406bc
add toolkits styles
AllenFang Jul 28, 2018
2ec55f6
patch for default sort and filter have potential issue when remote
AllenFang Jul 28, 2018
d5d8c54
fix React doesn't allow Date Object as children
AllenFang Jul 28, 2018
cb970cd
fix peerdep
AllenFang Aug 4, 2018
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
data, keyField and columns is necessary value for toolkits context
  • Loading branch information
AllenFang committed Aug 1, 2018
commit e6d4a9641bf7bf3c5542d5ecd3fb69b0337efb84
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,27 @@ const columns = [{

const RemoteFilter = props => (
<div>
<BootstrapTable
remote={ { filter: true } }
<ToolkitContext.Provider
keyField="id"
data={ props.data }
columns={ columns }
filter={ filterFactory() }
onTableChange={ props.onTableChange }
/>
<Code>{ sourceCode }</Code>
>
<ToolkitContext.Consumer>
{
toolkitprops => [
<SearchBar { ...toolkitprops.searchProps } />,
<BootstrapTable
{ ...toolkitprops.baseProps }
remote={ { search: true } }
onTableChange={ props.onTableChange }
search={ searchFactory({
...toolkitprops.searchProps
}) }
/>
]
}
</ToolkitContext.Consumer>
</ToolkitContext.Provider>
</div>
);

Expand Down Expand Up @@ -97,16 +109,18 @@ class Container extends React.Component {

const RemoteFilter = props => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ props.data }
columns={ columns }
>
<ToolkitContext.Consumer>
{
toolkitprops => [
<SearchBar { ...toolkitprops.searchProps } />,
<BootstrapTable
{ ...toolkitprops.baseProps }
remote={ { search: true } }
keyField="id"
data={ props.data }
columns={ columns }
onTableChange={ props.onTableChange }
search={ searchFactory({
...toolkitprops.searchProps
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,20 @@ const columns = [{
filterValue: (cell, row) => types[cell] // we will search the value after filterValue called
}];

<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
<div>
<h3>Input something at below input field:</h3>
<h3>Try to Search Bob, Cat or Allen instead of 0, 1 or 2</h3>
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand All @@ -80,7 +82,11 @@ const columns = [{

export default () => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -89,9 +95,7 @@ export default () => (
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ const columns = [{
text: 'Product Price'
}];

<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -51,9 +55,7 @@ const columns = [{
/>
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand All @@ -67,7 +69,11 @@ const columns = [{

export default () => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -82,9 +88,7 @@ export default () => (
/>
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,23 @@ const MySearch = (props) => {
);
};

<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
<div>
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
/>
<MySearch { ...props.searchProps } />
<br />
</div>
)
}
Expand Down Expand Up @@ -96,15 +99,17 @@ const MySearch = (props) => {

export default () => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
<div>
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand Down
20 changes: 12 additions & 8 deletions packages/react-bootstrap-table2-example/examples/search/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ const columns = [{
text: 'Product Price'
}];

<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -45,9 +49,7 @@ const columns = [{
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand All @@ -61,7 +63,11 @@ const columns = [{

export default () => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -70,9 +76,7 @@ export default () => (
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps
}) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,23 @@ const columns = [{
formatter: cell => \`USD \${cell}\` // we will search the data after formatted
}];

<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
<div>
<h3>Input something at below input field:</h3>
<h3>Try to Search USD at below input field:</h3>
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps,
searchFormatted: true // enable searchFormatted
searchFormatted: true
}) }
/>
</div>
Expand All @@ -64,7 +66,11 @@ const columns = [{

export default () => (
<div>
<ToolkitContext.Provider>
<ToolkitContext.Provider
keyField="id"
data={ products }
columns={ columns }
>
<ToolkitContext.Consumer>
{
props => (
Expand All @@ -73,9 +79,7 @@ export default () => (
<SearchBar { ...props.searchProps } />
<hr />
<BootstrapTable
keyField="id"
data={ products }
columns={ columns }
{ ...props.baseProps }
search={ searchFactory({
...props.searchProps,
searchFormatted: true
Expand Down
12 changes: 11 additions & 1 deletion packages/react-bootstrap-table2-toolkit/context.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
/* eslint react/prop-types: 0 */
/* eslint react/require-default-props: 0 */
import React from 'react';
import PropTypes from 'prop-types';

const ToolkitContext = React.createContext();

class ToolkitProvider extends React.Component {
static propTypes = {
keyField: PropTypes.string.isRequired,
data: PropTypes.array.isRequired,
columns: PropTypes.array.isRequired,
children: PropTypes.node.isRequired
}

constructor(props) {
super(props);
this.test = false;
Expand All @@ -23,9 +31,11 @@ class ToolkitProvider extends React.Component {
}

render() {
const { keyField, columns, data } = this.props;
return (
<ToolkitContext.Provider value={ {
searchProps: this.searchProps
searchProps: this.searchProps,
baseProps: { keyField, columns, data }
} }
>
{ this.props.children }
Expand Down
2 changes: 1 addition & 1 deletion packages/react-bootstrap-table2/src/contexts/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const withContext = Base =>
class BootstrapTableContainer extends remoteResolver(Component) {
constructor(props) {
super(props);
this.DataContext = createDataContext(props.data);
this.DataContext = createDataContext();

if (props.columns.filter(col => col.sort).length > 0) {
this.SortContext = createSortContext(
Expand Down