fix: sibling group expansion not working for root nodes
diff --git a/erpnext/public/js/hierarchy_chart/hierarchy_chart_mobile.js b/erpnext/public/js/hierarchy_chart/hierarchy_chart_mobile.js
index 1985299..d48b4c8 100644
--- a/erpnext/public/js/hierarchy_chart/hierarchy_chart_mobile.js
+++ b/erpnext/public/js/hierarchy_chart/hierarchy_chart_mobile.js
@@ -88,16 +88,7 @@
me.$sibling_group = $(`<div class="sibling-group mt-4 mb-4"></div>`);
me.page.main.append(me.$sibling_group);
- if (me.$hierarchy)
- me.$hierarchy.remove();
-
- // setup hierarchy
- me.$hierarchy = $(
- `<ul class="hierarchy-mobile">
- <li class="root-level level"></li>
- </ul>`);
-
- me.page.main.append(me.$hierarchy);
+ me.setup_hierarchy()
me.render_root_nodes();
}
}
@@ -132,6 +123,19 @@
</svg>`);
}
+ setup_hierarchy() {
+ $(`#connectors`).empty();
+ if (this.$hierarchy)
+ this.$hierarchy.remove();
+
+ this.$hierarchy = $(
+ `<ul class="hierarchy-mobile">
+ <li class="root-level level"></li>
+ </ul>`);
+
+ this.page.main.append(this.$hierarchy);
+ }
+
render_root_nodes() {
let me = this;
@@ -142,10 +146,13 @@
},
}).then(r => {
if (r.message.length) {
+ let root_level = me.$hierarchy.find('.root-level');
+ root_level.empty();
+
$.each(r.message, (_i, data) => {
return new me.Node({
id: data.id,
- parent: me.$hierarchy.find('.root-level'),
+ parent: root_level,
parent_id: undefined,
image: data.image,
name: data.name,
@@ -401,7 +408,12 @@
$('.node-group').on('click', function() {
let parent = $(this).attr('data-parent');
- me.expand_sibling_group_node(parent);
+ if (parent === 'undefined') {
+ me.setup_hierarchy();
+ me.render_root_nodes();
+ } else {
+ me.expand_sibling_group_node(parent);
+ }
});
}