From a6d801c235990e6205fdf1d498c601e212a94a21 Mon Sep 17 00:00:00 2001 From: Igor Babiy Date: Mon, 25 Jan 2021 17:22:55 +0200 Subject: [PATCH 1/4] Add customItemsRenderer prop --- packages/core/src/tree.js | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/packages/core/src/tree.js b/packages/core/src/tree.js index daa76a0..a676f00 100644 --- a/packages/core/src/tree.js +++ b/packages/core/src/tree.js @@ -39,6 +39,7 @@ const Tree = props => { itemsRenderer: Items = ItemsRenderer, forwardIconRenderer, treeContainerRenderer: TreeContainer = TreeContainerRenderer, + customItemsRenderer, selectedItem } = props; @@ -94,20 +95,29 @@ const Tree = props => { inputIconRenderer={inputIconRenderer} clearIconRenderer={clearIconRenderer} /> - - {leaves && - leaves.length > 0 && - leaves.map(item => ( - - ))} - + {customItemsRenderer ? ( + React.cloneElement(customItemsRenderer, { + ...props, + leaves, + searchTerm, + onClick + }) + ) : ( + + {leaves && + leaves.length > 0 && + leaves.map(item => ( + + ))} + + )} {leaves && leaves.length === 0 && ( Date: Mon, 25 Jan 2021 18:19:00 +0200 Subject: [PATCH 2/4] del spread props from customItemsRenderer --- packages/core/src/tree.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/core/src/tree.js b/packages/core/src/tree.js index a676f00..b97a0ae 100644 --- a/packages/core/src/tree.js +++ b/packages/core/src/tree.js @@ -96,12 +96,7 @@ const Tree = props => { clearIconRenderer={clearIconRenderer} /> {customItemsRenderer ? ( - React.cloneElement(customItemsRenderer, { - ...props, - leaves, - searchTerm, - onClick - }) + React.cloneElement(customItemsRenderer, { leaves, searchTerm, onClick }) ) : ( {leaves && From 7caf8bef3f9d7810ef2805304834e55a05e67da4 Mon Sep 17 00:00:00 2001 From: Igor Babiy Date: Mon, 25 Jan 2021 19:50:15 +0200 Subject: [PATCH 3/4] add new customItemsRenderer prop to readme.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 958d6a7..5098e4f 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Both options support component customization. - [examples](https://github.com/ke | `itemsRenderer` | `Component` | `items.js` | `Component to replace the default Items component. ` | | `forwardIconRenderer` | `Component` | | `Component to replace the default ForwardIcon component. ` | | `treeContainerRenderer`| `Component` | `tree_container.js` | `Component to replace the default TreeContainer component. ` | +| `customItemsRenderer ` | `Component` | | `Component to replace the default Items && inner Item component.`| | `markSelectedItem` | `boolean` | `false` | `Toggle to mark selected item. ` |
From 85c30ca5bfc1023456eafd9e28ed7a81399ad340 Mon Sep 17 00:00:00 2001 From: Igor Babiy Date: Tue, 26 Jan 2021 16:14:24 +0200 Subject: [PATCH 4/4] add selectedItem, forwardIconRenderer to props --- packages/core/src/tree.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/core/src/tree.js b/packages/core/src/tree.js index b97a0ae..c6740de 100644 --- a/packages/core/src/tree.js +++ b/packages/core/src/tree.js @@ -96,7 +96,13 @@ const Tree = props => { clearIconRenderer={clearIconRenderer} /> {customItemsRenderer ? ( - React.cloneElement(customItemsRenderer, { leaves, searchTerm, onClick }) + React.cloneElement(customItemsRenderer, { + leaves, + searchTerm, + onClick, + selectedItem, + forwardIconRenderer + }) ) : ( {leaves &&