Dynamic Drill Down UI Component In jQuery - BsDrillDown
File Size: | 8.8 KB |
---|---|
Views Total: | 6293 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
The BsDrillDown jQuery plugin helps you create a one-column drill down menu & tree structure from hierarchical data defined in JSON.
Clicking on an item in the drill down to reveal sub items and at the top you will see a breadcrumbs style navigator which represents the current node path.
How to use it:
1. To begin, include the BsDrillDown plugin's files on the webpage which has jQuery library loaded.
<!-- Required --> <script src="jquery.min.js"></script> <script src="bsdrilldown.js"></script> <link href="bsdrilldown.css" rel="stylesheet" /> <!-- OPTIONAL Icons --> <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
2. Create the HTML for the drill down interface.
<div id="divHerirachy"> <div class="drildown-container"> <div id="hp_header"> </div> <div> <ul id="hp_body" class="hierarchy-custom"> </ul> </div> </div> </div>
3. Define your hierarchical data as follows:
var myData = { "ID":-1, "Name": "Root", "Level":0, "ChildData":[ { "ID":1, "Name": "A", "Level":1, "ChildData":[{ "ID":3, "Name": "C", "Level":2, "ChildData":[{ "ID":5, "Name": "D", "Level":3, "ChildData":[{ "ID":6, "Name": "E", "Level":4, "ChildData":[] }] }, { "ID":7, "Name": "F", "Level":3, "ChildData":[] }] }, { "ID":4, "Name": "G", "Level":2, "ChildData":[] }] }, { "ID":2, "Name": "B", "Level":1, "ChildData":[{ "ID":9, "Name": "I", "Level":2, "ChildData":[] }, { "ID":10, "Name": "J", "Level":2, "ChildData":[] }] }, { "ID":8, "Name": "H", "Level":1, "ChildData":[] } ] }
4. Initialize the drill down plugin with several options.
BsDrillDown.initialize({ headerSelector: '#hp_header', hpBodySelector: '#hp_body', keyField: 'ID', displayField: 'Name', ChildField: 'ChildData', levelField: 'Level', defaultState: [-1], empLevel: 3 }, myData);
5. Show the drill down on the page. That's it.
BsDrillDown.showHP();
6. All possible plugin options with default values.
BsDrillDown.initialize({ mainSelector: '#divHerirachy', keyField: 'OrgId', displayField: 'OrgName', ChildField: 'ChildOrgEntity', levelField: 'OrgLevel', headerSelector: '#header', hpBodySelector: '#hp', empLevel: 5, defaultState: [-1], headerEleClass: 'hp-header-breadcrumb', manageLevelWiseData: true }, myData);
7. Cancel the selection.
BsDrillDown.cancelSelection();
8. Get the current data & node.
// Returns hierarchical data structure. BsDrillDown.getData(); // Returns hierarchical data by level BsDrillDown.getDataByLevel(level); // Returns hierarchical data by level and key BsDrillDown.getDataByLevelAndKey(level,key); // Selects hierarchical data by keys // e.g. BsDrillDown.SelectHerirachyByKeys([-1,2,10]); BsDrillDown.SelectHerirachyByKeys(topLevelKeys, empKey); // Returns the current data object BsDrillDown.getCurrentNode(); // Returns the current hierarchical data BsDrillDown.getCurrentHierarchy(); // Gives all child of current node till end in linear array format. It also calls the function (provided as input) so you may filter nodes. BsDrillDown.getAllChlideNodesOfCurrentSelection(filterCriteriaFn); // Returns detailed object against keys array. BsDrillDown.getCurrentHierarchyDetail(topLevelKeys);
9. Execute a function after selection.
BsDrillDown.doneSelection(function (currentNode, confirmFn)(){ // do something }):
Changelog:
2020-07-12
- Added new option: manageLevelWiseData
This awesome jQuery plugin is developed by bilalshahzad139. For more Advanced Usages, please check the demo page or visit the official website.