/** * Theme: Montran Admin Template * Author: Coderthemes * Module/App: Main Js */ !function($) { "use strict"; var Sidemenu = function() { this.$body = $("body"), this.$openLeftBtn = $(".open-left"), this.$menuItem = $("#sidebar-menu a") }; Sidemenu.prototype.openLeftBar = function() { $("#wrapper").toggleClass("enlarged"); $("#wrapper").addClass("forced"); if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")) { $("body").removeClass("fixed-left").addClass("fixed-left-void"); } else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")) { $("body").removeClass("fixed-left-void").addClass("fixed-left"); } if($("#wrapper").hasClass("enlarged")) { $(".left ul").removeAttr("style"); } else { $(".subdrop").siblings("ul:first").show(); } toggle_slimscroll(".slimscrollleft"); $("body").trigger("resize"); }, //menu item click Sidemenu.prototype.menuItemClick = function(e) { if(!$("#wrapper").hasClass("enlarged")){ if($(this).parent().hasClass("has_sub")) { e.preventDefault(); } if(!$(this).hasClass("subdrop")) { // hide any open menus and remove all other classes $("ul",$(this).parents("ul:first")).slideUp(350); $("a",$(this).parents("ul:first")).removeClass("subdrop"); //$("#sidebar-menu .pull-right i").removeClass("md-remove").addClass("md-add"); $("#sidebar-menu .pull-right i").not($(this).parents("ul:first").prev().find(".pull-right i")).removeClass("md-remove").addClass("md-add"); // open our new menu and add the open class $(this).next("ul").slideDown(350); $(this).addClass("subdrop"); //$(".pull-right i",$(this).parents(".has_sub:last")).removeClass("md-add").addClass("md-remove"); $(".pull-right i",$(this).parents(".has_sub:first")).removeClass("md-add").addClass("md-remove"); $(".pull-right i",$(this).siblings("ul")).removeClass("md-remove").addClass("md-add"); }else if($(this).hasClass("subdrop")) { $(this).removeClass("subdrop"); $(this).next("ul").slideUp(350); $(".pull-right i",$(this).parent()).removeClass("md-remove").addClass("md-add"); //$(".pull-right i",$(this).parent().siblings("li")).removeClass("md-remove").addClass("md-add"); } } }, //init sidemenu Sidemenu.prototype.init = function() { var $this = this; //bind on click $(".open-left").click(function(e) { e.stopPropagation(); $this.openLeftBar(); }); // LEFT SIDE MAIN NAVIGATION $this.$menuItem.on('click', $this.menuItemClick); // NAVIGATION HIGHLIGHT & OPEN PARENT $("#sidebar-menu ul li.has_sub a.active").parents("li:last").children("a:first").addClass("active").trigger("click"); }, //init Sidemenu $.Sidemenu = new Sidemenu, $.Sidemenu.Constructor = Sidemenu }(window.jQuery), function($) { "use strict"; var FullScreen = function() { this.$body = $("body"), this.$fullscreenBtn = $("#btn-fullscreen") }; //turn on full screen // Thanks to http://davidwalsh.name/fullscreen FullScreen.prototype.launchFullscreen = function(element) { if(element.requestFullscreen) { element.requestFullscreen(); } else if(element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if(element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if(element.msRequestFullscreen) { element.msRequestFullscreen(); } }, FullScreen.prototype.exitFullscreen = function() { if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } }, //toggle screen FullScreen.prototype.toggle_fullscreen = function() { var $this = this; var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled; if(fullscreenEnabled) { if(!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { $this.launchFullscreen(document.documentElement); } else{ $this.exitFullscreen(); } } }, //init sidemenu FullScreen.prototype.init = function() { var $this = this; //bind $this.$fullscreenBtn.on('click', function() { $this.toggle_fullscreen(); }); }, //init FullScreen $.FullScreen = new FullScreen, $.FullScreen.Constructor = FullScreen }(window.jQuery), //portlets function($) { "use strict"; /** Portlet Widget */ var Portlet = function() { this.$body = $("body"), this.$portletIdentifier = ".portlet", this.$portletCloser = '.portlet a[data-toggle="remove"]', this.$portletRefresher = '.portlet a[data-toggle="reload"]' }; //on init Portlet.prototype.init = function() { // Panel closest var $this = this; $(document).on("click",this.$portletCloser, function (ev) { ev.preventDefault(); var $portlet = $(this).closest($this.$portletIdentifier); var $portlet_parent = $portlet.parent(); $portlet.remove(); if ($portlet_parent.children().length == 0) { $portlet_parent.remove(); } }); // Panel Reload $(document).on("click",this.$portletRefresher, function (ev) { ev.preventDefault(); var $portlet = $(this).closest($this.$portletIdentifier); // This is just a simulation, nothing is going to be reloaded $portlet.append('