luci-theme-material: do not infer login state from url (#520)
[project/luci.git] / themes / luci-theme-material / htdocs / luci-static / material / js / script.js
index dcf8a03..fdd23e8 100755 (executable)
     function getCurrentNodeByUrl() {
         var ret = false;
         var getUrlNode = function (href){
-            var linkPos = href.indexOf(";");
-            if (linkPos == -1){
+            if (!$('body').hasClass('logged-in')){
                 return "login";
             }else{
-                linkPos = href.indexOf("/", linkPos);
+                var linkPos = href.indexOf("/", linkPos);
                 if (linkPos == -1){
                     return "overview";
                 }else{
 
                 if (currentNode.indexOf(getUrlNode(href)) != -1){
                     ulNode.click();
+                    ulNode.next(".slide-menu").stop(true,true);
                     lastNode = that.parent();
                     tree = [trimText(ulNode.data("title")), trimText(that.data("title"))];
                     lastNode.addClass("active");
         if (!ul.is(":visible")) {
             menu.addClass("active");
             ul.addClass("active");
-            ul.stop(true).slideDown();
+            ul.stop(true).slideDown("fast");
         } else {
-            ul.slideUp(function () {
+            ul.stop(true).slideUp("fast", function () {
                 menu.removeClass("active");
                 ul.removeClass("active");
             });
     $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () {
         if (lastNode != undefined) lastNode.removeClass("active");
         $(this).parent().addClass("active");
-        $(".main > .loading").fadeIn();
+        $(".main > .loading").fadeIn("fast");
         return true;
     });
 
     $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () {
         if (lastNode != undefined) lastNode.removeClass("active");
         $(this).addClass("active");
-        $(".main > .loading").fadeIn();
+        $(".main > .loading").fadeIn("fast");
         window.location = $($(this).find("a")[0]).attr("href");
         return;
     });
             that.click(function () {
                 var href = that.attr("href");
                 if (href.indexOf("#") == -1){
-                    $(".main > .loading").fadeIn();
+                    $(".main > .loading").fadeIn("fast");
                     return true;
                 }
             });
     var showSide = false;
     $(".showSide").click(function () {
         if (showSide){
-            $(".darkMask").stop(true).fadeOut();
+            $(".darkMask").stop(true).fadeOut("fast");
             $(".main-left").stop(true).animate({
                 width: "0"
-            });
+            },"fast");
             showSide = false;
         }else{
-            $(".darkMask").stop(true).fadeIn();
+            $(".darkMask").stop(true).fadeIn("fast");
             $(".main-left").stop(true).animate({
                 width: "15rem"
-            });
+            },"fast");
             showSide = true;
         }
     });
     $(".darkMask").click(function () {
         if (showSide){
             showSide = false;
-            $(".darkMask").stop(true).fadeOut();
+            $(".darkMask").stop(true).fadeOut("fast");
             $(".main-left").stop(true).animate({
                 width: "0"
-            });
+            },"fast");
         }
     });
 
 
     $(".main-right").focus();
     $(".main-right").blur();
+    $("input").attr("size", "0");
 
     if (mainNodeName != undefined){
         console.log(mainNodeName);
                     $(".main-right").blur();
                 });
                 break;
+            case "node-status-firewall":
+                var button = $(".node-status-firewall > .main fieldset li > a");
+                button.addClass("cbi-button cbi-button-reset a-to-btn");
+                break;
+            case "node-system-reboot":
+                var button = $(".node-system-reboot > .main > .main-right p > a");
+                button.addClass("cbi-button cbi-input-reset a-to-btn");
+                break;
         }
     }
+
+
+    document.addEventListener("touchmove", function(evt){
+        evt.preventDefault();
+    }, false);
+    var container = document.getElementById("maincontent");
+    container.addEventListener("touchmove", function(evt){
+        evt.stopPropagation();
+    }, false);
 })(jQuery);