0.0.7 • Published 3 years ago

@kenshooui/material-tree v0.0.7

Weekly downloads
177
License
MIT
Repository
github
Last release
3 years ago

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"

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.