From e80dfc886e3235fa23caf78fd5c8112cfc4dacc7 Mon Sep 17 00:00:00 2001 From: Wes Hulette <jwhulette@gmail.com> Date: Fri, 28 Sep 2018 12:46:22 -0400 Subject: [PATCH] Added admin-lte-options file, moved pGenerator to main js file --- package.json | 1 + public/js/vendor.js | Bin 792279 -> 796144 bytes public/mix-manifest.json | 2 +- resources/assets/js/admin-lte-options.js | 696 ++++++++++++++++++ resources/assets/js/app.js | 695 ----------------- .../assets/js/extensions/pGenerator.jquery.js | 146 ++++ resources/views/modals/user.blade.php | 1 - resources/views/users/edit.blade.php | 1 - webpack.mix.js | 5 +- 9 files changed, 847 insertions(+), 700 deletions(-) create mode 100644 resources/assets/js/admin-lte-options.js delete mode 100755 resources/assets/js/app.js create mode 100755 resources/assets/js/extensions/pGenerator.jquery.js diff --git a/package.json b/package.json index d9370a8e1..287ab6dbc 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "icheck": "^1.0.2", "imagemin": "^5.3.1", "jquery-slimscroll": "^1.3.8", + "jquery-ui": "^1.12.1", "jquery-ui-dist": "^1.12.1", "jquery.iframe-transport": "^1.0.0", "less": "less/less.js#efa6eb5306f28a7ef7e235d79ce854b780345591", diff --git a/public/js/vendor.js b/public/js/vendor.js index 4082f972d56aacaed80389822f8975c376a58e8e..713a2d6aa30b314adbe9dd53d29102d13ea6e143 100644 GIT binary patch delta 24205 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 J@q*ml1pxfw_eTH# delta 8125 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 diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 0e4716c0c..a9b806342 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -23,7 +23,7 @@ "/css/overrides.css": "/css/overrides.css?id=6b828d7767ff152a582b", "/css/dist/all.css": "/css/dist/all.css?id=52eeb0ac804d01ab930e", "/css/build/all.css": "/css/build/all.css?id=52eeb0ac804d01ab930e", - "/js/vendor.js": "/js/vendor.js?id=712f037630011ba2d02c", + "/js/vendor.js": "/js/vendor.js?id=0b5b63ceb817e544cab2", "/js/html5shiv.min.js": "/js/html5shiv.min.js?id=ba846cb704dbfbc5f1b3", "/js/respond.min.js": "/js/respond.min.js?id=afc1984a3d17110449dc", >>>>>>> Cleaned up JS diff --git a/resources/assets/js/admin-lte-options.js b/resources/assets/js/admin-lte-options.js new file mode 100644 index 000000000..885a9cec9 --- /dev/null +++ b/resources/assets/js/admin-lte-options.js @@ -0,0 +1,696 @@ +/*! 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 <support@almsaeedstudio.com> + * @version 2.3.0 + * @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) { + $.widget.bridge('uitooltip', $.ui.tooltip); + $('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 + $(toggleBtn).on('click', 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).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'))) { + //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()); + $(window).resize(function () { + _this._fix(sidebar); + }); + } 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 ACTIVATION + * ----------------------- + * 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. + * + * @type plugin + * @usage $("#box-widget").activateBox(); + */ + (function ($) { + + 'use strict'; + + $.fn.activateBox = function () { + $.AdminLTE.boxWidget.activate(this); + }; + + })(jQuery); + \ No newline at end of file diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js deleted file mode 100755 index 6453fc734..000000000 --- a/resources/assets/js/app.js +++ /dev/null @@ -1,695 +0,0 @@ -/*! 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 <support@almsaeedstudio.com> - * @version 2.3.0 - * @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) { - $.widget.bridge('uitooltip', $.ui.tooltip); - $('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 - $(toggleBtn).on('click', 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).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'))) { - //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()); - $(window).resize(function () { - _this._fix(sidebar); - }); - } 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 ACTIVATION - * ----------------------- - * 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. - * - * @type plugin - * @usage $("#box-widget").activateBox(); - */ -(function ($) { - - 'use strict'; - - $.fn.activateBox = function () { - $.AdminLTE.boxWidget.activate(this); - }; - -})(jQuery); diff --git a/resources/assets/js/extensions/pGenerator.jquery.js b/resources/assets/js/extensions/pGenerator.jquery.js new file mode 100755 index 000000000..466cf22d1 --- /dev/null +++ b/resources/assets/js/extensions/pGenerator.jquery.js @@ -0,0 +1,146 @@ +/*! + * pGenerator jQuery Plugin v1.0.0 + * http://accountspassword.com/password-generator-jquery-plugin + * + * Created by AccountsPassword.com + * Released under the GPL General Public License (Feel free to copy, modify or redistribute this plugin.) + * + */ + +(function($){ + var numbers_array = new Array(), + upper_letters_array = new Array(), + lower_letters_array = new Array(), + special_chars_array = new Array(), + $pGeneratorElement = null; + var methods = { + init : function( options, callbacks) { + + var settings = $.extend({ + 'bind': 'click', + 'passwordElement': null, + 'displayElement': null, + 'passwordLength': 16, + 'uppercase': true, + 'lowercase': true, + 'numbers': true, + 'specialChars': true, + 'onPasswordGenerated': function(generatedPassword) { } + }, options); + + for(var i = 48; i < 58; i++) + numbers_array.push(i); + for(i = 65; i < 91; i++) + upper_letters_array.push(i); + for(i = 97; i < 123; i++) + lower_letters_array.push(i); + special_chars_array = [33,35,64,36,38,42,91,93,123,125,92,47,63,58,59,95,45,53]; + + return this.each(function(){ + + $pGeneratorElement = $(this); + + $pGeneratorElement.bind(settings.bind, function(e){ + e.preventDefault(); + methods.generatePassword(settings); + }); + + }); + }, + generatePassword: function(settings) { + + var password = new Array(), + selOptions = settings.uppercase + settings.lowercase + settings.numbers + settings.specialChars, + selected = 0, + no_lower_letters = new Array(); + + var optionLength = Math.floor(settings.passwordLength / selOptions); + + if(settings.uppercase) { + // uppercase letters + for(var i = 0; i < optionLength; i++) { + password.push(String.fromCharCode(upper_letters_array[randomFromInterval(0, upper_letters_array.length - 1)])); + } + + no_lower_letters = no_lower_letters.concat(upper_letters_array); + + selected++; + } + + if(settings.numbers) { + // numbers letters + for(var i = 0; i < optionLength; i++) { + password.push(String.fromCharCode(numbers_array[randomFromInterval(0, numbers_array.length - 1)])); + } + + no_lower_letters = no_lower_letters.concat(numbers_array); + + selected++; + } + + if(settings.specialChars) { + // numbers letters + for(var i = 0; i < optionLength; i++) { + password.push(String.fromCharCode(special_chars_array[randomFromInterval(0, special_chars_array.length - 1)])); + } + + no_lower_letters = no_lower_letters.concat(special_chars_array); + + selected++; + } + + var remained = settings.passwordLength - (selected * optionLength); + + if(settings.lowercase) { + + for(var i = 0; i < remained; i++) { + password.push(String.fromCharCode(lower_letters_array[randomFromInterval(0, lower_letters_array.length - 1)])); + } + + } else { + + for(var i = 0; i < remained; i++) { + password.push(String.fromCharCode(no_lower_letters[randomFromInterval(0, no_lower_letters.length - 1)])); + } + } + password = shuffle(password); + passwordString = password.join(''); + + if(settings.passwordElement !== null) { + $(settings.passwordElement).val(passwordString); + } + + if(settings.displayElement !== null) { + if($(settings.displayElement).is("input")) { + $(settings.displayElement).val(passwordString); + } else { + $(settings.displayElement).text(passwordString); + } + } + + settings.onPasswordGenerated(passwordString); + + } + }; + + function shuffle(o){ //v1.0 + for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); + return o; + }; + + function randomFromInterval(from, to) + { + return Math.floor(Math.random()*(to-from+1)+from); + }; + + $.fn.pGenerator = function(method) { + if ( methods[method] ) { + return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); + } else if ( typeof method === 'object' || ! method ) { + return methods.init.apply( this, arguments ); + } else { + $.error( 'Method ' + method + ' does not exist on jQuery.pGenerator' ); + } + }; + +})(jQuery); diff --git a/resources/views/modals/user.blade.php b/resources/views/modals/user.blade.php index 7aec3ee9d..85db7d5d3 100644 --- a/resources/views/modals/user.blade.php +++ b/resources/views/modals/user.blade.php @@ -1,5 +1,4 @@ {{-- See snipeit_modals.js for what powers this --}} -<script src="/js/pGenerator.jquery.js"></script> <script nonce="{{ csrf_token() }}"> $(document).ready(function () { diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 79f76b974..6a4dd22a6 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -587,7 +587,6 @@ @stop @section('moar_scripts') -<script src="{{ asset('js/pGenerator.jquery.js') }}"></script> <script nonce="{{ csrf_token() }}"> $(document).ready(function() { diff --git a/webpack.mix.js b/webpack.mix.js index 156b64955..871804c32 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -87,17 +87,18 @@ mix.js([ * Combine JS */ mix.combine([ + './node_modules/admin-lte/dist/js/adminlte.min.js', + './resources/assets/js/admin-lte-options.js', './node_modules/jquery-ui-dist/jquery-ui.js', './node_modules/tether/dist/js/tether.min.js', './node_modules/jquery-slimscroll/jquery.slimscroll.js', './node_modules/jquery.iframe-transport/jquery.iframe-transport.js', './node_modules/blueimp-file-upload/js/jquery.fileupload.js', - './node_modules/blueimp-file-upload/js/vendor/jquery.ui.widget.js', './node_modules/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js', './node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js', './node_modules/ekko-lightbox/dist/ekko-lightbox.js', - './node_modules/admin-lte/dist/js/adminlte.min.js', './node_modules/icheck/icheck.js', + './resources/assets/js/extensions/pGenerator.jquery.js' ], 'public/js/vendor.js') .version(); -- GitLab