hierarchy_manager
Drupal provides a draggable table to manage the hierarchy of menu links and taxonomy terms. The Drupal draggable table is not able to present a massive hierarchy in one page.
This module provides a plugin architecture to delivery a flexibility of managing hierarchy for taxonomy terms, menu links and others. There are two out of box plugins, taxonomy hierarchy management plugin and menu hierarchy plugin. The front-end JavaScript libraries is also pluginable. The out of box display plugin using jsTree to render the hierarchy tree with filter. The hierarchy tree is draggable which means you can update the hierarchy by dragging a node in the tree.
Other modules can define their own management plugin to manage hierarchy for any other entities or display plugin to render the hierarchy tree by a JavaScript library other than jsTree.
Features:
- Support massive hierarchy tree (>1000 nodes)
- Filtering (support multiple words)
- In place editing
- Customize styling
How to use:
- Install this module as usual.
- Go the hierarchy manage display profile page (/admin/structure/hm_display_profile) under the Structure menu to create a display profile. The customized configuration for a display profile has to be valid JSON text. If leave the config JSON as blank, the display plugin will use default value instead. See here to learn how to edit the JSON text.
- Go to the hierarchy management configuration page (/admin/config/user-interface/hierarchy_manager/config) to enable hierarchy management plugins, such as taxonomy plugin, and specify a display profile created in step 2.
- Once a hierarchy mange plugin is enabled, the related edit form should be replaced with a hierarchy tree form. For instance, the taxonomy term edit form (/admin/structure/taxonomy/manage/{tid}/overview) will be replaced with a hierarchy tree implemented by the taxonomy hierarchy manage plugin.
Third party JS libraries
This module will automatically load all third party libraries from CDN if those libraries weren't hosted locally (under the folder '/libraries/jquery.jstree/3.3.12/').
- /libraries/jquery.jstree/3.3.12/jstree.min.js
- /libraries/jquery.jstree/3.3.12/themes/default/style.min.css
- /libraries/jquery.jstree/3.3.12/themes/default-dark/style.min.css
The HM display profile edit page (/admin/structure/hm_display_profile) require JsonEditor library. It will be automatically loaded from CDN if you hasn't downloaded it into
- /libraries/jsoneditor/9.9.2/jsoneditor.min.css
- /libraries/jsoneditor/9.9.2/jsoneditor.min.js