mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 04:04:20 +00:00 
			
		
		
		
	First commit
This commit is contained in:
		
							
								
								
									
										763
									
								
								assets/adminLTE/dist/js/app.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										763
									
								
								assets/adminLTE/dist/js/app.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,763 @@
 | 
			
		||||
/*! AdminLTE app.js
 | 
			
		||||
 * ================
 | 
			
		||||
 * Main JS application file for AdminLTE v2. This file
 | 
			
		||||
 * should be included in all pages. It controls some layout
 | 
			
		||||
 * options and implements exclusive AdminLTE plugins.
 | 
			
		||||
 *
 | 
			
		||||
 * @Author  Almsaeed Studio
 | 
			
		||||
 * @Support <http://www.almsaeedstudio.com>
 | 
			
		||||
 * @Email   <abdullah@almsaeedstudio.com>
 | 
			
		||||
 * @version 2.3.7
 | 
			
		||||
 * @license MIT <http://opensource.org/licenses/MIT>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
//Make sure jQuery has been loaded before app.js
 | 
			
		||||
if (typeof jQuery === "undefined") {
 | 
			
		||||
  throw new Error("AdminLTE requires jQuery");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* AdminLTE
 | 
			
		||||
 *
 | 
			
		||||
 * @type Object
 | 
			
		||||
 * @description $.AdminLTE is the main object for the template's app.
 | 
			
		||||
 *              It's used for implementing functions and options related
 | 
			
		||||
 *              to the template. Keeping everything wrapped in an object
 | 
			
		||||
 *              prevents conflict with other plugins and is a better
 | 
			
		||||
 *              way to organize our code.
 | 
			
		||||
 */
 | 
			
		||||
$.AdminLTE = {};
 | 
			
		||||
 | 
			
		||||
/* --------------------
 | 
			
		||||
 * - AdminLTE Options -
 | 
			
		||||
 * --------------------
 | 
			
		||||
 * Modify these options to suit your implementation
 | 
			
		||||
 */
 | 
			
		||||
