From 019deb30240acb9f16592e19a1858c6a1f94f54f Mon Sep 17 00:00:00 2001
From: echicken <echicken@bbs.electronicchicken.com>
Date: Fri, 23 Aug 2019 12:51:57 -0400
Subject: [PATCH] Move navbar related functions into navbar component file.

---
 web/components/.examples/navbar.xjs | 34 ++++++++++++++++++++++++++++
 web/root/index.xjs                  | 35 ++---------------------------
 2 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/web/components/.examples/navbar.xjs b/web/components/.examples/navbar.xjs
index 23c9eec77f..b2bbdd12d5 100644
--- a/web/components/.examples/navbar.xjs
+++ b/web/components/.examples/navbar.xjs
@@ -1,3 +1,37 @@
+<?xjs function _subMenu(obj, title, path) { ?>
+	<li class="dropdown<?xjs if (path.match(/\//g).length > 1) write('-submenu'); ?>">
+		<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+			<?xjs write(title.replace(/^.*\-/, '')); ?>
+			<span class="caret"></span>
+		</a>
+		<ul class="dropdown-menu">
+			<?xjs _menu(obj.list, path); ?>
+		</ul>
+	</li>
+<?xjs } ?>
+
+<?xjs
+	function _menu(obj, path) {
+		Object.keys(obj).forEach(function (e) {
+			if (obj[e].type == 'list') {
+				_subMenu(obj[e], e, (path || '') + e + '/');
+			} else {
+?>
+                <li>
+                <?xjs if (obj[e].type == 'link') { ?>
+                    <a class="dropdown-item" href="./?page=<?xjs write(obj[e].page); ?>" target="_blank">
+                <?xjs } else { ?>
+                    <a class="dropdown-item" href="./?page=<?xjs write((path || '') + obj[e].page); ?>">
+                <?xjs } ?>
+                <? write(e); ?>
+                    </a>
+                </li>
+        <?xjs
+            }
+        });
+    }
+?>
+
 <nav class="navbar navbar-default navbar-fixed-top">
     <div class="container<?xjs if (settings.layout_full_width) write('-fluid'); ?>">
         <div class="navbar-header">
diff --git a/web/root/index.xjs b/web/root/index.xjs
index 313db93d4e..4e3f3b3f4a 100644
--- a/web/root/index.xjs
+++ b/web/root/index.xjs
@@ -19,42 +19,11 @@
 	var page_ctrl = getCtrlLine(settings.web_pages + page);
 ?>
 
-<?xjs function _subMenu(obj, title, path) { ?>
-	<li class="dropdown<?xjs if (path.match(/\//g).length > 1) write('-submenu'); ?>">
-		<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
-			<?xjs write(title.replace(/^.*\-/, '')); ?>
-			<span class="caret"></span>
-		</a>
-		<ul class="dropdown-menu">
-			<?xjs _menu(obj.list, path); ?>
-		</ul>
-	</li>
-<?xjs } ?>
-
 <?xjs
-	function _menu(obj, path) {
-		Object.keys(obj).forEach(function (e) {
-			if (obj[e].type == 'list') {
-				_subMenu(obj[e], e, (path || '') + e + '/');
-			} else {
-?>
-    		<li>
-<?xjs if (obj[e].type == 'link') { ?>
-                <a class="dropdown-item" href="./?page=<?xjs write(obj[e].page); ?>" target="_blank">
-<?xjs } else { ?>
-        		<a class="dropdown-item" href="./?page=<?xjs write((path || '') + obj[e].page); ?>">
-<?xjs } ?>
-                    <?xjs write(e); ?>
-                </a>
-    		</li>
-<?xjs }});} ?>
-
-<?xjs function _sidebar() {
+	function _sidebar() {
 		if (settings.layout_sidebar_off || page_ctrl.options.no_sidebar) return;
 ?>
-	<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar">
-		<?xjs writeSidebarModules(); ?>
-	</div>
+		<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar"><? writeSidebarModules(); ?></div>
 <?xjs } ?>
 
 <!DOCTYPE html>
-- 
GitLab