add testsuite and testcase list pages in frontend of testing-scheduler
[bottlenecks.git] / testing-scheduler / ui / src / assets / js / inspinia.js
diff --git a/testing-scheduler/ui/src/assets/js/inspinia.js b/testing-scheduler/ui/src/assets/js/inspinia.js
new file mode 100644 (file)
index 0000000..22a5db6
--- /dev/null
@@ -0,0 +1,298 @@
+/*\r
+ *\r
+ *   INSPINIA - Responsive Admin Theme\r
+ *   version 2.7.1\r
+ *\r
+ */\r
+\r
+$(document).ready(function () {\r
+\r
+\r
+    // Add body-small class if window less than 768px\r
+    if ($(this).width() < 769) {\r
+        $('body').addClass('body-small')\r
+    } else {\r
+        $('body').removeClass('body-small')\r
+    }\r
+\r
+    // MetisMenu\r
+    $('#side-menu').metisMenu();\r
+\r
+    // Collapse ibox function\r
+    $('.collapse-link').on('click', function () {\r
+        var ibox = $(this).closest('div.ibox');\r
+        var button = $(this).find('i');\r
+        var content = ibox.children('.ibox-content');\r
+        content.slideToggle(200);\r
+        button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');\r
+        ibox.toggleClass('').toggleClass('border-bottom');\r
+        setTimeout(function () {\r
+            ibox.resize();\r
+            ibox.find('[id^=map-]').resize();\r
+        }, 50);\r
+    });\r
+\r
+    // Close ibox function\r
+    $('.close-link').on('click', function () {\r
+        var content = $(this).closest('div.ibox');\r
+        content.remove();\r
+    });\r
+\r
+    // Fullscreen ibox function\r
+    $('.fullscreen-link').on('click', function () {\r
+        var ibox = $(this).closest('div.ibox');\r
+        var button = $(this).find('i');\r
+        $('body').toggleClass('fullscreen-ibox-mode');\r
+        button.toggleClass('fa-expand').toggleClass('fa-compress');\r
+        ibox.toggleClass('fullscreen');\r
+        setTimeout(function () {\r
+            $(window).trigger('resize');\r
+        }, 100);\r
+    });\r
+\r
+    // Close menu in canvas mode\r
+    $('.close-canvas-menu').on('click', function () {\r
+        $("body").toggleClass("mini-navbar");\r
+        SmoothlyMenu();\r
+    });\r
+\r
+    // Run menu of canvas\r
+    $('body.canvas-menu .sidebar-collapse').slimScroll({\r
+        height: '100%',\r
+        railOpacity: 0.9\r
+    });\r
+\r
+    // Open close right sidebar\r
+    $('.right-sidebar-toggle').on('click', function () {\r
+        $('#right-sidebar').toggleClass('sidebar-open');\r
+    });\r
+\r
+    // Initialize slimscroll for right sidebar\r
+    $('.sidebar-container').slimScroll({\r
+        height: '100%',\r
+        railOpacity: 0.4,\r
+        wheelStep: 10\r
+    });\r
+\r
+    // Open close small chat\r
+    $('.open-small-chat').on('click', function () {\r
+        $(this).children().toggleClass('fa-comments').toggleClass('fa-remove');\r
+        $('.small-chat-box').toggleClass('active');\r
+    });\r
+\r
+    // Initialize slimscroll for small chat\r
+    $('.small-chat-box .content').slimScroll({\r
+        height: '234px',\r
+        railOpacity: 0.4\r
+    });\r
+\r
+    // Small todo handler\r
+    $('.check-link').on('click', function () {\r
+        var button = $(this).find('i');\r
+        var label = $(this).next('span');\r
+        button.toggleClass('fa-check-square').toggleClass('fa-square-o');\r
+        label.toggleClass('todo-completed');\r
+        return false;\r
+    });\r
+\r
+    // Append config box / Only for demo purpose\r
+    // Uncomment on server mode to enable XHR calls\r
+    //$.get("skin-config.html", function (data) {\r
+    //    if (!$('body').hasClass('no-skin-config'))\r
+    //        $('body').append(data);\r
+    //});\r
+\r
+    // Minimalize menu\r
+    $('.navbar-minimalize').on('click', function (event) {\r
+        event.preventDefault();\r
+        $("body").toggleClass("mini-navbar");\r
+        SmoothlyMenu();\r
+\r
+    });\r
+\r
+    // Tooltips demo\r
+    $('.tooltip-demo').tooltip({\r
+        selector: "[data-toggle=tooltip]",\r
+        container: "body"\r
+    });\r
+\r
+\r
+    // Full height of sidebar\r
+    function fix_height() {\r
+        var heightWithoutNavbar = $("body > #wrapper").height() - 61;\r
+        $(".sidebar-panel").css("min-height", heightWithoutNavbar + "px");\r
+\r
+        var navbarheight = $('nav.navbar-default').height();\r
+        var wrapperHeight = $('#page-wrapper').height();\r
+\r
+        if (navbarheight > wrapperHeight) {\r
+            $('#page-wrapper').css("min-height", navbarheight + "px");\r
+        }\r
+\r
+        if (navbarheight < wrapperHeight) {\r
+            $('#page-wrapper').css("min-height", $(window).height() + "px");\r
+        }\r
+\r
+        if ($('body').hasClass('fixed-nav')) {\r
+            if (navbarheight > wrapperHeight) {\r
+                $('#page-wrapper').css("min-height", navbarheight + "px");\r
+            } else {\r
+                $('#page-wrapper').css("min-height", $(window).height() - 60 + "px");\r
+            }\r
+        }\r
+\r
+    }\r
+\r
+    fix_height();\r
+\r
+    // Fixed Sidebar\r
+    $(window).bind("load", function () {\r
+        if ($("body").hasClass('fixed-sidebar')) {\r
+            $('.sidebar-collapse').slimScroll({\r
+                height: '100%',\r
+                railOpacity: 0.9\r
+            });\r
+        }\r
+    });\r
+\r
+    // Move right sidebar top after scroll\r
+    $(window).scroll(function () {\r
+        if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav')) {\r
+            $('#right-sidebar').addClass('sidebar-top');\r
+        } else {\r
+            $('#right-sidebar').removeClass('sidebar-top');\r
+        }\r
+    });\r
+\r
+    $(window).bind("load resize scroll", function () {\r
+        if (!$("body").hasClass('body-small')) {\r
+            fix_height();\r
+        }\r
+    });\r
+\r
+    $("[data-toggle=popover]")\r
+        .popover();\r
+\r
+    // Add slimscroll to element\r
+    $('.full-height-scroll').slimscroll({\r
+        height: '100%'\r
+    })\r
+});\r
+\r
+\r
+// Minimalize menu when screen is less than 768px\r
+$(window).bind("resize", function () {\r
+    if ($(this).width() < 769) {\r
+        $('body').addClass('body-small')\r
+    } else {\r
+        $('body').removeClass('body-small')\r
+    }\r
+});\r
+\r
+// Local Storage functions\r
+// Set proper body class and plugins based on user configuration\r
+$(document).ready(function () {\r
+    if (localStorageSupport()) {\r
+\r
+        var collapse = localStorage.getItem("collapse_menu");\r
+        var fixedsidebar = localStorage.getItem("fixedsidebar");\r
+        var fixednavbar = localStorage.getItem("fixednavbar");\r
+        var boxedlayout = localStorage.getItem("boxedlayout");\r
+        var fixedfooter = localStorage.getItem("fixedfooter");\r
+\r
+        var body = $('body');\r
+\r
+        if (fixedsidebar == 'on') {\r
+            body.addClass('fixed-sidebar');\r
+            $('.sidebar-collapse').slimScroll({\r
+                height: '100%',\r
+                railOpacity: 0.9\r
+            });\r
+        }\r
+\r
+        if (collapse == 'on') {\r
+            if (body.hasClass('fixed-sidebar')) {\r
+                if (!body.hasClass('body-small')) {\r
+                    body.addClass('mini-navbar');\r
+                }\r
+            } else {\r
+                if (!body.hasClass('body-small')) {\r
+                    body.addClass('mini-navbar');\r
+                }\r
+\r
+            }\r
+        }\r
+\r
+        if (fixednavbar == 'on') {\r
+            $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');\r
+            body.addClass('fixed-nav');\r
+        }\r
+\r
+        if (boxedlayout == 'on') {\r
+            body.addClass('boxed-layout');\r
+        }\r
+\r
+        if (fixedfooter == 'on') {\r
+            $(".footer").addClass('fixed');\r
+        }\r
+    }\r
+});\r
+\r
+// check if browser support HTML5 local storage\r
+function localStorageSupport() {\r
+    return (('localStorage' in window) && window['localStorage'] !== null)\r
+}\r
+\r
+// For demo purpose - animation css script\r
+function animationHover(element, animation) {\r
+    element = $(element);\r
+    element.hover(\r
+        function () {\r
+            element.addClass('animated ' + animation);\r
+        },\r
+        function () {\r
+            //wait for animation to finish before removing classes\r
+            window.setTimeout(function () {\r
+                element.removeClass('animated ' + animation);\r
+            }, 2000);\r
+        });\r
+}\r
+\r
+function SmoothlyMenu() {\r
+    if (!$('body').hasClass('mini-navbar') || $('body').hasClass('body-small')) {\r
+        // Hide menu in order to smoothly turn on when maximize menu\r
+        $('#side-menu').hide();\r
+        // For smoothly turn on menu\r
+        setTimeout(\r
+            function () {\r
+                $('#side-menu').fadeIn(400);\r
+            }, 200);\r
+    } else if ($('body').hasClass('fixed-sidebar')) {\r
+        $('#side-menu').hide();\r
+        setTimeout(\r
+            function () {\r
+                $('#side-menu').fadeIn(400);\r
+            }, 100);\r
+    } else {\r
+        // Remove all inline style from jquery fadeIn function to reset menu state\r
+        $('#side-menu').removeAttr('style');\r
+    }\r
+}\r
+\r
+// Dragable panels\r
+function WinMove() {\r
+    var element = "[class*=col]";\r
+    var handle = ".ibox-title";\r
+    var connect = "[class*=col]";\r
+    $(element).sortable(\r
+        {\r
+            handle: handle,\r
+            connectWith: connect,\r
+            tolerance: 'pointer',\r
+            forcePlaceholderSize: true,\r
+            opacity: 0.8\r
+        })\r
+        .disableSelection();\r
+}\r
+\r
+\r