From e9650a94f38f0ff01fc4b0a37d17bf45e447a5cf Mon Sep 17 00:00:00 2001 From: sintech Date: Sun, 12 Dec 2021 19:57:30 +0300 Subject: [PATCH 1/4] Do not show icons for childless categories --- InvenTree/templates/js/dynamic/nav.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/InvenTree/templates/js/dynamic/nav.js b/InvenTree/templates/js/dynamic/nav.js index 28f9a26d8d..fc7e677900 100644 --- a/InvenTree/templates/js/dynamic/nav.js +++ b/InvenTree/templates/js/dynamic/nav.js @@ -175,7 +175,6 @@ function enableBreadcrumbTree(options) { for (var i = 0; i < data.length; i++) { node = data[i]; - node.nodes = []; nodes[node.pk] = node; node.selectable = false; @@ -193,7 +192,11 @@ function enableBreadcrumbTree(options) { node = data[i]; if (node.parent != null) { - nodes[node.parent].nodes.push(node); + if (nodes[node.parent].nodes) { + nodes[node.parent].nodes.push(node); + } else { + nodes[node.parent].nodes = [node]; + } if (node.state.expanded) { nodes[node.parent].state.expanded = true; From 40f73b00cefe7c1aabb3a147fed69480f8ed17e0 Mon Sep 17 00:00:00 2001 From: sintech Date: Sun, 12 Dec 2021 19:59:18 +0300 Subject: [PATCH 2/4] Propagate expanded state all the way to the root --- InvenTree/templates/js/dynamic/nav.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/dynamic/nav.js b/InvenTree/templates/js/dynamic/nav.js index fc7e677900..b38dd17b32 100644 --- a/InvenTree/templates/js/dynamic/nav.js +++ b/InvenTree/templates/js/dynamic/nav.js @@ -199,7 +199,10 @@ function enableBreadcrumbTree(options) { } if (node.state.expanded) { - nodes[node.parent].state.expanded = true; + while (node.parent != null) { + nodes[node.parent].state.expanded = true; + node = nodes[node.parent] + } } } else { From b6d9bc30931b462392b564cdf4ebedc84e519de8 Mon Sep 17 00:00:00 2001 From: sintech Date: Mon, 13 Dec 2021 15:51:34 +0300 Subject: [PATCH 3/4] Remove treeview state saving. --- InvenTree/templates/js/dynamic/nav.js | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/InvenTree/templates/js/dynamic/nav.js b/InvenTree/templates/js/dynamic/nav.js index b38dd17b32..03ed946677 100644 --- a/InvenTree/templates/js/dynamic/nav.js +++ b/InvenTree/templates/js/dynamic/nav.js @@ -218,7 +218,6 @@ function enableBreadcrumbTree(options) { collapseIcon: 'fa fa-chevron-down', }); - setBreadcrumbTreeState(label, state); } } ); @@ -226,26 +225,11 @@ function enableBreadcrumbTree(options) { $('#breadcrumb-tree-toggle').click(function() { // Add callback to "collapse" and "expand" the sidebar - // By default, the menu is "expanded" - var state = localStorage.getItem(`inventree-tree-state-${label}`) || 'expanded'; + // Toggle treeview visibilty + $('#breadcrumb-tree-collapse').toggle(); - // We wish to "toggle" the state! - setBreadcrumbTreeState(label, state == 'expanded' ? 'collapsed' : 'expanded'); }); - // Set the initial state (default = expanded) - var state = localStorage.getItem(`inventree-tree-state-${label}`) || 'expanded'; - - function setBreadcrumbTreeState(label, state) { - - if (state == 'collapsed') { - $('#breadcrumb-tree-collapse').hide(100); - } else { - $('#breadcrumb-tree-collapse').show(100); - } - - localStorage.setItem(`inventree-tree-state-${label}`, state); - } } /* From 58364bb3b537638fce4047f234b29d5f67c735ea Mon Sep 17 00:00:00 2001 From: sintech Date: Tue, 14 Dec 2021 11:30:09 +0300 Subject: [PATCH 4/4] JS style fix --- InvenTree/templates/js/dynamic/nav.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/InvenTree/templates/js/dynamic/nav.js b/InvenTree/templates/js/dynamic/nav.js index 03ed946677..eed098f162 100644 --- a/InvenTree/templates/js/dynamic/nav.js +++ b/InvenTree/templates/js/dynamic/nav.js @@ -192,17 +192,17 @@ function enableBreadcrumbTree(options) { node = data[i]; if (node.parent != null) { - if (nodes[node.parent].nodes) { - nodes[node.parent].nodes.push(node); - } else { - nodes[node.parent].nodes = [node]; - } + if (nodes[node.parent].nodes) { + nodes[node.parent].nodes.push(node); + } else { + nodes[node.parent].nodes = [node]; + } if (node.state.expanded) { - while (node.parent != null) { - nodes[node.parent].state.expanded = true; - node = nodes[node.parent] - } + while (node.parent != null) { + nodes[node.parent].state.expanded = true; + node = nodes[node.parent]; + } } } else { @@ -226,7 +226,7 @@ function enableBreadcrumbTree(options) { // Add callback to "collapse" and "expand" the sidebar // Toggle treeview visibilty - $('#breadcrumb-tree-collapse').toggle(); + $('#breadcrumb-tree-collapse').toggle(); });