@kenshooui/material-tree v0.0.7
Material Tree
Material Tree is an enrichment to React Tree component.
It is based on basic React Tree logic and allows a user to display and manage a hierarchical structure of items using Material-UI components.
Examples can be found - here
npm install --save @material-ui/core @material-ui/icons
**Installation using Yarn:**yarn add @kenshooui/material-tree @kenshooui/react-tree
yarn add @material-ui/core @material-ui/icons
### How to use
<!-- example -->
```jsx
import MaterialTree from "@kenshooui/material-tree";
const structure = [
["Profiles", "Performance", "Clicks"],
["Profiles", "Performance", "Imp"],
["Profiles", "Attribute", "Agency"],
["Profiles", "Attribute", "Progress"],
["Profiles", "Attribute", "Create Date"],
["Campaigns", "Performance", "Clicks"],
["Campaigns", "Performance", "Cost"],
["Campaigns", "Performance", "CTR"],
["Campaigns", "Attribute", "campaign name"],
["Ad Groups", "Attribute", "Ad Group Name"]
];
<MaterialTree
structure={structure}
title={"Add filter criteria"}
onSelect={() => {}}
/>;Props
Can be found - here
Customization
Renderers
You can replace the renderers of the following components:
Container
Use the treeContainerRenderer to replace the default component.
Each treeContainer receives the following props:
containerRef - Holds a reference to the tree container component
children - Holds all sub components (like header, input, items, etc..)
width - The width of the tree component
height - The height of the tree component
Header
Use the headerRenderer to replace the default component.
Each header receives the following props:
headerRef - Holds a reference to the header component
parents - Holds the parents of the current depth.
For example for the following structure: "Profiles", "Performance", "Clicks"
- In the first depth the parents are: ""
- In the second depth the parents are: "Profile"
- In the third depth the parents are: "Profile, "Performance"
onClick - Triggers the back event on click
title - The title of the header. Displayed on the first depth.
backIconRenderer - Use the backIconRenderer to replace the default back button component.
Input
Use the inputRenderer to replace the default component.
Each header receives the following props:
inputRef - Holds a reference to the input component
searchTerm - Holds the searched value
onInputChange - Triggers set searchTerm event on change
inputIconRenderer - Use the inputIconRenderer to replace the default input icon component.
clearIconRenderer - Use the clearIconRenderer to replace the default clear input icon component.
Items
Use the itemsRenderer to replace the default component.
Each header receives the following props:
children - All items
height - The height of the items list
Item
Use the itemRenderer to replace the default component.
Each header receives the following props:
searchTerm - Holds the searched value
item - Represents an item from the given structure.
onClick - Is called when clicking on an item
forwardIconRenderer - Use the forwardIconRenderer to replace the default forward icon component.
selectedItem - Represents the current selected item. Is relevant when markSelectedItem = true.
No Results
Use the noResultsRenderer to replace the default component.
text - Displayed when there are no results
height - The height of the items list
noResultsIconRenderer - Use the noResultsIconRenderer to replace the default no results warning icon component.
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago