1/** 2* Theme: Uplon Admin Template 3* Author: Coderthemes 4* Module/App: Main Js 5*/ 6 7 8!function($) { 9 "use strict"; 10 11 var Sidemenu = function() { 12 this.$body = $("body"), 13 this.$openLeftBtn = $(".open-left"), 14 this.$menuItem = $("#sidebar-menu a") 15 }; 16 Sidemenu.prototype.openLeftBar = function() { 17 $("#wrapper").toggleClass("enlarged"); 18 $("#wrapper").addClass("forced"); 19 20 if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")) { 21 $("body").removeClass("fixed-left").addClass("fixed-left-void"); 22 } else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")) { 23 $("body").removeClass("fixed-left-void").addClass("fixed-left"); 24 } 25 26 if($("#wrapper").hasClass("enlarged")) { 27 $(".left ul").removeAttr("style"); 28 } else { 29 $(".subdrop").siblings("ul:first").show(); 30 } 31 32 toggle_slimscroll(".slimscrollleft"); 33 $("body").trigger("resize"); 34 }, 35 //menu item click 36 Sidemenu.prototype.menuItemClick = function(e) { 37 if(!$("#wrapper").hasClass("enlarged")){ 38 if($(this).parent().hasClass("has_sub")) { 39 40 } 41 if(!$(this).hasClass("subdrop")) { 42 // hide any open menus and remove all other classes 43 $("ul",$(this).parents("ul:first")).slideUp(350); 44 $("a",$(this).parents("ul:first")).removeClass("subdrop"); 45 $("#sidebar-menu .pull-right i").removeClass("md-remove").addClass("md-add"); 46 47 // open our new menu and add the open class 48 $(this).next("ul").slideDown(350); 49 $(this).addClass("subdrop"); 50 $(".pull-right i",$(this).parents(".has_sub:last")).removeClass("md-add").addClass("md-remove"); 51 $(".pull-right i",$(this).siblings("ul")).removeClass("md-remove").addClass("md-add"); 52 }else if($(this).hasClass("subdrop")) { 53 $(this).removeClass("subdrop"); 54 $(this).next("ul").slideUp(350); 55 $(".pull-right i",$(this).parent()).removeClass("md-remove").addClass("md-add"); 56 } 57 } 58 }, 59 60 //init sidemenu 61 Sidemenu.prototype.init = function() { 62 var $this = this; 63 64 var ua = navigator.userAgent, 65 event = (ua.match(/iP/i)) ? "touchstart" : "click"; 66 67 //bind on click 68 this.$openLeftBtn.on(event, function(e) { 69 e.stopPropagation(); 70 $this.openLeftBar(); 71 }); 72 73 // LEFT SIDE MAIN NAVIGATION 74 $this.$menuItem.on(event, $this.menuItemClick); 75 76 // NAVIGATION HIGHLIGHT & OPEN PARENT 77 $("#sidebar-menu ul li.has_sub a.active").parents("li:last").children("a:first").addClass("active").trigger("click"); 78 }, 79 80 //init Sidemenu 81 $.Sidemenu = new Sidemenu, $.Sidemenu.Constructor = Sidemenu 82 83}(window.jQuery), 84 85 86function($) { 87 "use strict"; 88 89 var FullScreen = function() { 90 this.$body = $("body"), 91 this.$fullscreenBtn = $("#btn-fullscreen") 92 }; 93 94 //turn on full screen 95 // Thanks to http://davidwalsh.name/fullscreen 96 FullScreen.prototype.launchFullscreen = function(element) { 97 if(element.requestFullscreen) { 98 element.requestFullscreen(); 99 } else if(element.mozRequestFullScreen) { 100 element.mozRequestFullScreen(); 101 } else if(element.webkitRequestFullscreen) { 102 element.webkitRequestFullscreen(); 103 } else if(element.msRequestFullscreen) { 104 element.msRequestFullscreen(); 105 } 106 }, 107 FullScreen.prototype.exitFullscreen = function() { 108 if(document.exitFullscreen) { 109 document.exitFullscreen(); 110 } else if(document.mozCancelFullScreen) { 111 document.mozCancelFullScreen(); 112 } else if(document.webkitExitFullscreen) { 113 document.webkitExitFullscreen(); 114 } 115 }, 116 //toggle screen 117 FullScreen.prototype.toggle_fullscreen = function() { 118 var $this = this; 119 var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled; 120 if(fullscreenEnabled) { 121 if(!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { 122 $this.launchFullscreen(document.documentElement); 123 } else{ 124 $this.exitFullscreen(); 125 } 126 } 127 }, 128 //init sidemenu 129 FullScreen.prototype.init = function() { 130 var $this = this; 131 //bind 132 $this.$fullscreenBtn.on('click', function() { 133 $this.toggle_fullscreen(); 134 }); 135 }, 136 //init FullScreen 137 $.FullScreen = new FullScreen, $.FullScreen.Constructor = FullScreen 138 139}(window.jQuery), 140 141 142 143//main app module 144 function($) { 145 "use strict"; 146 147 var App = function() { 148 this.VERSION = "1.4.0", 149 this.AUTHOR = "Coderthemes", 150 this.SUPPORT = "[email protected]", 151 this.pageScrollElement = "html, body", 152 this.$body = $("body") 153 }; 154 155 //on doc load 156 App.prototype.onDocReady = function(e) { 157 // FastClick.attach(document.body); 158 resizefunc.push("initscrolls"); 159 resizefunc.push("changeptype"); 160 161 $('.animate-number').each(function(){ 162 $(this).animateNumbers($(this).attr("data-value"), true, parseInt($(this).attr("data-duration"))); 163 }); 164 165 //RUN RESIZE ITEMS 166 $(window).resize(debounce(resizeitems,100)); 167 $("body").trigger("resize"); 168 169 // right side-bar toggle 170 $('.right-bar-toggle').on('click', function(e){ 171 172 $('#wrapper').toggleClass('right-bar-enabled'); 173 }); 174 175 176 }, 177 //initilizing 178 App.prototype.init = function() { 179 var $this = this; 180 //document load initialization 181 $(document).ready($this.onDocReady); 182 //init side bar - left 183 $.Sidemenu.init(); 184 //init fullscreen 185 $.FullScreen.init(); 186 }, 187 188 $.App = new App, $.App.Constructor = App 189 190}(window.jQuery), 191 192//initializing main application module 193function($) { 194 "use strict"; 195 $.App.init(); 196}(window.jQuery); 197 198 199 200//this full screen 201var toggle_fullscreen = function () { 202 203} 204 205function executeFunctionByName(functionName, context /*, args */) { 206 var args = [].slice.call(arguments).splice(2); 207 var namespaces = functionName.split("."); 208 var func = namespaces.pop(); 209 for(var i = 0; i < namespaces.length; i++) { 210 context = context[namespaces[i]]; 211 } 212 return context[func].apply(this, args); 213} 214var w,h,dw,dh; 215var changeptype = function(){ 216 w = $(window).width(); 217 h = $(window).height(); 218 dw = $(document).width(); 219 dh = $(document).height(); 220 221 if(jQuery.browser.mobile === true){ 222 $("body").addClass("mobile").removeClass("fixed-left"); 223 } 224 225 if(!$("#wrapper").hasClass("forced")){ 226 if(w > 1024){ 227 $("body").removeClass("smallscreen").addClass("widescreen"); 228 $("#wrapper").removeClass("enlarged"); 229 }else{ 230 $("body").removeClass("widescreen").addClass("smallscreen"); 231 $("#wrapper").addClass("enlarged"); 232 $(".left ul").removeAttr("style"); 233 } 234 if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")){ 235 $("body").removeClass("fixed-left").addClass("fixed-left-void"); 236 }else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")){ 237 $("body").removeClass("fixed-left-void").addClass("fixed-left"); 238 } 239 240 } 241 toggle_slimscroll(".slimscrollleft"); 242} 243 244 245var debounce = function(func, wait, immediate) { 246 var timeout, result; 247 return function() { 248 var context = this, args = arguments; 249 var later = function() { 250 timeout = null;
251 if (!immediate) result = func.apply(context, args); 252 }; 253 var callNow = immediate && !timeout; 254 clearTimeout(timeout); 255 timeout = setTimeout(later, wait); 256 if (callNow) result = func.apply(context, args); 257 return result; 258 }; 259} 260 261function resizeitems(){ 262 if($.isArray(resizefunc)){ 263 for (i = 0; i < resizefunc.length; i++) { 264 window[resizefunc[i]](); 265 } 266 } 267} 268 269function initscrolls(){ 270 if(jQuery.browser.mobile !== true){ 271 //SLIM SCROLL 272 $('.slimscroller').slimscroll({ 273 height: 'auto', 274 size: "5px" 275 }); 276 277 $('.slimscrollleft').slimScroll({ 278 height: 'auto', 279 position: 'right', 280 size: "5px", 281 color: '#dcdcdc', 282 wheelStep: 5 283 }); 284 } 285} 286function toggle_slimscroll(item){ 287 if($("#wrapper").hasClass("enlarged")){ 288 $(item).css("overflow","inherit").parent().css("overflow","inherit"); 289 $(item). siblings(".slimScrollBar").css("visibility","hidden"); 290 }else{ 291 $(item).css("overflow","hidden").parent().css("overflow","hidden"); 292 $(item). siblings(".slimScrollBar").css("visibility","visible"); 293 } 294}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.