Dynamic Collapsible Tree View For Bootstrap 5
File Size: | 23.9 KB |
---|---|
Views Total: | 21840 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
This is the upgraded version of the jQuery BSTreeView plugin that enables you to create a dynamic, collapsible/expandable tree view with the latest Bootstrap 5 framework.
It can be useful in presenting your complex data in a human-readable hierarchical tree structure.
How to use it:
1. Load both jQuery library and Bootstrap 5 framework in the document.
<link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" /> <script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/cdn/bootstrap.bundle.min.js"></script>
2. Load the minified version of the bstreeview plugin.
<link href="dist/css/bstreeview.min.css" rel="stylesheet" /> <script src="dist/js/bstreeview.min.js"></script>
3. Create an empty DIV container to hold the tree view.
<div id="tree"> </div>
4. Prepare your data in an array of JS objects as follows. All possible properties:
- id: Unique Node ID
- text: Node text
- icon: Icon CSS class(es)
- href: Valid URL
- class: Additional CSS class(es)
var treeData = [ { text: "Node 1", expanded: true, icon: "fa fa-folder", // requires font awesome nodes: [ { text: "Sub Node 1", icon: "fa fa-folder", nodes: [ { id: "sub-node-1", text: "Sub Child Node 1", icon: "fa fa-folder", class: "nav-level-3", href: "https://jqueryscript.net" }, { text: "Sub Child Node 2", icon: "fa fa-folder" } ] }, { text: "Sub Node 2", icon: "fa fa-folder" } ] }, { text: "Node 2", icon: "fa fa-folder" }, { text: "Node 3", icon: "fa fa-folder" }, { text: "Node 4", icon: "fa fa-folder" }, { text: "Node 5", icon: "fa fa-folder" } ];
5. Generate a basic tree view from the data you provide.
$('#tree').bstreeview({ data: treeData });
6. Override the default expand/collapse icon classes.
$('#tree').bstreeview({ expandIcon: 'fa fa-angle-down', collapseIcon: 'fa fa-angle-right' });
7. Specify the indentation of child nodes. Default: 1.25.
$('#tree').bstreeview({ indent: 2 });
8. Set the margin area on the left side of parent nodes. Default: '1.25rem'.
$('#tree').bstreeview({ parentsMarginLeft: '1.25rem' });
9. Determine whether to open the link in a new tab. Default: true.
$('#tree').bstreeview({ openNodeLinkOnNewTab: false });
Changelog:
2022-03-31
- add an optional attribute "expanded" to node
This awesome jQuery plugin is developed by nhmvienna. For more Advanced Usages, please check the demo page or visit the official website.