$.AdminLTE.options = {
 | 
			
		||||
  //Add slimscroll to navbar menus
 | 
			
		||||
  //This requires you to load the slimscroll plugin
 | 
			
		||||
  //in every page before app.js
 | 
			
		||||
  navbarMenuSlimscroll: true,
 | 
			
		||||
  navbarMenuSlimscrollWidth: "3px", //The width of the scroll bar
 | 
			
		||||
  navbarMenuHeight: "200px", //The height of the inner menu
 | 
			
		||||
  //General animation speed for JS animated elements such as box collapse/expand and
 | 
			
		||||
  //sidebar treeview slide up/down. This options accepts an integer as milliseconds,
 | 
			
		||||
  //'fast', 'normal', or 'slow'
 | 
			
		||||
  animationSpeed: 500,
 | 
			
		||||
  //Sidebar push menu toggle button selector
 | 
			
		||||
  sidebarToggleSelector: "[data-toggle='offcanvas']",
 | 
			
		||||
  //Activate sidebar push menu
 | 
			
		||||
  sidebarPushMenu: true,
 | 
			
		||||
  //Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
 | 
			
		||||
  sidebarSlimScroll: true,
 | 
			
		||||
  //Enable sidebar expand on hover effect for sidebar mini
 | 
			
		||||
  //This option is forced to true if both the fixed layout and sidebar mini
 | 
			
		||||
  //are used together
 | 
			
		||||
  sidebarExpandOnHover: false,
 | 
			
		||||
  //BoxRefresh Plugin
 | 
			
		||||
  enableBoxRefresh: true,
 | 
			
		||||
  //Bootstrap.js tooltip
 | 
			
		||||
  enableBSToppltip: true,
 | 
			
		||||
  BSTooltipSelector: "[data-toggle='tooltip']",
 | 
			
		||||
  //Enable Fast Click. Fastclick.js creates a more
 | 
			
		||||
  //native touch experience with touch devices. If you
 | 
			
		||||
  //choose to enable the plugin, make sure you load the script
 | 
			
		||||
  //before AdminLTE's app.js
 | 
			
		||||
  enableFastclick: false,
 | 
			
		||||
  //Control Sidebar Options
 | 
			
		||||
  enableControlSidebar: true,
 | 
			
		||||
  controlSidebarOptions: {
 | 
			
		||||
    //Which button should trigger the open/close event
 | 
			
		||||
    toggleBtnSelector: "[data-toggle='control-sidebar']",
 | 
			
		||||
    //The sidebar selector
 | 
			
		||||
    selector: ".control-sidebar",
 | 
			
		||||
    //Enable slide over content
 | 
			
		||||
    slide: true
 | 
			
		||||
  },
 | 
			
		||||
  //Box Widget Plugin. Enable this plugin
 | 
			
		||||
  //to allow boxes to be collapsed and/or removed
 | 
			
		||||
  enableBoxWidget: true,
 | 
			
		||||
  //Box Widget plugin options
 | 
			
		||||
  boxWidgetOptions: {
 | 
			
		||||
    boxWidgetIcons: {
 | 
			
		||||
      //Collapse icon
 | 
			
		||||
      collapse: 'fa-minus',
 | 
			
		||||
      //Open icon
 | 
			
		||||
      open: 'fa-plus',
 | 
			
		||||
      //Remove icon
 | 
			
		||||
      remove: 'fa-times'
 | 
			
		||||
    },
 | 
			
		||||
    boxWidgetSelectors: {
 | 
			
		||||
      //Remove button selector
 | 
			
		||||
      remove: '[data-widget="remove"]',
 | 
			
		||||
      //Collapse button selector
 | 
			
		||||
      collapse: '[data-widget="collapse"]'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  //Direct Chat plugin options
 | 
			
		||||
  directChat: {
 | 
			
		||||
    //Enable direct chat by default
 | 
			
		||||
    enable: true,
 | 
			
		||||
    //The button to open and close the chat contacts pane
 | 
			
		||||
    contactToggleSelector: '[data-widget="chat-pane-toggle"]'
 | 
			
		||||
  },
 | 
			
		||||
  //Define the set of colors to use globally around the website
 | 
			
		||||
  colors: {
 | 
			
		||||
    lightBlue: "#3c8dbc",
 | 
			
		||||
    red: "#f56954",
 | 
			
		||||
    green: "#00a65a",
 | 
			
		||||
    aqua: "#00c0ef",
 | 
			
		||||
    yellow: "#f39c12",
 | 
			
		||||
    blue: "#0073b7",
 | 
			
		||||
    navy: "#001F3F",
 | 
			
		||||
    teal: "#39CCCC",
 | 
			
		||||
    olive: "#3D9970",
 | 
			
		||||
    lime: "#01FF70",
 | 
			
		||||
    orange: "#FF851B",
 | 
			
		||||
    fuchsia: "#F012BE",
 | 
			
		||||
    purple: "#8E24AA",
 | 
			
		||||
    maroon: "#D81B60",
 | 
			
		||||
    black: "#222222",
 | 
			
		||||
    gray: "#d2d6de"
 | 
			
		||||
  },
 | 
			
		||||
  //The standard screen sizes that bootstrap uses.
 | 
			
		||||
  //If you change these in the variables.less file, change
 | 
			
		||||
  //them here too.
 | 
			
		||||
  screenSizes: {
 | 
			
		||||
    xs: 480,
 | 
			
		||||
    sm: 768,
 | 
			
		||||
    md: 992,
 | 
			
		||||
    lg: 1200
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* ------------------
 | 
			
		||||
 * - Implementation -
 | 
			
		||||
 * ------------------
 | 
			
		||||
 * The next block of code implements AdminLTE's
 | 
			
		||||
 * functions and plugins as specified by the
 | 
			
		||||
 * options above.
 | 
			
		||||
 */
 | 
			
		||||
$(function () {
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  //Fix for IE page transitions
 | 
			
		||||
  $("body").removeClass("hold-transition");
 | 
			
		||||
 | 
			
		||||
  //Extend options if external options exist
 | 
			
		||||
  if (typeof AdminLTEOptions !== "undefined") {
 | 
			
		||||
    $.extend(true,
 | 
			
		||||
      $.AdminLTE.options,
 | 
			
		||||
      AdminLTEOptions);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Easy access to options
 | 
			
		||||
  var o = $.AdminLTE.options;
 | 
			
		||||
 | 
			
		||||
  //Set up the object
 | 
			
		||||
  _init();
 | 
			
		||||
 | 
			
		||||
  //Activate the layout maker
 | 
			
		||||
  $.AdminLTE.layout.activate();
 | 
			
		||||
 | 
			
		||||
  //Enable sidebar tree view controls
 | 
			
		||||
  $.AdminLTE.tree('.sidebar');
 | 
			
		||||
 | 
			
		||||
  //Enable control sidebar
 | 
			
		||||
  if (o.enableControlSidebar) {
 | 
			
		||||
    $.AdminLTE.controlSidebar.activate();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Add slimscroll to navbar dropdown
 | 
			
		||||
  if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
 | 
			
		||||
    $(".navbar .menu").slimscroll({
 | 
			
		||||
      height: o.navbarMenuHeight,
 | 
			
		||||
      alwaysVisible: false,
 | 
			
		||||
      size: o.navbarMenuSlimscrollWidth
 | 
			
		||||
    }).css("width", "100%");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Activate sidebar push menu
 | 
			
		||||
  if (o.sidebarPushMenu) {
 | 
			
		||||
    $.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Activate Bootstrap tooltip
 | 
			
		||||
  if (o.enableBSToppltip) {
 | 
			
		||||
    $('body').tooltip({
 | 
			
		||||
      selector: o.BSTooltipSelector
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Activate box widget
 | 
			
		||||
  if (o.enableBoxWidget) {
 | 
			
		||||
    $.AdminLTE.boxWidget.activate();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Activate fast click
 | 
			
		||||
  if (o.enableFastclick && typeof FastClick != 'undefined') {
 | 
			
		||||
    FastClick.attach(document.body);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //Activate direct chat widget
 | 
			
		||||
  if (o.directChat.enable) {
 | 
			
		||||
    $(document).on('click', o.directChat.contactToggleSelector, function () {
 | 
			
		||||
      var box = $(this).parents('.direct-chat').first();
 | 
			
		||||
      box.toggleClass('direct-chat-contacts-open');
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /*
 | 
			
		||||
   * INITIALIZE BUTTON TOGGLE
 | 
			
		||||
   * ------------------------
 | 
			
		||||
   */
 | 
			
		||||
  $('.btn-group[data-toggle="btn-toggle"]').each(function () {
 | 
			
		||||
    var group = $(this);
 | 
			
		||||
    $(this).find(".btn").on('click', function (e) {
 | 
			
		||||
      group.find(".btn.active").removeClass("active");
 | 
			
		||||
      $(this).addClass("active");
 | 
			
		||||
      e.preventDefault();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
/* ----------------------------------
 | 
			
		||||
 * - Initialize the AdminLTE Object -
 | 
			
		||||
 * ----------------------------------
 | 
			
		||||
 * All AdminLTE functions are implemented below.
 | 
			
		||||
 */
 | 
			
		||||
function _init() {
 | 
			
		||||
  'use strict';
 | 
			
		||||
  /* Layout
 | 
			
		||||
   * ======
 | 
			
		||||
   * Fixes the layout height in case min-height fails.
 | 
			
		||||
   *
 | 
			
		||||
   * @type Object
 | 
			
		||||
   * @usage $.AdminLTE.layout.activate()
 | 
			
		||||
   *        $.AdminLTE.layout.fix()
 | 
			
		||||
   *        $.AdminLTE.layout.fixSidebar()
 | 
			
		||||
   */
 | 
			
		||||
  $.AdminLTE.layout = {
 | 
			
		||||
    activate: function () {
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      _this.fix();
 | 
			
		||||
      _this.fixSidebar();
 | 
			
		||||
      $(window, ".wrapper").resize(function () {
 | 
			
		||||
        _this.fix();
 | 
			
		||||
        _this.fixSidebar();
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    fix: function () {
 | 
			
		||||
      //Get window height and the wrapper height
 | 
			
		||||
      var neg = $('.main-header').outerHeight() + $('.main-footer').outerHeight();
 | 
			
		||||
      var window_height = $(window).height();
 | 
			
		||||
      var sidebar_height = $(".sidebar").height();
 | 
			
		||||
      //Set the min-height of the content and sidebar based on the
 | 
			
		||||
      //the height of the document.
 | 
			
		||||
      if ($("body").hasClass("fixed")) {
 | 
			
		||||
        $(".content-wrapper, .right-side").css('min-height', window_height - $('.main-footer').outerHeight());
 | 
			
		||||
      } else {
 | 
			
		||||
        var postSetWidth;
 | 
			
		||||
        if (window_height >= sidebar_height) {
 | 
			
		||||
          $(".content-wrapper, .right-side").css('min-height', window_height - neg);
 | 
			
		||||
          postSetWidth = window_height - neg;
 | 
			
		||||
        } else {
 | 
			
		||||
          $(".content-wrapper, .right-side").css('min-height', sidebar_height);
 | 
			
		||||
          postSetWidth = sidebar_height;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Fix for the control sidebar height
 | 
			
		||||
        var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);
 | 
			
		||||
        if (typeof controlSidebar !== "undefined") {
 | 
			
		||||
          if (controlSidebar.height() > postSetWidth)
 | 
			
		||||
            $(".content-wrapper, .right-side").css('min-height', controlSidebar.height());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    fixSidebar: function () {
 | 
			
		||||
      //Make sure the body tag has the .fixed class
 | 
			
		||||
      if (!$("body").hasClass("fixed")) {
 | 
			
		||||
        if (typeof $.fn.slimScroll != 'undefined') {
 | 
			
		||||
          $(".sidebar").slimScroll({destroy: true}).height("auto");
 | 
			
		||||
        }
 | 
			
		||||
        return;
 | 
			
		||||
      } else if (typeof $.fn.slimScroll == 'undefined' && window.console) {
 | 
			
		||||
        window.console.error("Error: the fixed layout requires the slimscroll plugin!");
 | 
			
		||||
      }
 | 
			
		||||
      //Enable slimscroll for fixed layout
 | 
			
		||||
      if ($.AdminLTE.options.sidebarSlimScroll) {
 | 
			
		||||
        if (typeof $.fn.slimScroll != 'undefined') {
 | 
			
		||||
          //Destroy if it exists
 | 
			
		||||
          $(".sidebar").slimScroll({destroy: true}).height("auto");
 | 
			
		||||
          //Add slimscroll
 | 
			
		||||
          $(".sidebar").slimscroll({
 | 
			
		||||
            height: ($(window).height() - $(".main-header").height()) + "px",
 | 
			
		||||
            color: "rgba(0,0,0,0.2)",
 | 
			
		||||
            size: "3px"
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /* PushMenu()
 | 
			
		||||
   * ==========
 | 
			
		||||
   * Adds the push menu functionality to the sidebar.
 | 
			
		||||
   *
 | 
			
		||||
   * @type Function
 | 
			
		||||
   * @usage: $.AdminLTE.pushMenu("[data-toggle='offcanvas']")
 | 
			
		||||
   */
 | 
			
		||||
  $.AdminLTE.pushMenu = {
 | 
			
		||||
    activate: function (toggleBtn) {
 | 
			
		||||
      //Get the screen sizes
 | 
			
		||||
      var screenSizes = $.AdminLTE.options.screenSizes;
 | 
			
		||||
 | 
			
		||||
      //Enable sidebar toggle
 | 
			
		||||
      $(document).on('click', toggleBtn, function (e) {
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
 | 
			
		||||
        //Enable sidebar push menu
 | 
			
		||||
        if ($(window).width() > (screenSizes.sm - 1)) {
 | 
			
		||||
          if ($("body").hasClass('sidebar-collapse')) {
 | 
			
		||||
            $("body").removeClass('sidebar-collapse').trigger('expanded.pushMenu');
 | 
			
		||||
          } else {
 | 
			
		||||
            $("body").addClass('sidebar-collapse').trigger('collapsed.pushMenu');
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        //Handle sidebar push menu for small screens
 | 
			
		||||
        else {
 | 
			
		||||
          if ($("body").hasClass('sidebar-open')) {
 | 
			
		||||
            $("body").removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');
 | 
			
		||||
          } else {
 | 
			
		||||
            $("body").addClass('sidebar-open').trigger('expanded.pushMenu');
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      $(".content-wrapper").click(function () {
 | 
			
		||||
        //Enable hide menu when clicking on the content-wrapper on small screens
 | 
			
		||||
        if ($(window).width() <= (screenSizes.sm - 1) && $("body").hasClass("sidebar-open")) {
 | 
			
		||||
          $("body").removeClass('sidebar-open');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      //Enable expand on hover for sidebar mini
 | 
			
		||||
      if ($.AdminLTE.options.sidebarExpandOnHover
 | 
			
		||||
        || ($('body').hasClass('fixed')
 | 
			
		||||
        && $('body').hasClass('sidebar-mini'))) {
 | 
			
		||||
        this.expandOnHover();
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    expandOnHover: function () {
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;
 | 
			
		||||
      //Expand sidebar on hover
 | 
			
		||||
      $('.main-sidebar').hover(function () {
 | 
			
		||||
        if ($('body').hasClass('sidebar-mini')
 | 
			
		||||
          && $("body").hasClass('sidebar-collapse')
 | 
			
		||||
          && $(window).width() > screenWidth) {
 | 
			
		||||
          _this.expand();
 | 
			
		||||
        }
 | 
			
		||||
      }, function () {
 | 
			
		||||
        if ($('body').hasClass('sidebar-mini')
 | 
			
		||||
          && $('body').hasClass('sidebar-expanded-on-hover')
 | 
			
		||||
          && $(window).width() > screenWidth) {
 | 
			
		||||
          _this.collapse();
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    expand: function () {
 | 
			
		||||
      $("body").removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');
 | 
			
		||||
    },
 | 
			
		||||
    collapse: function () {
 | 
			
		||||
      if ($('body').hasClass('sidebar-expanded-on-hover')) {
 | 
			
		||||
        $('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /* Tree()
 | 
			
		||||
   * ======
 | 
			
		||||
   * Converts the sidebar into a multilevel
 | 
			
		||||
   * tree view menu.
 | 
			
		||||
   *
 | 
			
		||||
   * @type Function
 | 
			
		||||
   * @Usage: $.AdminLTE.tree('.sidebar')
 | 
			
		||||
   */
 | 
			
		||||
  $.AdminLTE.tree = function (menu) {
 | 
			
		||||
    var _this = this;
 | 
			
		||||
    var animationSpeed = $.AdminLTE.options.animationSpeed;
 | 
			
		||||
    $(document).off('click', menu + ' li a')
 | 
			
		||||
      .on('click', menu + ' li a', function (e) {
 | 
			
		||||
        //Get the clicked link and the next element
 | 
			
		||||
        var $this = $(this);
 | 
			
		||||
        var checkElement = $this.next();
 | 
			
		||||
 | 
			
		||||
        //Check if the next element is a menu and is visible
 | 
			
		||||
        if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {
 | 
			
		||||
          //Close the menu
 | 
			
		||||
          checkElement.slideUp(animationSpeed, function () {
 | 
			
		||||
            checkElement.removeClass('menu-open');
 | 
			
		||||
            //Fix the layout in case the sidebar stretches over the height of the window
 | 
			
		||||
            //_this.layout.fix();
 | 
			
		||||
          });
 | 
			
		||||
          checkElement.parent("li").removeClass("active");
 | 
			
		||||
        }
 | 
			
		||||
        //If the menu is not visible
 | 
			
		||||
        else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
 | 
			
		||||
          //Get the parent menu
 | 
			
		||||
          var parent = $this.parents('ul').first();
 | 
			
		||||
          //Close all open menus within the parent
 | 
			
		||||
          var ul = parent.find('ul:visible').slideUp(animationSpeed);
 | 
			
		||||
          //Remove the menu-open class from the parent
 | 
			
		||||
          ul.removeClass('menu-open');
 | 
			
		||||
          //Get the parent li
 | 
			
		||||
          var parent_li = $this.parent("li");
 | 
			
		||||
 | 
			
		||||
          //Open the target menu and add the menu-open class
 | 
			
		||||
          checkElement.slideDown(animationSpeed, function () {
 | 
			
		||||
            //Add the class active to the parent li
 | 
			
		||||
            checkElement.addClass('menu-open');
 | 
			
		||||
            parent.find('li.active').removeClass('active');
 | 
			
		||||
            parent_li.addClass('active');
 | 
			
		||||
            //Fix the layout in case the sidebar stretches over the height of the window
 | 
			
		||||
            _this.layout.fix();
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
        //if this isn't a link, prevent the page from being redirected
 | 
			
		||||
        if (checkElement.is('.treeview-menu')) {
 | 
			
		||||
          e.preventDefault();
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /* ControlSidebar
 | 
			
		||||
   * ==============
 | 
			
		||||
   * Adds functionality to the right sidebar
 | 
			
		||||
   *
 | 
			
		||||
   * @type Object
 | 
			
		||||
   * @usage $.AdminLTE.controlSidebar.activate(options)
 | 
			
		||||
   */
 | 
			
		||||
  $.AdminLTE.controlSidebar = {
 | 
			
		||||
    //instantiate the object
 | 
			
		||||
    activate: function () {
 | 
			
		||||
      //Get the object
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      //Update options
 | 
			
		||||
      var o = $.AdminLTE.options.controlSidebarOptions;
 | 
			
		||||
      //Get the sidebar
 | 
			
		||||
      var sidebar = $(o.selector);
 | 
			
		||||
      //The toggle button
 | 
			
		||||
      var btn = $(o.toggleBtnSelector);
 | 
			
		||||
 | 
			
		||||
      //Listen to the click event
 | 
			
		||||
      btn.on('click', function (e) {
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
        //If the sidebar is not open
 | 
			
		||||
        if (!sidebar.hasClass('control-sidebar-open')
 | 
			
		||||
          && !$('body').hasClass('control-sidebar-open')) {
 | 
			
		||||
          //Open the sidebar
 | 
			
		||||
          _this.open(sidebar, o.slide);
 | 
			
		||||
        } else {
 | 
			
		||||
          _this.close(sidebar, o.slide);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      //If the body has a boxed layout, fix the sidebar bg position
 | 
			
		||||
      var bg = $(".control-sidebar-bg");
 | 
			
		||||
      _this._fix(bg);
 | 
			
		||||
 | 
			
		||||
      //If the body has a fixed layout, make the control sidebar fixed
 | 
			
		||||
      if ($('body').hasClass('fixed')) {
 | 
			
		||||
        _this._fixForFixed(sidebar);
 | 
			
		||||
      } else {
 | 
			
		||||
        //If the content height is less than the sidebar's height, force max height
 | 
			
		||||
        if ($('.content-wrapper, .right-side').height() < sidebar.height()) {
 | 
			
		||||
          _this._fixForContent(sidebar);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    //Open the control sidebar
 | 
			
		||||
    open: function (sidebar, slide) {
 | 
			
		||||
      //Slide over content
 | 
			
		||||
      if (slide) {
 | 
			
		||||
        sidebar.addClass('control-sidebar-open');
 | 
			
		||||
      } else {
 | 
			
		||||
        //Push the content by adding the open class to the body instead
 | 
			
		||||
        //of the sidebar itself
 | 
			
		||||
        $('body').addClass('control-sidebar-open');
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    //Close the control sidebar
 | 
			
		||||
    close: function (sidebar, slide) {
 | 
			
		||||
      if (slide) {
 | 
			
		||||
        sidebar.removeClass('control-sidebar-open');
 | 
			
		||||
      } else {
 | 
			
		||||
        $('body').removeClass('control-sidebar-open');
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    _fix: function (sidebar) {
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      if ($("body").hasClass('layout-boxed')) {
 | 
			
		||||
        sidebar.css('position', 'absolute');
 | 
			
		||||
        sidebar.height($(".wrapper").height());
 | 
			
		||||
        if (_this.hasBindedResize) {
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
        $(window).resize(function () {
 | 
			
		||||
          _this._fix(sidebar);
 | 
			
		||||
        });
 | 
			
		||||
        _this.hasBindedResize = true;
 | 
			
		||||
      } else {
 | 
			
		||||
        sidebar.css({
 | 
			
		||||
          'position': 'fixed',
 | 
			
		||||
          'height': 'auto'
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    _fixForFixed: function (sidebar) {
 | 
			
		||||
      sidebar.css({
 | 
			
		||||
        'position': 'fixed',
 | 
			
		||||
        'max-height': '100%',
 | 
			
		||||
        'overflow': 'auto',
 | 
			
		||||
        'padding-bottom': '50px'
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    _fixForContent: function (sidebar) {
 | 
			
		||||
      $(".content-wrapper, .right-side").css('min-height', sidebar.height());
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /* BoxWidget
 | 
			
		||||
   * =========
 | 
			
		||||
   * BoxWidget is a plugin to handle collapsing and
 | 
			
		||||
   * removing boxes from the screen.
 | 
			
		||||
   *
 | 
			
		||||
   * @type Object
 | 
			
		||||
   * @usage $.AdminLTE.boxWidget.activate()
 | 
			
		||||
   *        Set all your options in the main $.AdminLTE.options object
 | 
			
		||||
   */
 | 
			
		||||
  $.AdminLTE.boxWidget = {
 | 
			
		||||
    selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
 | 
			
		||||
    icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
 | 
			
		||||
    animationSpeed: $.AdminLTE.options.animationSpeed,
 | 
			
		||||
    activate: function (_box) {
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      if (!_box) {
 | 
			
		||||
        _box = document; // activate all boxes per default
 | 
			
		||||
      }
 | 
			
		||||
      //Listen for collapse event triggers
 | 
			
		||||
      $(_box).on('click', _this.selectors.collapse, function (e) {
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
        _this.collapse($(this));
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      //Listen for remove event triggers
 | 
			
		||||
      $(_box).on('click', _this.selectors.remove, function (e) {
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
        _this.remove($(this));
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    collapse: function (element) {
 | 
			
		||||
      var _this = this;
 | 
			
		||||
      //Find the box parent
 | 
			
		||||
      var box = element.parents(".box").first();
 | 
			
		||||
      //Find the body and the footer
 | 
			
		||||
      var box_content = box.find("> .box-body, > .box-footer, > form  >.box-body, > form > .box-footer");
 | 
			
		||||
      if (!box.hasClass("collapsed-box")) {
 | 
			
		||||
        //Convert minus into plus
 | 
			
		||||
        element.children(":first")
 | 
			
		||||
          .removeClass(_this.icons.collapse)
 | 
			
		||||
          .addClass(_this.icons.open);
 | 
			
		||||
        //Hide the content
 | 
			
		||||
        box_content.slideUp(_this.animationSpeed, function () {
 | 
			
		||||
          box.addClass("collapsed-box");
 | 
			
		||||
        });
 | 
			
		||||
      } else {
 | 
			
		||||
        //Convert plus into minus
 | 
			
		||||
        element.children(":first")
 | 
			
		||||
          .removeClass(_this.icons.open)
 | 
			
		||||
          .addClass(_this.icons.collapse);
 | 
			
		||||
        //Show the content
 | 
			
		||||
        box_content.slideDown(_this.animationSpeed, function () {
 | 
			
		||||
          box.removeClass("collapsed-box");
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    remove: function (element) {
 | 
			
		||||
      //Find the box parent
 | 
			
		||||
      var box = element.parents(".box").first();
 | 
			
		||||
      box.slideUp(this.animationSpeed);
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ------------------
 | 
			
		||||
 * - Custom Plugins -
 | 
			
		||||
 * ------------------
 | 
			
		||||
 * All custom plugins are defined below.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * BOX REFRESH BUTTON
 | 
			
		||||
 * ------------------
 | 
			
		||||
 * This is a custom plugin to use with the component BOX. It allows you to add
 | 
			
		||||
 * a refresh button to the box. It converts the box's state to a loading state.
 | 
			
		||||
 *
 | 
			
		||||
 * @type plugin
 | 
			
		||||
 * @usage $("#box-widget").boxRefresh( options );
 | 
			
		||||
 */
 | 
			
		||||
(function ($) {
 | 
			
		||||
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  $.fn.boxRefresh = function (options) {
 | 
			
		||||
 | 
			
		||||
    // Render options
 | 
			
		||||
    var settings = $.extend({
 | 
			
		||||
      //Refresh button selector
 | 
			
		||||
      trigger: ".refresh-btn",
 | 
			
		||||
      //File source to be loaded (e.g: ajax/src.php)
 | 
			
		||||
      source: "",
 | 
			
		||||
      //Callbacks
 | 
			
		||||
      onLoadStart: function (box) {
 | 
			
		||||
        return box;
 | 
			
		||||
      }, //Right after the button has been clicked
 | 
			
		||||
      onLoadDone: function (box) {
 | 
			
		||||
        return box;
 | 
			
		||||
      } //When the source has been loaded
 | 
			
		||||
 | 
			
		||||
    }, options);
 | 
			
		||||
 | 
			
		||||
    //The overlay
 | 
			
		||||
    var overlay = $('<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>');
 | 
			
		||||
 | 
			
		||||
    return this.each(function () {
 | 
			
		||||
      //if a source is specified
 | 
			
		||||
      if (settings.source === "") {
 | 
			
		||||
        if (window.console) {
 | 
			
		||||
          window.console.log("Please specify a source first - boxRefresh()");
 | 
			
		||||
        }
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
      //the box
 | 
			
		||||
      var box = $(this);
 | 
			
		||||
      //the button
 | 
			
		||||
      var rBtn = box.find(settings.trigger).first();
 | 
			
		||||
 | 
			
		||||
      //On trigger click
 | 
			
		||||
      rBtn.on('click', function (e) {
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
        //Add loading overlay
 | 
			
		||||
        start(box);
 | 
			
		||||
 | 
			
		||||
        //Perform ajax call
 | 
			
		||||
        box.find(".box-body").load(settings.source, function () {
 | 
			
		||||
          done(box);
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    function start(box) {
 | 
			
		||||
      //Add overlay and loading img
 | 
			
		||||
      box.append(overlay);
 | 
			
		||||
 | 
			
		||||
      settings.onLoadStart.call(box);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function done(box) {
 | 
			
		||||
      //Remove overlay and loading img
 | 
			
		||||
      box.find(overlay).remove();
 | 
			
		||||
 | 
			
		||||
      settings.onLoadDone.call(box);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
})(jQuery);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * EXPLICIT BOX CONTROLS
 | 
			
		||||
 * -----------------------
 | 
			
		||||
 * This is a custom plugin to use with the component BOX. It allows you to activate
 | 
			
		||||
 * a box inserted in the DOM after the app.js was loaded, toggle and remove box.
 | 
			
		||||
 *
 | 
			
		||||
 * @type plugin
 | 
			
		||||
 * @usage $("#box-widget").activateBox();
 | 
			
		||||
 * @usage $("#box-widget").toggleBox();
 | 
			
		||||
 * @usage $("#box-widget").removeBox();
 | 
			
		||||
 */
 | 
			
		||||
(function ($) {
 | 
			
		||||
 | 
			
		||||
  'use strict';
 | 
			
		||||
 | 
			
		||||
  $.fn.activateBox = function () {
 | 
			
		||||
    $.AdminLTE.boxWidget.activate(this);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  $.fn.toggleBox = function () {
 | 
			
		||||
    var button = $($.AdminLTE.boxWidget.selectors.collapse, this);
 | 
			
		||||
    $.AdminLTE.boxWidget.collapse(button);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  $.fn.removeBox = function () {
 | 
			
		||||
    var button = $($.AdminLTE.boxWidget.selectors.remove, this);
 | 
			
		||||
    $.AdminLTE.boxWidget.remove(button);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
})(jQuery);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * TODO LIST CUSTOM PLUGIN
 | 
			
		||||
 * -----------------------
 | 
			
		||||
 * This plugin depends on iCheck plugin for checkbox and radio inputs
 | 
			
		||||
 *
 | 
			
		||||
 * @type plugin
 | 
			
		||||
 * @usage $("#todo-widget").todolist( options );
 | 
			
		||||
 */
 | 
			
		||||
(function ($) {
 | 
			
		||||
 | 
			
		||||
  'use strict';
 | 
			
		||||
 | 
			
		||||
  $.fn.todolist = function (options) {
 | 
			
		||||
    // Render options
 | 
			
		||||
    var settings = $.extend({
 | 
			
		||||
      //When the user checks the input
 | 
			
		||||
      onCheck: function (ele) {
 | 
			
		||||
        return ele;
 | 
			
		||||
      },
 | 
			
		||||
      //When the user unchecks the input
 | 
			
		||||
      onUncheck: function (ele) {
 | 
			
		||||
        return ele;
 | 
			
		||||
      }
 | 
			
		||||
    }, options);
 | 
			
		||||
 | 
			
		||||
    return this.each(function () {
 | 
			
		||||
 | 
			
		||||
      if (typeof $.fn.iCheck != 'undefined') {
 | 
			
		||||
        $('input', this).on('ifChecked', function () {
 | 
			
		||||
          var ele = $(this).parents("li").first();
 | 
			
		||||
          ele.toggleClass("done");
 | 
			
		||||
          settings.onCheck.call(ele);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        $('input', this).on('ifUnchecked', function () {
 | 
			
		||||
          var ele = $(this).parents("li").first();
 | 
			
		||||
          ele.toggleClass("done");
 | 
			
		||||
          settings.onUncheck.call(ele);
 | 
			
		||||
        });
 | 
			
		||||
      } else {
 | 
			
		||||
        $('input', this).on('change', function () {
 | 
			
		||||
          var ele = $(this).parents("li").first();
 | 
			
		||||
          ele.toggleClass("done");
 | 
			
		||||
          if ($('input', ele).is(":checked")) {
 | 
			
		||||
            settings.onCheck.call(ele);
 | 
			
		||||
          } else {
 | 
			
		||||
            settings.onUncheck.call(ele);
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
}(jQuery));
 | 
			
		||||
							
								
								
									
										13
									
								
								assets/adminLTE/dist/js/app.min.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								assets/adminLTE/dist/js/app.min.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										340
									
								
								assets/adminLTE/dist/js/demo.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										340
									
								
								assets/adminLTE/dist/js/demo.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,340 @@
 | 
			
		||||
/**
 | 
			
		||||
 * AdminLTE Demo Menu
 | 
			
		||||
 * ------------------
 | 
			
		||||
 * You should not use this file in production.
 | 
			
		||||
 * This file is for demo purposes only.
 | 
			
		||||
 */
 | 
			
		||||
(function ($, AdminLTE) {
 | 
			
		||||
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * List of all the available skins
 | 
			
		||||
   *
 | 
			
		||||
   * @type Array
 | 
			
		||||
   */
 | 
			
		||||
  var my_skins = [
 | 
			
		||||
    "skin-blue",
 | 
			
		||||
    "skin-black",
 | 
			
		||||
    "skin-red",
 | 
			
		||||
    "skin-yellow",
 | 
			
		||||
    "skin-purple",
 | 
			
		||||
    "skin-green",
 | 
			
		||||
    "skin-blue-light",
 | 
			
		||||
    "skin-black-light",
 | 
			
		||||
    "skin-red-light",
 | 
			
		||||
    "skin-yellow-light",
 | 
			
		||||
    "skin-purple-light",
 | 
			
		||||
    "skin-green-light"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  //Create the new tab
 | 
			
		||||
  var tab_pane = $("<div />", {
 | 
			
		||||
    "id": "control-sidebar-theme-demo-options-tab",
 | 
			
		||||
    "class": "tab-pane active"
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //Create the tab button
 | 
			
		||||
  var tab_button = $("<li />", {"class": "active"})
 | 
			
		||||
      .html("<a href='#control-sidebar-theme-demo-options-tab' data-toggle='tab'>"
 | 
			
		||||
      + "<i class='fa fa-wrench'></i>"
 | 
			
		||||
      + "</a>");
 | 
			
		||||
 | 
			
		||||
  //Add the tab button to the right sidebar tabs
 | 
			
		||||
  $("[href='#control-sidebar-home-tab']")
 | 
			
		||||
      .parent()
 | 
			
		||||
      .before(tab_button);
 | 
			
		||||
 | 
			
		||||
  //Create the menu
 | 
			
		||||
  var demo_settings = $("<div />");
 | 
			
		||||
 | 
			
		||||
  //Layout options
 | 
			
		||||
  demo_settings.append(
 | 
			
		||||
      "<h4 class='control-sidebar-heading'>"
 | 
			
		||||
      + "Layout Options"
 | 
			
		||||
      + "</h4>"
 | 
			
		||||
        //Fixed layout
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-layout='fixed' class='pull-right'/> "
 | 
			
		||||
      + "Fixed layout"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Activate the fixed layout. You can't use fixed and boxed layouts together</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
        //Boxed layout
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-layout='layout-boxed'class='pull-right'/> "
 | 
			
		||||
      + "Boxed Layout"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Activate the boxed layout</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
        //Sidebar Toggle
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-layout='sidebar-collapse' class='pull-right'/> "
 | 
			
		||||
      + "Toggle Sidebar"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Toggle the left sidebar's state (open or collapse)</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
        //Sidebar mini expand on hover toggle
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-enable='expandOnHover' class='pull-right'/> "
 | 
			
		||||
      + "Sidebar Expand on Hover"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Let the sidebar mini expand on hover</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
        //Control Sidebar Toggle
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-controlsidebar='control-sidebar-open' class='pull-right'/> "
 | 
			
		||||
      + "Toggle Right Sidebar Slide"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Toggle between slide over content and push content effects</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
        //Control Sidebar Skin Toggle
 | 
			
		||||
      + "<div class='form-group'>"
 | 
			
		||||
      + "<label class='control-sidebar-subheading'>"
 | 
			
		||||
      + "<input type='checkbox' data-sidebarskin='toggle' class='pull-right'/> "
 | 
			
		||||
      + "Toggle Right Sidebar Skin"
 | 
			
		||||
      + "</label>"
 | 
			
		||||
      + "<p>Toggle between dark and light skins for the right sidebar</p>"
 | 
			
		||||
      + "</div>"
 | 
			
		||||
  );
 | 
			
		||||
  var skins_list = $("<ul />", {"class": 'list-unstyled clearfix'});
 | 
			
		||||
 | 
			
		||||
  //Dark sidebar skins
 | 
			
		||||
  var skin_blue =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-blue' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px; background: #367fa9;'></span><span class='bg-light-blue' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Blue</p>");
 | 
			
		||||
  skins_list.append(skin_blue);
 | 
			
		||||
  var skin_black =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-black' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div style='box-shadow: 0 0 2px rgba(0,0,0,0.1)' class='clearfix'><span style='display:block; width: 20%; float: left; height: 7px; background: #fefefe;'></span><span style='display:block; width: 80%; float: left; height: 7px; background: #fefefe;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Black</p>");
 | 
			
		||||
  skins_list.append(skin_black);
 | 
			
		||||
  var skin_purple =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-purple' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-purple-active'></span><span class='bg-purple' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Purple</p>");
 | 
			
		||||
  skins_list.append(skin_purple);
 | 
			
		||||
  var skin_green =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-green' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-green-active'></span><span class='bg-green' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Green</p>");
 | 
			
		||||
  skins_list.append(skin_green);
 | 
			
		||||
  var skin_red =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-red' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-red-active'></span><span class='bg-red' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Red</p>");
 | 
			
		||||
  skins_list.append(skin_red);
 | 
			
		||||
  var skin_yellow =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-yellow' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-yellow-active'></span><span class='bg-yellow' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin'>Yellow</p>");
 | 
			
		||||
  skins_list.append(skin_yellow);
 | 
			
		||||
 | 
			
		||||
  //Light sidebar skins
 | 
			
		||||
  var skin_blue_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-blue-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px; background: #367fa9;'></span><span class='bg-light-blue' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px'>Blue Light</p>");
 | 
			
		||||
  skins_list.append(skin_blue_light);
 | 
			
		||||
  var skin_black_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-black-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div style='box-shadow: 0 0 2px rgba(0,0,0,0.1)' class='clearfix'><span style='display:block; width: 20%; float: left; height: 7px; background: #fefefe;'></span><span style='display:block; width: 80%; float: left; height: 7px; background: #fefefe;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px'>Black Light</p>");
 | 
			
		||||
  skins_list.append(skin_black_light);
 | 
			
		||||
  var skin_purple_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-purple-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-purple-active'></span><span class='bg-purple' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px'>Purple Light</p>");
 | 
			
		||||
  skins_list.append(skin_purple_light);
 | 
			
		||||
  var skin_green_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-green-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-green-active'></span><span class='bg-green' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px'>Green Light</p>");
 | 
			
		||||
  skins_list.append(skin_green_light);
 | 
			
		||||
  var skin_red_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-red-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-red-active'></span><span class='bg-red' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px'>Red Light</p>");
 | 
			
		||||
  skins_list.append(skin_red_light);
 | 
			
		||||
  var skin_yellow_light =
 | 
			
		||||
      $("<li />", {style: "float:left; width: 33.33333%; padding: 5px;"})
 | 
			
		||||
          .append("<a href='javascript:void(0);' data-skin='skin-yellow-light' style='display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)' class='clearfix full-opacity-hover'>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 7px;' class='bg-yellow-active'></span><span class='bg-yellow' style='display:block; width: 80%; float: left; height: 7px;'></span></div>"
 | 
			
		||||
          + "<div><span style='display:block; width: 20%; float: left; height: 20px; background: #f9fafc;'></span><span style='display:block; width: 80%; float: left; height: 20px; background: #f4f5f7;'></span></div>"
 | 
			
		||||
          + "</a>"
 | 
			
		||||
          + "<p class='text-center no-margin' style='font-size: 12px;'>Yellow Light</p>");
 | 
			
		||||
  skins_list.append(skin_yellow_light);
 | 
			
		||||
 | 
			
		||||
  demo_settings.append("<h4 class='control-sidebar-heading'>Skins</h4>");
 | 
			
		||||
  demo_settings.append(skins_list);
 | 
			
		||||
 | 
			
		||||
  tab_pane.append(demo_settings);
 | 
			
		||||
  $("#control-sidebar-home-tab").after(tab_pane);
 | 
			
		||||
 | 
			
		||||
  setup();
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Toggles layout classes
 | 
			
		||||
   *
 | 
			
		||||
   * @param String cls the layout class to toggle
 | 
			
		||||
   * @returns void
 | 
			
		||||
   */
 | 
			
		||||
  function change_layout(cls) {
 | 
			
		||||
    $("body").toggleClass(cls);
 | 
			
		||||
    AdminLTE.layout.fixSidebar();
 | 
			
		||||
    //Fix the problem with right sidebar and layout boxed
 | 
			
		||||
    if (cls == "layout-boxed")
 | 
			
		||||
      AdminLTE.controlSidebar._fix($(".control-sidebar-bg"));
 | 
			
		||||
    if ($('body').hasClass('fixed') && cls == 'fixed') {
 | 
			
		||||
      AdminLTE.pushMenu.expandOnHover();
 | 
			
		||||
      AdminLTE.layout.activate();
 | 
			
		||||
    }
 | 
			
		||||
    AdminLTE.controlSidebar._fix($(".control-sidebar-bg"));
 | 
			
		||||
    AdminLTE.controlSidebar._fix($(".control-sidebar"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Replaces the old skin with the new skin
 | 
			
		||||
   * @param String cls the new skin class
 | 
			
		||||
   * @returns Boolean false to prevent link's default action
 | 
			
		||||
   */
 | 
			
		||||
  function change_skin(cls) {
 | 
			
		||||
    $.each(my_skins, function (i) {
 | 
			
		||||
      $("body").removeClass(my_skins[i]);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $("body").addClass(cls);
 | 
			
		||||
    store('skin', cls);
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Store a new settings in the browser
 | 
			
		||||
   *
 | 
			
		||||
   * @param String name Name of the setting
 | 
			
		||||
   * @param String val Value of the setting
 | 
			
		||||
   * @returns void
 | 
			
		||||
   */
 | 
			
		||||
  function store(name, val) {
 | 
			
		||||
    if (typeof (Storage) !== "undefined") {
 | 
			
		||||
      localStorage.setItem(name, val);
 | 
			
		||||
    } else {
 | 
			
		||||
      window.alert('Please use a modern browser to properly view this template!');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Get a prestored setting
 | 
			
		||||
   *
 | 
			
		||||
   * @param String name Name of of the setting
 | 
			
		||||
   * @returns String The value of the setting | null
 | 
			
		||||
   */
 | 
			
		||||
  function get(name) {
 | 
			
		||||
    if (typeof (Storage) !== "undefined") {
 | 
			
		||||
      return localStorage.getItem(name);
 | 
			
		||||
    } else {
 | 
			
		||||
      window.alert('Please use a modern browser to properly view this template!');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Retrieve default settings and apply them to the template
 | 
			
		||||
   *
 | 
			
		||||
   * @returns void
 | 
			
		||||
   */
 | 
			
		||||
  function setup() {
 | 
			
		||||
    var tmp = get('skin');
 | 
			
		||||
    if (tmp && $.inArray(tmp, my_skins))
 | 
			
		||||
      change_skin(tmp);
 | 
			
		||||
 | 
			
		||||
    //Add the change skin listener
 | 
			
		||||
    $("[data-skin]").on('click', function (e) {
 | 
			
		||||
      if($(this).hasClass('knob'))
 | 
			
		||||
        return;
 | 
			
		||||
      e.preventDefault();
 | 
			
		||||
      change_skin($(this).data('skin'));
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    //Add the layout manager
 | 
			
		||||
    $("[data-layout]").on('click', function () {
 | 
			
		||||
      change_layout($(this).data('layout'));
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $("[data-controlsidebar]").on('click', function () {
 | 
			
		||||
      change_layout($(this).data('controlsidebar'));
 | 
			
		||||
      var slide = !AdminLTE.options.controlSidebarOptions.slide;
 | 
			
		||||
      AdminLTE.options.controlSidebarOptions.slide = slide;
 | 
			
		||||
      if (!slide)
 | 
			
		||||
        $('.control-sidebar').removeClass('control-sidebar-open');
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $("[data-sidebarskin='toggle']").on('click', function () {
 | 
			
		||||
      var sidebar = $(".control-sidebar");
 | 
			
		||||
      if (sidebar.hasClass("control-sidebar-dark")) {
 | 
			
		||||
        sidebar.removeClass("control-sidebar-dark")
 | 
			
		||||
        sidebar.addClass("control-sidebar-light")
 | 
			
		||||
      } else {
 | 
			
		||||
        sidebar.removeClass("control-sidebar-light")
 | 
			
		||||
        sidebar.addClass("control-sidebar-dark")
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $("[data-enable='expandOnHover']").on('click', function () {
 | 
			
		||||
      $(this).attr('disabled', true);
 | 
			
		||||
      AdminLTE.pushMenu.expandOnHover();
 | 
			
		||||
      if (!$('body').hasClass('sidebar-collapse'))
 | 
			
		||||
        $("[data-layout='sidebar-collapse']").click();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // Reset options
 | 
			
		||||
    if ($('body').hasClass('fixed')) {
 | 
			
		||||
      $("[data-layout='fixed']").attr('checked', 'checked');
 | 
			
		||||
    }
 | 
			
		||||
    if ($('body').hasClass('layout-boxed')) {
 | 
			
		||||
      $("[data-layout='layout-boxed']").attr('checked', 'checked');
 | 
			
		||||
    }
 | 
			
		||||
    if ($('body').hasClass('sidebar-collapse')) {
 | 
			
		||||
      $("[data-layout='sidebar-collapse']").attr('checked', 'checked');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
})(jQuery, $.AdminLTE);
 | 
			
		||||
							
								
								
									
										210
									
								
								assets/adminLTE/dist/js/pages/dashboard.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										210
									
								
								assets/adminLTE/dist/js/pages/dashboard.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,210 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Author: Abdullah A Almsaeed
 | 
			
		||||
 * Date: 4 Jan 2014
 | 
			
		||||
 * Description:
 | 
			
		||||
 *      This is a demo file used only for the main dashboard (index.html)
 | 
			
		||||
 **/
 | 
			
		||||
 | 
			
		||||
$(function () {
 | 
			
		||||
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  //Make the dashboard widgets sortable Using jquery UI
 | 
			
		||||
  $(".connectedSortable").sortable({
 | 
			
		||||
    placeholder: "sort-highlight",
 | 
			
		||||
    connectWith: ".connectedSortable",
 | 
			
		||||
    handle: ".box-header, .nav-tabs",
 | 
			
		||||
    forcePlaceholderSize: true,
 | 
			
		||||
    zIndex: 999999
 | 
			
		||||
  });
 | 
			
		||||
  $(".connectedSortable .box-header, .connectedSortable .nav-tabs-custom").css("cursor", "move");
 | 
			
		||||
 | 
			
		||||
  //jQuery UI sortable for the todo list
 | 
			
		||||
  $(".todo-list").sortable({
 | 
			
		||||
    placeholder: "sort-highlight",
 | 
			
		||||
    handle: ".handle",
 | 
			
		||||
    forcePlaceholderSize: true,
 | 
			
		||||
    zIndex: 999999
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //bootstrap WYSIHTML5 - text editor
 | 
			
		||||
  $(".textarea").wysihtml5();
 | 
			
		||||
 | 
			
		||||
  $('.daterange').daterangepicker({
 | 
			
		||||
    ranges: {
 | 
			
		||||
      'Today': [moment(), moment()],
 | 
			
		||||
      'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
 | 
			
		||||
      'Last 7 Days': [moment().subtract(6, 'days'), moment()],
 | 
			
		||||
      'Last 30 Days': [moment().subtract(29, 'days'), moment()],
 | 
			
		||||
      'This Month': [moment().startOf('month'), moment().endOf('month')],
 | 
			
		||||
      'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
 | 
			
		||||
    },
 | 
			
		||||
    startDate: moment().subtract(29, 'days'),
 | 
			
		||||
    endDate: moment()
 | 
			
		||||
  }, function (start, end) {
 | 
			
		||||
    window.alert("You chose: " + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  /* jQueryKnob */
 | 
			
		||||
  $(".knob").knob();
 | 
			
		||||
 | 
			
		||||
  //jvectormap data
 | 
			
		||||
  var visitorsData = {
 | 
			
		||||
    "US": 398, //USA
 | 
			
		||||
    "SA": 400, //Saudi Arabia
 | 
			
		||||
    "CA": 1000, //Canada
 | 
			
		||||
    "DE": 500, //Germany
 | 
			
		||||
    "FR": 760, //France
 | 
			
		||||
    "CN": 300, //China
 | 
			
		||||
    "AU": 700, //Australia
 | 
			
		||||
    "BR": 600, //Brazil
 | 
			
		||||
    "IN": 800, //India
 | 
			
		||||
    "GB": 320, //Great Britain
 | 
			
		||||
    "RU": 3000 //Russia
 | 
			
		||||
  };
 | 
			
		||||
  //World map by jvectormap
 | 
			
		||||
  $('#world-map').vectorMap({
 | 
			
		||||
    map: 'world_mill_en',
 | 
			
		||||
    backgroundColor: "transparent",
 | 
			
		||||
    regionStyle: {
 | 
			
		||||
      initial: {
 | 
			
		||||
        fill: '#e4e4e4',
 | 
			
		||||
        "fill-opacity": 1,
 | 
			
		||||
        stroke: 'none',
 | 
			
		||||
        "stroke-width": 0,
 | 
			
		||||
        "stroke-opacity": 1
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    series: {
 | 
			
		||||
      regions: [{
 | 
			
		||||
        values: visitorsData,
 | 
			
		||||
        scale: ["#92c1dc", "#ebf4f9"],
 | 
			
		||||
        normalizeFunction: 'polynomial'
 | 
			
		||||
      }]
 | 
			
		||||
    },
 | 
			
		||||
    onRegionLabelShow: function (e, el, code) {
 | 
			
		||||
      if (typeof visitorsData[code] != "undefined")
 | 
			
		||||
        el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //Sparkline charts
 | 
			
		||||
  var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021];
 | 
			
		||||
  $('#sparkline-1').sparkline(myvalues, {
 | 
			
		||||
    type: 'line',
 | 
			
		||||
    lineColor: '#92c1dc',
 | 
			
		||||
    fillColor: "#ebf4f9",
 | 
			
		||||
    height: '50',
 | 
			
		||||
    width: '80'
 | 
			
		||||
  });
 | 
			
		||||
  myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921];
 | 
			
		||||
  $('#sparkline-2').sparkline(myvalues, {
 | 
			
		||||
    type: 'line',
 | 
			
		||||
    lineColor: '#92c1dc',
 | 
			
		||||
    fillColor: "#ebf4f9",
 | 
			
		||||
    height: '50',
 | 
			
		||||
    width: '80'
 | 
			
		||||
  });
 | 
			
		||||
  myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21];
 | 
			
		||||
  $('#sparkline-3').sparkline(myvalues, {
 | 
			
		||||
    type: 'line',
 | 
			
		||||
    lineColor: '#92c1dc',
 | 
			
		||||
    fillColor: "#ebf4f9",
 | 
			
		||||
    height: '50',
 | 
			
		||||
    width: '80'
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //The Calender
 | 
			
		||||
  $("#calendar").datepicker();
 | 
			
		||||
 | 
			
		||||
  //SLIMSCROLL FOR CHAT WIDGET
 | 
			
		||||
  $('#chat-box').slimScroll({
 | 
			
		||||
    height: '250px'
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  /* Morris.js Charts */
 | 
			
		||||
  // Sales chart
 | 
			
		||||
  var area = new Morris.Area({
 | 
			
		||||
    element: 'revenue-chart',
 | 
			
		||||
    resize: true,
 | 
			
		||||
    data: [
 | 
			
		||||
      {y: '2011 Q1', item1: 2666, item2: 2666},
 | 
			
		||||
      {y: '2011 Q2', item1: 2778, item2: 2294},
 | 
			
		||||
      {y: '2011 Q3', item1: 4912, item2: 1969},
 | 
			
		||||
      {y: '2011 Q4', item1: 3767, item2: 3597},
 | 
			
		||||
      {y: '2012 Q1', item1: 6810, item2: 1914},
 | 
			
		||||
      {y: '2012 Q2', item1: 5670, item2: 4293},
 | 
			
		||||
      {y: '2012 Q3', item1: 4820, item2: 3795},
 | 
			
		||||
      {y: '2012 Q4', item1: 15073, item2: 5967},
 | 
			
		||||
      {y: '2013 Q1', item1: 10687, item2: 4460},
 | 
			
		||||
      {y: '2013 Q2', item1: 8432, item2: 5713}
 | 
			
		||||
    ],
 | 
			
		||||
    xkey: 'y',
 | 
			
		||||
    ykeys: ['item1', 'item2'],
 | 
			
		||||
    labels: ['Item 1', 'Item 2'],
 | 
			
		||||
    lineColors: ['#a0d0e0', '#3c8dbc'],
 | 
			
		||||
    hideHover: 'auto'
 | 
			
		||||
  });
 | 
			
		||||
  var line = new Morris.Line({
 | 
			
		||||
    element: 'line-chart',
 | 
			
		||||
    resize: true,
 | 
			
		||||
    data: [
 | 
			
		||||
      {y: '2011 Q1', item1: 2666},
 | 
			
		||||
      {y: '2011 Q2', item1: 2778},
 | 
			
		||||
      {y: '2011 Q3', item1: 4912},
 | 
			
		||||
      {y: '2011 Q4', item1: 3767},
 | 
			
		||||
      {y: '2012 Q1', item1: 6810},
 | 
			
		||||
      {y: '2012 Q2', item1: 5670},
 | 
			
		||||
      {y: '2012 Q3', item1: 4820},
 | 
			
		||||
      {y: '2012 Q4', item1: 15073},
 | 
			
		||||
      {y: '2013 Q1', item1: 10687},
 | 
			
		||||
      {y: '2013 Q2', item1: 8432}
 | 
			
		||||
    ],
 | 
			
		||||
    xkey: 'y',
 | 
			
		||||
    ykeys: ['item1'],
 | 
			
		||||
    labels: ['Item 1'],
 | 
			
		||||
    lineColors: ['#efefef'],
 | 
			
		||||
    lineWidth: 2,
 | 
			
		||||
    hideHover: 'auto',
 | 
			
		||||
    gridTextColor: "#fff",
 | 
			
		||||
    gridStrokeWidth: 0.4,
 | 
			
		||||
    pointSize: 4,
 | 
			
		||||
    pointStrokeColors: ["#efefef"],
 | 
			
		||||
    gridLineColor: "#efefef",
 | 
			
		||||
    gridTextFamily: "Open Sans",
 | 
			
		||||
    gridTextSize: 10
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //Donut Chart
 | 
			
		||||
  var donut = new Morris.Donut({
 | 
			
		||||
    element: 'sales-chart',
 | 
			
		||||
    resize: true,
 | 
			
		||||
    colors: ["#3c8dbc", "#f56954", "#00a65a"],
 | 
			
		||||
    data: [
 | 
			
		||||
      {label: "Download Sales", value: 12},
 | 
			
		||||
      {label: "In-Store Sales", value: 30},
 | 
			
		||||
      {label: "Mail-Order Sales", value: 20}
 | 
			
		||||
    ],
 | 
			
		||||
    hideHover: 'auto'
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //Fix for charts under tabs
 | 
			
		||||
  $('.box ul.nav a').on('shown.bs.tab', function () {
 | 
			
		||||
    area.redraw();
 | 
			
		||||
    donut.redraw();
 | 
			
		||||
    line.redraw();
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  /* The todo list plugin */
 | 
			
		||||
  $(".todo-list").todolist({
 | 
			
		||||
    onCheck: function (ele) {
 | 
			
		||||
      window.console.log("The element has been checked");
 | 
			
		||||
      return ele;
 | 
			
		||||
    },
 | 
			
		||||
    onUncheck: function (ele) {
 | 
			
		||||
      window.console.log("The element has been unchecked");
 | 
			
		||||
      return ele;
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										274
									
								
								assets/adminLTE/dist/js/pages/dashboard2.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										274
									
								
								assets/adminLTE/dist/js/pages/dashboard2.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,274 @@
 | 
			
		||||
$(function () {
 | 
			
		||||
 | 
			
		||||
  'use strict';
 | 
			
		||||
 | 
			
		||||
  /* ChartJS
 | 
			
		||||
   * -------
 | 
			
		||||
   * Here we will create a few charts using ChartJS
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  //-----------------------
 | 
			
		||||
  //- MONTHLY SALES CHART -
 | 
			
		||||
  //-----------------------
 | 
			
		||||
 | 
			
		||||
  // Get context with jQuery - using jQuery's .get() method.
 | 
			
		||||
  var salesChartCanvas = $("#salesChart").get(0).getContext("2d");
 | 
			
		||||
  // This will get the first returned node in the jQuery collection.
 | 
			
		||||
  var salesChart = new Chart(salesChartCanvas);
 | 
			
		||||
 | 
			
		||||
  var salesChartData = {
 | 
			
		||||
    labels: ["January", "February", "March", "April", "May", "June", "July"],
 | 
			
		||||
    datasets: [
 | 
			
		||||
      {
 | 
			
		||||
        label: "Electronics",
 | 
			
		||||
        fillColor: "rgb(210, 214, 222)",
 | 
			
		||||
        strokeColor: "rgb(210, 214, 222)",
 | 
			
		||||
        pointColor: "rgb(210, 214, 222)",
 | 
			
		||||
        pointStrokeColor: "#c1c7d1",
 | 
			
		||||
        pointHighlightFill: "#fff",
 | 
			
		||||
        pointHighlightStroke: "rgb(220,220,220)",
 | 
			
		||||
        data: [65, 59, 80, 81, 56, 55, 40]
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        label: "Digital Goods",
 | 
			
		||||
        fillColor: "rgba(60,141,188,0.9)",
 | 
			
		||||
        strokeColor: "rgba(60,141,188,0.8)",
 | 
			
		||||
        pointColor: "#3b8bba",
 | 
			
		||||
        pointStrokeColor: "rgba(60,141,188,1)",
 | 
			
		||||
        pointHighlightFill: "#fff",
 | 
			
		||||
        pointHighlightStroke: "rgba(60,141,188,1)",
 | 
			
		||||
        data: [28, 48, 40, 19, 86, 27, 90]
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  var salesChartOptions = {
 | 
			
		||||
    //Boolean - If we should show the scale at all
 | 
			
		||||
    showScale: true,
 | 
			
		||||
    //Boolean - Whether grid lines are shown across the chart
 | 
			
		||||
    scaleShowGridLines: false,
 | 
			
		||||
    //String - Colour of the grid lines
 | 
			
		||||
    scaleGridLineColor: "rgba(0,0,0,.05)",
 | 
			
		||||
    //Number - Width of the grid lines
 | 
			
		||||
    scaleGridLineWidth: 1,
 | 
			
		||||
    //Boolean - Whether to show horizontal lines (except X axis)
 | 
			
		||||
    scaleShowHorizontalLines: true,
 | 
			
		||||
    //Boolean - Whether to show vertical lines (except Y axis)
 | 
			
		||||
    scaleShowVerticalLines: true,
 | 
			
		||||
    //Boolean - Whether the line is curved between points
 | 
			
		||||
    bezierCurve: true,
 | 
			
		||||
    //Number - Tension of the bezier curve between points
 | 
			
		||||
    bezierCurveTension: 0.3,
 | 
			
		||||
    //Boolean - Whether to show a dot for each point
 | 
			
		||||
    pointDot: false,
 | 
			
		||||
    //Number - Radius of each point dot in pixels
 | 
			
		||||
    pointDotRadius: 4,
 | 
			
		||||
    //Number - Pixel width of point dot stroke
 | 
			
		||||
    pointDotStrokeWidth: 1,
 | 
			
		||||
    //Number - amount extra to add to the radius to cater for hit detection outside the drawn point
 | 
			
		||||
    pointHitDetectionRadius: 20,
 | 
			
		||||
    //Boolean - Whether to show a stroke for datasets
 | 
			
		||||
    datasetStroke: true,
 | 
			
		||||
    //Number - Pixel width of dataset stroke
 | 
			
		||||
    datasetStrokeWidth: 2,
 | 
			
		||||
    //Boolean - Whether to fill the dataset with a color
 | 
			
		||||
    datasetFill: true,
 | 
			
		||||
    //String - A legend template
 | 
			
		||||
    legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].lineColor%>\"></span><%=datasets[i].label%></li><%}%></ul>",
 | 
			
		||||
    //Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
 | 
			
		||||
    maintainAspectRatio: true,
 | 
			
		||||
    //Boolean - whether to make the chart responsive to window resizing
 | 
			
		||||
    responsive: true
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  //Create the line chart
 | 
			
		||||
  salesChart.Line(salesChartData, salesChartOptions);
 | 
			
		||||
 | 
			
		||||
  //---------------------------
 | 
			
		||||
  //- END MONTHLY SALES CHART -
 | 
			
		||||
  //---------------------------
 | 
			
		||||
 | 
			
		||||
  //-------------
 | 
			
		||||
  //- PIE CHART -
 | 
			
		||||
  //-------------
 | 
			
		||||
  // Get context with jQuery - using jQuery's .get() method.
 | 
			
		||||
  var pieChartCanvas = $("#pieChart").get(0).getContext("2d");
 | 
			
		||||
  var pieChart = new Chart(pieChartCanvas);
 | 
			
		||||
  var PieData = [
 | 
			
		||||
    {
 | 
			
		||||
      value: 700,
 | 
			
		||||
      color: "#f56954",
 | 
			
		||||
      highlight: "#f56954",
 | 
			
		||||
      label: "Chrome"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      value: 500,
 | 
			
		||||
      color: "#00a65a",
 | 
			
		||||
      highlight: "#00a65a",
 | 
			
		||||
      label: "IE"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      value: 400,
 | 
			
		||||
      color: "#f39c12",
 | 
			
		||||
      highlight: "#f39c12",
 | 
			
		||||
      label: "FireFox"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      value: 600,
 | 
			
		||||
      color: "#00c0ef",
 | 
			
		||||
      highlight: "#00c0ef",
 | 
			
		||||
      label: "Safari"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      value: 300,
 | 
			
		||||
      color: "#3c8dbc",
 | 
			
		||||
      highlight: "#3c8dbc",
 | 
			
		||||
      label: "Opera"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      value: 100,
 | 
			
		||||
      color: "#d2d6de",
 | 
			
		||||
      highlight: "#d2d6de",
 | 
			
		||||
      label: "Navigator"
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
  var pieOptions = {
 | 
			
		||||
    //Boolean - Whether we should show a stroke on each segment
 | 
			
		||||
    segmentShowStroke: true,
 | 
			
		||||
    //String - The colour of each segment stroke
 | 
			
		||||
    segmentStrokeColor: "#fff",
 | 
			
		||||
    //Number - The width of each segment stroke
 | 
			
		||||
    segmentStrokeWidth: 1,
 | 
			
		||||
    //Number - The percentage of the chart that we cut out of the middle
 | 
			
		||||
    percentageInnerCutout: 50, // This is 0 for Pie charts
 | 
			
		||||
    //Number - Amount of animation steps
 | 
			
		||||
    animationSteps: 100,
 | 
			
		||||
    //String - Animation easing effect
 | 
			
		||||
    animationEasing: "easeOutBounce",
 | 
			
		||||
    //Boolean - Whether we animate the rotation of the Doughnut
 | 
			
		||||
    animateRotate: true,
 | 
			
		||||
    //Boolean - Whether we animate scaling the Doughnut from the centre
 | 
			
		||||
    animateScale: false,
 | 
			
		||||
    //Boolean - whether to make the chart responsive to window resizing
 | 
			
		||||
    responsive: true,
 | 
			
		||||
    // Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
 | 
			
		||||
    maintainAspectRatio: false,
 | 
			
		||||
    //String - A legend template
 | 
			
		||||
    legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>",
 | 
			
		||||
    //String - A tooltip template
 | 
			
		||||
    tooltipTemplate: "<%=value %> <%=label%> users"
 | 
			
		||||
  };
 | 
			
		||||
  //Create pie or douhnut chart
 | 
			
		||||
  // You can switch between pie and douhnut using the method below.
 | 
			
		||||
  pieChart.Doughnut(PieData, pieOptions);
 | 
			
		||||
  //-----------------
 | 
			
		||||
  //- END PIE CHART -
 | 
			
		||||
  //-----------------
 | 
			
		||||
 | 
			
		||||
  /* jVector Maps
 | 
			
		||||
   * ------------
 | 
			
		||||
   * Create a world map with markers
 | 
			
		||||
   */
 | 
			
		||||
  $('#world-map-markers').vectorMap({
 | 
			
		||||
    map: 'world_mill_en',
 | 
			
		||||
    normalizeFunction: 'polynomial',
 | 
			
		||||
    hoverOpacity: 0.7,
 | 
			
		||||
    hoverColor: false,
 | 
			
		||||
    backgroundColor: 'transparent',
 | 
			
		||||
    regionStyle: {
 | 
			
		||||
      initial: {
 | 
			
		||||
        fill: 'rgba(210, 214, 222, 1)',
 | 
			
		||||
        "fill-opacity": 1,
 | 
			
		||||
        stroke: 'none',
 | 
			
		||||
        "stroke-width": 0,
 | 
			
		||||
        "stroke-opacity": 1
 | 
			
		||||
      },
 | 
			
		||||
      hover: {
 | 
			
		||||
        "fill-opacity": 0.7,
 | 
			
		||||
        cursor: 'pointer'
 | 
			
		||||
      },
 | 
			
		||||
      selected: {
 | 
			
		||||
        fill: 'yellow'
 | 
			
		||||
      },
 | 
			
		||||
      selectedHover: {}
 | 
			
		||||
    },
 | 
			
		||||
    markerStyle: {
 | 
			
		||||
      initial: {
 | 
			
		||||
        fill: '#00a65a',
 | 
			
		||||
        stroke: '#111'
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    markers: [
 | 
			
		||||
      {latLng: [41.90, 12.45], name: 'Vatican City'},
 | 
			
		||||
      {latLng: [43.73, 7.41], name: 'Monaco'},
 | 
			
		||||
      {latLng: [-0.52, 166.93], name: 'Nauru'},
 | 
			
		||||
      {latLng: [-8.51, 179.21], name: 'Tuvalu'},
 | 
			
		||||
      {latLng: [43.93, 12.46], name: 'San Marino'},
 | 
			
		||||
      {latLng: [47.14, 9.52], name: 'Liechtenstein'},
 | 
			
		||||
      {latLng: [7.11, 171.06], name: 'Marshall Islands'},
 | 
			
		||||
      {latLng: [17.3, -62.73], name: 'Saint Kitts and Nevis'},
 | 
			
		||||
      {latLng: [3.2, 73.22], name: 'Maldives'},
 | 
			
		||||
      {latLng: [35.88, 14.5], name: 'Malta'},
 | 
			
		||||
      {latLng: [12.05, -61.75], name: 'Grenada'},
 | 
			
		||||
      {latLng: [13.16, -61.23], name: 'Saint Vincent and the Grenadines'},
 | 
			
		||||
      {latLng: [13.16, -59.55], name: 'Barbados'},
 | 
			
		||||
      {latLng: [17.11, -61.85], name: 'Antigua and Barbuda'},
 | 
			
		||||
      {latLng: [-4.61, 55.45], name: 'Seychelles'},
 | 
			
		||||
      {latLng: [7.35, 134.46], name: 'Palau'},
 | 
			
		||||
      {latLng: [42.5, 1.51], name: 'Andorra'},
 | 
			
		||||
      {latLng: [14.01, -60.98], name: 'Saint Lucia'},
 | 
			
		||||
      {latLng: [6.91, 158.18], name: 'Federated States of Micronesia'},
 | 
			
		||||
      {latLng: [1.3, 103.8], name: 'Singapore'},
 | 
			
		||||
      {latLng: [1.46, 173.03], name: 'Kiribati'},
 | 
			
		||||
      {latLng: [-21.13, -175.2], name: 'Tonga'},
 | 
			
		||||
      {latLng: [15.3, -61.38], name: 'Dominica'},
 | 
			
		||||
      {latLng: [-20.2, 57.5], name: 'Mauritius'},
 | 
			
		||||
      {latLng: [26.02, 50.55], name: 'Bahrain'},
 | 
			
		||||
      {latLng: [0.33, 6.73], name: 'São Tomé and Príncipe'}
 | 
			
		||||
    ]
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  /* SPARKLINE CHARTS
 | 
			
		||||
   * ----------------
 | 
			
		||||
   * Create a inline charts with spark line
 | 
			
		||||
   */
 | 
			
		||||
 | 
			
		||||
  //-----------------
 | 
			
		||||
  //- SPARKLINE BAR -
 | 
			
		||||
  //-----------------
 | 
			
		||||
  $('.sparkbar').each(function () {
 | 
			
		||||
    var $this = $(this);
 | 
			
		||||
    $this.sparkline('html', {
 | 
			
		||||
      type: 'bar',
 | 
			
		||||
      height: $this.data('height') ? $this.data('height') : '30',
 | 
			
		||||
      barColor: $this.data('color')
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //-----------------
 | 
			
		||||
  //- SPARKLINE PIE -
 | 
			
		||||
  //-----------------
 | 
			
		||||
  $('.sparkpie').each(function () {
 | 
			
		||||
    var $this = $(this);
 | 
			
		||||
    $this.sparkline('html', {
 | 
			
		||||
      type: 'pie',
 | 
			
		||||
      height: $this.data('height') ? $this.data('height') : '90',
 | 
			
		||||
      sliceColors: $this.data('color')
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  //------------------
 | 
			
		||||
  //- SPARKLINE LINE -
 | 
			
		||||
  //------------------
 | 
			
		||||
  $('.sparkline').each(function () {
 | 
			
		||||
    var $this = $(this);
 | 
			
		||||
    $this.sparkline('html', {
 | 
			
		||||
      type: 'line',
 | 
			
		||||
      height: $this.data('height') ? $this.data('height') : '90',
 | 
			
		||||
      width: '100%',
 | 
			
		||||
      lineColor: $this.data('linecolor'),
 | 
			
		||||
      fillColor: $this.data('fillcolor'),
 | 
			
		||||
      spotColor: $this.data('spotcolor')
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user