Nice, easy to use component to displaying tree structures, made with
React and
Twitter Bootstrap
Based on jonmiles/react-bootstrap-treeview,
but provides a set of additional useful features
You can see an example here
npm install treeview-react-bootstrap --save
TreeView = require('treeview-react-bootstrap').default;
import TreeView from 'treeview-react-bootstrap';
React.render(
<TreeView data={data} />,
document.getElementById('treeview')
);
React.render(
React.createElement(TreeView, {data: data}),
document.getElementById('treeview')
);
Param | Description | Default |
---|---|---|
data | [Object] No default, expects data This is the core data to be displayed by the tree view |
undefined |
selectable | Boolean flag Allow to select nodes by clicking on them |
true |
allowNew | Boolean flag Allow to add new nodes using add button |
false |
removable | Boolean flag Allow to remove existing nodes using remove button |
false |
onNodeAdded | Callback Function that is called after node has been added |
undefined |
onNodeRemoved | Callback Function that is called after node has been removed |
undefined |
onDoubleClick | Callback Function that is called after node has been removed |
undefined |
This treeview component also supports all options defined for base component.
"data" property must be provided for treeview to work. It should be an array of objects(nodes).
{
text: String,
nodes: [Node]
}
The following properties are defined to allow node level overrides, such as node specific icons, colours and tags.
Param | Description | Default |
---|---|---|
text | String Mandatory The text value displayed for a given tree node, typically to the right of the nodes icon. |
undefined |
icon | String The icon-class set to icon on given node, typically displayed to the left of the text. |
"glyphicon glyphicon-stop" |
color | String The foreground color used on a given node, overrides global color option. |
#428bca |
backColor | String The background color used on a given node, overrides global color option. |
undefined |
href | String Used in conjunction with global enableLinks option to specify anchor tag URL on a given node. |
undefined |
state | Object Describes a node's initial state. |
node: props.node, expanded: true |
state*.expanded* | Boolean Whether or not a node is expanded i.e. open. Takes precedence over global option levels. |
true |
state*.selected* | Boolean Whether or not a node is selected. |
false |
tags | [String] Used in conjunction with global showTags option to add additional information to the right of each node; using Bootstrap Badges |
undefined |
var data = [
{
text: "Parent 1",
nodes: [
{
text: "Child 1",
nodes: [
{
text: "Grandchild 1"
},
{
text: "Grandchild 2"
}
]
},
{
text: "Child 2"
}
]
},
{
text: "Parent 2"
}
];