diff --git a/packages/react-bootstrap-table2-editor/index.js b/packages/react-bootstrap-table2-editor/index.js
index fc8439d..04d5840 100644
--- a/packages/react-bootstrap-table2-editor/index.js
+++ b/packages/react-bootstrap-table2-editor/index.js
@@ -1,5 +1,5 @@
import createContext from './src/context';
-import bindRowLevelCellEdit from './src/row-binder';
+import withRowLevelCellEdit from './src/row-consumer';
import createEditingCell from './src/editing-cell-binder';
import {
EDITTYPE,
@@ -10,7 +10,7 @@ import {
export default (options = {}) => ({
createContext,
createEditingCell,
- bindRowLevelCellEdit,
+ withRowLevelCellEdit,
DBCLICK_TO_CELL_EDIT,
DELAY_FOR_DBCLICK,
options
diff --git a/packages/react-bootstrap-table2-editor/src/row-binder.js b/packages/react-bootstrap-table2-editor/src/row-consumer.js
similarity index 80%
rename from packages/react-bootstrap-table2-editor/src/row-binder.js
rename to packages/react-bootstrap-table2-editor/src/row-consumer.js
index bd7b687..7fe6648 100644
--- a/packages/react-bootstrap-table2-editor/src/row-binder.js
+++ b/packages/react-bootstrap-table2-editor/src/row-consumer.js
@@ -30,9 +30,14 @@ export default (Component, selectRowEnabled) => {
/>
);
};
- return props => (
-
- { cellEdit => renderWithCellEdit(props, cellEdit) }
-
- );
+ function withConsumer(props) {
+ return (
+
+ { cellEdit => renderWithCellEdit(props, cellEdit) }
+
+ );
+ }
+
+ withConsumer.displayName = 'WithCellEditingRowConsumer';
+ return withConsumer;
};
diff --git a/packages/react-bootstrap-table2-editor/test/cell-binder.test.js b/packages/react-bootstrap-table2-editor/test/cell-binder.test.js
deleted file mode 100644
index dfe72ee..0000000
--- a/packages/react-bootstrap-table2-editor/test/cell-binder.test.js
+++ /dev/null
@@ -1,210 +0,0 @@
-import 'jsdom-global/register';
-import React from 'react';
-import { mount } from 'enzyme';
-import _ from 'react-bootstrap-table-next/src/utils';
-import op from 'react-bootstrap-table-next/src/store/operators';
-
-import cellEditFactory from '../index';
-import { CLICK_TO_CELL_EDIT, DBCLICK_TO_CELL_EDIT } from '../src/const';
-import createCellEditContext from '../src/context';
-import bindCellEditing from '../src/cell-binder';
-
-describe('Cell Binder', () => {
- let wrapper;
- let cellEdit;
- const data = [{
- id: 1,
- name: 'A'
- }, {
- id: 2,
- name: 'B'
- }];
- let columns;
- const rowIndex = 1;
- const row = { id: 1, name: 'A' };
- const keyField = 'id';
- const columnIndex = 1;
-
- const { Provider } = createCellEditContext(_, op, false, jest.fn());
- const BaseComponent = () => null;
- const WithCellEditComponent = bindCellEditing(
- props => ,
- keyField,
- _
- );
-
- beforeEach(() => {
- columns = [{
- dataField: 'id',
- text: 'ID'
- }, {
- dataField: 'name',
- text: 'Name'
- }];
- });
-
- describe(`if cellEdit.mode is ${CLICK_TO_CELL_EDIT}`, () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject correct props to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('clickToEdit')).toBeTruthy();
- expect(wrapper.find(BaseComponent).prop('dbclickToEdit')).toBeFalsy();
- });
- });
-
- describe(`if cellEdit.mode is ${DBCLICK_TO_CELL_EDIT}`, () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: DBCLICK_TO_CELL_EDIT });
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject correct props to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('clickToEdit')).toBeFalsy();
- expect(wrapper.find(BaseComponent).prop('dbclickToEdit')).toBeTruthy();
- });
- });
-
- describe('if column prop is a key column', () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject negative editable prop to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('editable')).toBeFalsy();
- });
- });
-
- describe('if editable prop is true(Row Level)', () => {
- describe('but column.editable prop is false', () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- columns[1].editable = false;
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject negative editable prop to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('editable')).toBeFalsy();
- });
- });
-
- describe('and column.editable prop is true or not defined', () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject positive editable prop to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('editable')).toBeTruthy();
- });
- });
- });
-
- describe('if editable prop is false(Row Level)', () => {
- describe('even if column.editable prop is true or not defined', () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- columns[1].editable = true;
- wrapper = mount(
-
-
-
- );
- });
-
- it('should inject negative editable prop to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('editable')).toBeFalsy();
- });
- });
- });
-
- describe('if column.editable prop is a function', () => {
- beforeEach(() => {
- cellEdit = cellEditFactory({ mode: CLICK_TO_CELL_EDIT });
- columns[1].editable = jest.fn().mockReturnValue(false);
- wrapper = mount(
-
-
-
- );
- });
-
- it('should call column.editable function correctly', () => {
- expect(columns[1].editable).toHaveBeenCalledTimes(1);
- });
-
- it('should inject correct editable prop to target component', () => {
- expect(wrapper.find(BaseComponent)).toHaveLength(1);
- expect(wrapper.find(BaseComponent).prop('editable')).toBeFalsy();
- });
- });
-});
diff --git a/packages/react-bootstrap-table2-editor/test/row-binder.test.js b/packages/react-bootstrap-table2-editor/test/row-consumer.test.js
similarity index 91%
rename from packages/react-bootstrap-table2-editor/test/row-binder.test.js
rename to packages/react-bootstrap-table2-editor/test/row-consumer.test.js
index 97490d6..2d8c93e 100644
--- a/packages/react-bootstrap-table2-editor/test/row-binder.test.js
+++ b/packages/react-bootstrap-table2-editor/test/row-consumer.test.js
@@ -4,12 +4,12 @@ import { mount } from 'enzyme';
import _ from 'react-bootstrap-table-next/src/utils';
import op from 'react-bootstrap-table-next/src/store/operators';
-import cellEditFactory from '../index';
+import cellEditFactory from '..';
import { CLICK_TO_CELL_EDIT, DBCLICK_TO_CELL_EDIT, DELAY_FOR_DBCLICK } from '../src/const';
import createCellEditContext from '../src/context';
-import bindCellEditing from '../src/row-binder';
+import withRowLevelCellEdit from '../src/row-consumer';
-describe('Row Binder', () => {
+describe('Row Consumer', () => {
let wrapper;
let cellEdit;
const data = [{
@@ -28,7 +28,7 @@ describe('Row Binder', () => {
describe('if cellEdit.nonEditableRows is undefined', () => {
beforeEach(() => {
- const WithCellEditComponent = bindCellEditing(
+ const WithCellEditComponent = withRowLevelCellEdit(
props => ,
false
);
@@ -52,7 +52,7 @@ describe('Row Binder', () => {
const nonEditableRows = jest.fn().mockReturnValue([value]);
describe('if value prop is match in one of cellEdit.nonEditableRows', () => {
beforeEach(() => {
- const WithCellEditComponent = bindCellEditing(
+ const WithCellEditComponent = withRowLevelCellEdit(
props => ,
false
);
@@ -72,7 +72,7 @@ describe('Row Binder', () => {
describe('if value prop is not match in one of cellEdit.nonEditableRows', () => {
beforeEach(() => {
- const WithCellEditComponent = bindCellEditing(
+ const WithCellEditComponent = withRowLevelCellEdit(
props => ,
false
);
@@ -93,7 +93,7 @@ describe('Row Binder', () => {
describe(`if selectRowEnabled argument is true and cellEdit.mode is ${DBCLICK_TO_CELL_EDIT}`, () => {
beforeEach(() => {
- const WithCellEditComponent = bindCellEditing(
+ const WithCellEditComponent = withRowLevelCellEdit(
props => ,
true
);
@@ -115,7 +115,7 @@ describe('Row Binder', () => {
const ridx = 0;
const cidx = 1;
beforeEach(() => {
- const WithCellEditComponent = bindCellEditing(
+ const WithCellEditComponent = withRowLevelCellEdit(
props => ,
false
);
diff --git a/packages/react-bootstrap-table2/src/body.js b/packages/react-bootstrap-table2/src/body.js
index 3179737..20620e5 100644
--- a/packages/react-bootstrap-table2/src/body.js
+++ b/packages/react-bootstrap-table2/src/body.js
@@ -59,7 +59,7 @@ class Body extends React.Component {
}
if (cellEdit.createContext) {
- RowComponent = cellEdit.bindRowLevelCellEdit(RowComponent, selectRowEnabled, keyField, _);
+ RowComponent = cellEdit.withRowLevelCellEdit(RowComponent, selectRowEnabled, keyField, _);
additionalRowProps.EditingCellComponent = this.EditingCell;
}
diff --git a/packages/react-bootstrap-table2/test/body.test.js b/packages/react-bootstrap-table2/test/body.test.js
index c7d8894..764af39 100644
--- a/packages/react-bootstrap-table2/test/body.test.js
+++ b/packages/react-bootstrap-table2/test/body.test.js
@@ -261,7 +261,7 @@ describe('Body', () => {
options: { onStartEdit: jest.fn() },
createContext: jest.fn(),
createEditingCell: jest.fn().mockReturnValue(EditingCellComponent),
- bindRowLevelCellEdit: jest.fn().mockReturnValue(RowComponent)
+ withRowLevelCellEdit: jest.fn().mockReturnValue(RowComponent)
};
beforeEach(() => {
wrapper = shallow(
@@ -278,7 +278,7 @@ describe('Body', () => {
it('should render Row Component correctly', () => {
expect(wrapper.length).toBe(1);
expect(cellEdit.createEditingCell).toHaveBeenCalledTimes(1);
- expect(cellEdit.bindRowLevelCellEdit).toHaveBeenCalledTimes(1);
+ expect(cellEdit.withRowLevelCellEdit).toHaveBeenCalledTimes(1);
expect(wrapper.find(RowComponent)).toHaveLength(2);
const aRowElement = wrapper.find(RowComponent).get(0);
expect(aRowElement.props.EditingCellComponent).toBeDefined();
diff --git a/packages/react-bootstrap-table2/test/contexts/index.test.js b/packages/react-bootstrap-table2/test/contexts/index.test.js
index 52ae08b..76caecb 100644
--- a/packages/react-bootstrap-table2/test/contexts/index.test.js
+++ b/packages/react-bootstrap-table2/test/contexts/index.test.js
@@ -113,9 +113,8 @@ describe('Context', () => {
Consumer: CellEditContext.Consumer
}),
options: {},
- bindCellLevelCellEdit: jest.fn().mockReturnValue(() => null),
createEditingCell: jest.fn().mockReturnValue(() => null),
- bindRowLevelCellEdit: jest.fn().mockReturnValue(() => null)
+ withRowLevelCellEdit: jest.fn().mockReturnValue(() => null)
};
wrapper = shallow(