{"version":3,"sources":["layout.js","app.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9qBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.min.js","sourcesContent":["/*\r\nTemplate Name: Minton - Admin & Dashboard Template\r\nAuthor: CoderThemes\r\nWebsite: https://coderthemes.com/\r\nContact: support@coderthemes.com\r\nFile: Layouts Js File\r\n*/\r\n\r\n\r\n/**\r\n * LeftSidebar\r\n * @param {*} $ \r\n */\r\n!function ($) {\r\n 'use strict';\r\n\r\n var LeftSidebar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /**\r\n * Reset the theme\r\n */\r\n LeftSidebar.prototype._reset = function() {\r\n this.body.removeAttr('data-sidebar-color');\r\n this.body.removeAttr('data-sidebar-size');\r\n this.body.removeAttr('data-sidebar-showuser');\r\n },\r\n\r\n /**\r\n * Changes the color of sidebar\r\n * @param {*} color \r\n */\r\n LeftSidebar.prototype.changeColor = function(color) {\r\n this.body.attr('data-sidebar-color', color);\r\n this.parent.updateConfig(\"sidebar\", { \"color\": color });\r\n },\r\n\r\n /**\r\n * Changes the size of sidebar\r\n * @param {*} size \r\n */\r\n LeftSidebar.prototype.changeSize = function(size) {\r\n this.body.attr('data-sidebar-size', size);\r\n this.parent.updateConfig(\"sidebar\", { \"size\": size });\r\n },\r\n\r\n /**\r\n * Toggle User information\r\n * @param {*} showUser \r\n */\r\n LeftSidebar.prototype.showUser = function(showUser) {\r\n this.body.attr('data-sidebar-showuser', showUser);\r\n this.parent.updateConfig(\"sidebar\", { \"showuser\": showUser });\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n LeftSidebar.prototype.initMenu = function() {\r\n var self = this;\r\n\r\n var layout = $.LayoutThemeApp.getConfig();\r\n var sidebar = $.extend({}, layout ? layout.sidebar: {});\r\n var defaultSidebarSize = sidebar.size ? sidebar.size : 'default';\r\n\r\n // resets everything\r\n this._reset();\r\n\r\n // Left menu collapse\r\n $('.button-menu-mobile').on('click', function (event) {\r\n event.preventDefault();\r\n var sidebarSize = self.body.attr('data-sidebar-size');\r\n if (self.window.width() >= 993) {\r\n if (sidebarSize === 'condensed') {\r\n self.changeSize(defaultSidebarSize === 'condensed'? 'default': defaultSidebarSize);\r\n } else {\r\n self.changeSize('condensed');\r\n }\r\n } else {\r\n self.changeSize(defaultSidebarSize);\r\n self.body.toggleClass('sidebar-enable');\r\n }\r\n });\r\n\r\n // sidebar - main menu\r\n if ($(\"#side-menu\").length) { \r\n var navCollapse = $('#side-menu li .collapse');\r\n var navToggle = $(\"#side-menu [data-bs-toggle='collapse']\");\r\n navToggle.on('click', function(e) {\r\n return false;\r\n });\r\n // open one menu at a time only\r\n \r\n navCollapse.on({\r\n 'show.bs.collapse': function (event) {\r\n $('#side-menu .collapse.show').not(parent).collapse('hide');\r\n var parent = $(event.target).parents('.collapse.show');\r\n }, \r\n });\r\n\r\n\r\n // activate the menu in left side bar (Vertical Menu) based on url\r\n $(\"#side-menu a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n \r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu')\r\n firstLevelParent.addClass(\"show\");\r\n \r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n \r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper')\r\n secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body'))\r\n upperLevelParent.addClass(\"menuitem-active\");\r\n }\r\n });\r\n }\r\n\r\n\r\n // handling two columns menu if present\r\n var twoColSideNav = $(\"#two-col-sidenav-main\");\r\n if (twoColSideNav.length) {\r\n var twoColSideNavItems = $(\"#two-col-sidenav-main .nav-link\");\r\n var sideSubMenus = $(\".twocolumn-menu-item\");\r\n\r\n // showing/displaying tooltip based on screen size\r\n if (this.window.width() >= 585) {\r\n //TODO : Wait for stable release of bootstrap 5\r\n // twoColSideNavItems.each(function (idx,element){\r\n // new bootstrap.Tooltip(element);\r\n // });\r\n } else {\r\n // twoColSideNavItems.tooltip('disable');\r\n }\r\n\r\n var nav = $('.twocolumn-menu-item .nav-second-level');\r\n var navCollapse = $('#two-col-menu li .collapse');\r\n\r\n // open one menu at a time only\r\n navCollapse.on({\r\n 'show.bs.collapse': function () {\r\n var nearestNav = $(this).closest(nav).closest(nav).find(navCollapse);\r\n if (nearestNav.length)\r\n nearestNav.not($(this)).collapse('hide');\r\n else\r\n navCollapse.not($(this)).collapse('hide');\r\n }\r\n });\r\n\r\n \r\n\r\n twoColSideNavItems.on('click', function (e) {\r\n var target = $($(this).attr('href'));\r\n\r\n if (target.length) {\r\n e.preventDefault();\r\n\r\n twoColSideNavItems.removeClass('active');\r\n $(this).addClass('active');\r\n\r\n sideSubMenus.removeClass(\"d-block\");\r\n target.addClass(\"d-block\");\r\n\r\n // showing full sidebar if menu item is clicked\r\n $.LayoutThemeApp.leftSidebar.changeSize('default');\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // activate menu with no child\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n twoColSideNavItems.each(function () {\r\n if (this.href == pageUrl) {\r\n $(this).addClass('active');\r\n }\r\n });\r\n \r\n\r\n\r\n // activate the menu in left side bar (Two column) based on url\r\n $(\"#two-col-menu a\").each(function () {\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n\r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu')\r\n firstLevelParent.addClass(\"show\");\r\n\r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n\r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper')\r\n secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body'))\r\n upperLevelParent.addClass(\"menuitem-active\");\r\n\r\n // opening menu\r\n var matchingItem = null;\r\n var targetEl = '#' + $(this).parents('.twocolumn-menu-item').attr(\"id\");\r\n $(\"#two-col-sidenav-main .nav-link\").each(function () {\r\n if ($(this).attr('href') === targetEl) {\r\n matchingItem = $(this);\r\n }\r\n });\r\n if (matchingItem) matchingItem.trigger('click');\r\n }\r\n });\r\n }\r\n },\r\n\r\n \r\n /**\r\n * Initilize the left sidebar size based on screen size\r\n */\r\n LeftSidebar.prototype.initLayout = function() {\r\n var self = this;\r\n // in case of small size, activate the small menu\r\n if ((this.window.width() >= 768 && this.window.width() <= 1028) || this.body.data('keep-enlarged')) {\r\n this.changeSize('condensed');\r\n } else {\r\n var layout = JSON.parse(this.body.attr('data-layout') ? this.body.attr('data-layout') : '{}');\r\n var sidebar = $.extend({}, layout ? layout.sidebar: {});\r\n var defaultSidebarSize = sidebar && sidebar.size ? sidebar.size : 'default';\r\n var sidebarSize = self.body.attr('data-sidebar-size');\r\n this.changeSize(defaultSidebarSize ? defaultSidebarSize :(sidebarSize ? sidebarSize : 'default'));\r\n }\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n LeftSidebar.prototype.init = function() {\r\n var self = this;\r\n this.initMenu();\r\n this.initLayout();\r\n\r\n // on window resize, make menu flipped automatically\r\n this.window.on('resize', function (e) {\r\n e.preventDefault();\r\n self.initLayout();\r\n });\r\n },\r\n \r\n $.LeftSidebar = new LeftSidebar, $.LeftSidebar.Constructor = LeftSidebar\r\n}(window.jQuery),\r\n\r\n\r\n/**\r\n * Topbar\r\n * @param {*} $ \r\n */\r\nfunction ($) {\r\n 'use strict';\r\n\r\n var Topbar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n Topbar.prototype.initMenu = function() {\r\n // Serach Toggle\r\n $('#top-search').on('click', function (e) {\r\n $('#search-dropdown').addClass('d-block');\r\n });\r\n\r\n // hide search on opening other dropdown\r\n $('.topbar-dropdown').on('show.bs.dropdown', function () {\r\n $('#search-dropdown').removeClass('d-block');\r\n });\r\n\r\n //activate the menu in topbar(horizontal menu) based on url\r\n $(\".navbar-nav a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) { \r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"active\");\r\n $(this).parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().parent().addClass(\"active\");\r\n var el = $(this).parent().parent().parent().parent().addClass(\"active\").prev();\r\n if (el.hasClass(\"nav-link\"))\r\n el.addClass('active');\r\n }\r\n });\r\n\r\n // Topbar - main menu\r\n $('.navbar-toggle').on('click', function (event) {\r\n $(this).toggleClass('open');\r\n $('#navigation').slideToggle(400);\r\n });\r\n },\r\n\r\n /**\r\n * Changes the color of topbar\r\n * @param {*} color \r\n */\r\n Topbar.prototype.changeColor = function(color) {\r\n this.body.attr('data-topbar-color', color);\r\n this.parent.updateConfig(\"topbar\", { \"color\": color });\r\n },\r\n\r\n /**\r\n * Initilizes the menu\r\n */\r\n Topbar.prototype.init = function() {\r\n this.initMenu();\r\n },\r\n $.Topbar = new Topbar, $.Topbar.Constructor = Topbar\r\n}(window.jQuery),\r\n\r\n\r\n/**\r\n * RightBar\r\n * @param {*} $ \r\n */\r\nfunction ($) {\r\n 'use strict';\r\n\r\n var RightBar = function () {\r\n this.body = $('body'),\r\n this.window = $(window)\r\n };\r\n\r\n /** \r\n * Select the option based on saved config\r\n */\r\n RightBar.prototype.selectOptionsFromConfig = function() {\r\n var self = this;\r\n\r\n var config = self.layout.getConfig();\r\n \r\n if (config) {\r\n // $('input[type=checkbox]').prop('checked',false);\r\n $('input[type=checkbox][name=color-scheme-mode][value=' + config.mode + ']').prop('checked', true);\r\n $('input[type=checkbox][name=width][value=' + config.width + ']').prop('checked', true);\r\n $('input[type=checkbox][name=menus-position][value=' + config.menuPosition + ']').prop('checked', true);\r\n\r\n $('input[type=checkbox][name=leftsidebar-color][value=' + config.sidebar.color + ']').prop('checked', true);\r\n $('input[type=checkbox][name=leftsidebar-size][value=' + config.sidebar.size + ']').prop('checked', true);\r\n $('input[type=checkbox][name=leftsidebar-user]').prop('checked', config.sidebar.showuser);\r\n\r\n $('input[type=checkbox][name=topbar-color][value=' + config.topbar.color + ']').prop('checked', true);\r\n }\r\n },\r\n \r\n /**\r\n * Toggles the right sidebar\r\n */\r\n RightBar.prototype.toggleRightSideBar = function() {\r\n var self = this;\r\n self.body.toggleClass('right-bar-enabled');\r\n self.selectOptionsFromConfig();\r\n },\r\n\r\n /**\r\n * Initilizes the right side bar\r\n */\r\n RightBar.prototype.init = function() {\r\n var self = this;\r\n\r\n // right side-bar toggle\r\n $(document).on('click', '.right-bar-toggle', function () {\r\n self.toggleRightSideBar();\r\n });\r\n\r\n $(document).on('click', 'body', function (e) {\r\n // hiding search bar\r\n if($(e.target).closest('#top-search').length !== 1) {\r\n $('#search-dropdown').removeClass('d-block');\r\n }\r\n if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) {\r\n return;\r\n }\r\n\r\n if ($(e.target).closest('.left-side-menu, .side-nav').length > 0 || $(e.target).hasClass('button-menu-mobile')\r\n || $(e.target).closest('.button-menu-mobile').length > 0) {\r\n return;\r\n }\r\n\r\n $('body').removeClass('right-bar-enabled');\r\n $('body').removeClass('sidebar-enable');\r\n return;\r\n });\r\n\r\n // overall color scheme\r\n $('input[type=checkbox][name=color-scheme-mode]').change(function () {\r\n self.layout.changeMode($(this).val());\r\n self.selectOptionsFromConfig();\r\n\r\n });\r\n\r\n // width mode\r\n $('input[type=checkbox][name=width]').change(function () {\r\n self.layout.changeLayoutWidth($(this).val());\r\n self.selectOptionsFromConfig();\r\n });\r\n\r\n // menus-position\r\n $('input[type=checkbox][name=menus-position]').change(function () {\r\n self.layout.changeMenuPositions($(this).val());\r\n self.selectOptionsFromConfig();\r\n\r\n });\r\n\r\n // left sidebar color\r\n $('input[type=checkbox][name=leftsidebar-color]').change(function () {\r\n self.layout.leftSidebar.changeColor($(this).val());\r\n self.selectOptionsFromConfig();\r\n\r\n });\r\n\r\n // left sidebar size\r\n $('input[type=checkbox][name=leftsidebar-size]').change(function () {\r\n self.layout.leftSidebar.changeSize($(this).val());\r\n self.selectOptionsFromConfig();\r\n\r\n });\r\n\r\n // left sidebar user information\r\n $('input[type=checkbox][name=leftsidebar-user]').change(function (e) {\r\n self.layout.leftSidebar.showUser(e.target.checked);\r\n self.selectOptionsFromConfig();\r\n\r\n });\r\n\r\n // topbar\r\n $('input[type=checkbox][name=topbar-color]').change(function () {\r\n self.layout.topbar.changeColor($(this).val());\r\n self.selectOptionsFromConfig();\r\n \r\n });\r\n\r\n // reset\r\n $('#resetBtn').on('click', function (e) {\r\n e.preventDefault();\r\n // reset to default\r\n self.layout.reset();\r\n self.selectOptionsFromConfig();\r\n });\r\n },\r\n\r\n $.RightBar = new RightBar, $.RightBar.Constructor = RightBar\r\n}(window.jQuery),\r\n\r\n\r\n/**\r\n * Layout and theme manager\r\n * @param {*} $ \r\n */\r\n\r\nfunction ($) {\r\n 'use strict';\r\n\r\n // Layout and theme manager\r\n\r\n var LayoutThemeApp = function () {\r\n this.body = $('body'),\r\n this.window = $(window),\r\n this.config = {},\r\n // styles\r\n this.defaultBSStyle = $(\"#bs-default-stylesheet\"),\r\n this.defaultAppStyle = $(\"#app-default-stylesheet\"),\r\n this.darkBSStyle = $(\"#bs-dark-stylesheet\"),\r\n this.darkAppStyle = $(\"#app-dark-stylesheet\");\r\n };\r\n\r\n /**\r\n * Preserves the config in memory\r\n */\r\n LayoutThemeApp.prototype._saveConfig = function(newConfig) {\r\n this.config = $.extend(this.config, newConfig);\r\n // NOTE: You can make ajax call here to save preference on server side or localstorage as well\r\n \r\n },\r\n\r\n /**\r\n * Update the config for given config\r\n * @param {*} param \r\n * @param {*} config \r\n */\r\n LayoutThemeApp.prototype.updateConfig = function(param, config) {\r\n var newObj = {};\r\n \r\n\r\n if (typeof config === 'object' && config !== null) {\r\n var originalParam = this.config[param];\r\n newObj[param] = $.extend(originalParam, config);\r\n } else {\r\n newObj[param] = config;\r\n }\r\n this._saveConfig(newObj);\r\n\r\n }\r\n\r\n /**\r\n * Loads the config - takes from body if available else uses default one\r\n */\r\n LayoutThemeApp.prototype.loadConfig = function() {\r\n var bodyConfig = JSON.parse(this.body.attr('data-layout') ? this.body.attr('data-layout') : '{}');\r\n \r\n var config = $.extend({}, {\r\n mode: \"light\",\r\n width: \"fluid\",\r\n menuPosition: 'fixed',\r\n sidebar: {\r\n color: \"light\",\r\n size: \"default\",\r\n showuser: false\r\n },\r\n topbar: {\r\n color: \"dark\"\r\n },\r\n showRightSidebarOnPageLoad: false\r\n });\r\n if (bodyConfig) {\r\n config = $.extend({}, config, bodyConfig);\r\n };\r\n return config;\r\n },\r\n\r\n /**\r\n * Apply the config\r\n */\r\n LayoutThemeApp.prototype.applyConfig = function() {\r\n // getting the saved config if available\r\n this.config = this.loadConfig();\r\n var topbarConfig = $.extend({}, this.config.topbar);\r\n var sidebarConfig = $.extend({}, this.config.sidebar);\r\n \r\n // activate menus\r\n this.leftSidebar.init();\r\n this.topbar.init();\r\n\r\n this.leftSidebar.parent = this;\r\n this.topbar.parent = this;\r\n\r\n\r\n // mode\r\n this.changeMode(this.config.mode);\r\n\r\n // width\r\n this.changeLayoutWidth(this.config.width);\r\n\r\n // menu position\r\n this.changeMenuPositions(this.config.menuPosition);\r\n\r\n // left sidebar\r\n this.leftSidebar.changeColor(sidebarConfig.color);\r\n this.leftSidebar.changeSize(sidebarConfig.size);\r\n this.leftSidebar.showUser(sidebarConfig.showuser);\r\n\r\n // topbar\r\n this.topbar.changeColor(topbarConfig.color);\r\n },\r\n\r\n /**\r\n * Toggle dark or light mode\r\n * @param {*} mode \r\n */\r\n LayoutThemeApp.prototype.changeMode = function(mode, notChangeSidebar) {\r\n // sets the theme\r\n switch (mode) {\r\n case \"dark\": {\r\n this.defaultBSStyle.attr(\"disabled\", true);\r\n this.defaultAppStyle.attr(\"disabled\", true);\r\n\r\n this.darkBSStyle.attr(\"disabled\", false);\r\n this.darkAppStyle.attr(\"disabled\", false);\r\n if (notChangeSidebar)\r\n this._saveConfig({ mode: mode });\r\n else {\r\n this.leftSidebar.changeColor(\"dark\");\r\n this._saveConfig({ mode: mode, sidebar: $.extend({}, this.config.sidebar, { color: 'dark' }) });\r\n }\r\n break;\r\n }\r\n default: {\r\n this.defaultBSStyle.attr(\"disabled\", false);\r\n this.defaultAppStyle.attr(\"disabled\", false);\r\n\r\n this.darkBSStyle.attr(\"disabled\", true);\r\n this.darkAppStyle.attr(\"disabled\", true);\r\n\r\n if (notChangeSidebar)\r\n this._saveConfig({ mode: mode });\r\n else {\r\n this.leftSidebar.changeColor(\"light\");\r\n this._saveConfig({ mode: mode, sidebar: $.extend({}, this.config.sidebar, { color: 'light' }) });\r\n }\r\n break;\r\n }\r\n }\r\n \r\n this.rightBar.selectOptionsFromConfig();\r\n }\r\n\r\n /**\r\n * Changes the width of layout\r\n */\r\n LayoutThemeApp.prototype.changeLayoutWidth = function(width) {\r\n switch (width) {\r\n case \"boxed\": {\r\n this.body.attr('data-layout-width', 'boxed');\r\n // automatically activating condensed\r\n $.LeftSidebar.changeSize(\"condensed\");\r\n this._saveConfig({ width: width });\r\n break;\r\n }\r\n default: {\r\n this.body.attr('data-layout-width', 'fluid');\r\n // automatically activating provided size\r\n var bodyConfig = JSON.parse(this.body.attr('data-layout') ? this.body.attr('data-layout') : '{}');\r\n $.LeftSidebar.changeSize(bodyConfig && bodyConfig.sidebar ? bodyConfig.sidebar.size : \"default\");\r\n this._saveConfig({ width: width });\r\n break;\r\n }\r\n }\r\n this.rightBar.selectOptionsFromConfig();\r\n }\r\n\r\n /**\r\n * Changes menu positions\r\n */\r\n LayoutThemeApp.prototype.changeMenuPositions = function(position) {\r\n this.body.attr(\"data-layout-menu-position\", position);\r\n this.updateConfig(\"menuPosition\", position);\r\n\r\n }\r\n\r\n /**\r\n * Clear out the saved config\r\n */\r\n LayoutThemeApp.prototype.clearSavedConfig = function() {\r\n this.config = {};\r\n },\r\n\r\n /**\r\n * Gets the config\r\n */\r\n LayoutThemeApp.prototype.getConfig = function() {\r\n return this.config;\r\n },\r\n\r\n /**\r\n * Reset to default\r\n */\r\n LayoutThemeApp.prototype.reset = function() {\r\n this.clearSavedConfig();\r\n this.applyConfig();\r\n },\r\n\r\n /**\r\n * Init\r\n */\r\n LayoutThemeApp.prototype.init = function() {\r\n this.leftSidebar = $.LeftSidebar;\r\n this.topbar = $.Topbar;\r\n\r\n this.leftSidebar.parent = this;\r\n this.topbar.parent = this;\r\n\r\n // initilize the menu\r\n this.applyConfig();\r\n },\r\n\r\n $.LayoutThemeApp = new LayoutThemeApp, $.LayoutThemeApp.Constructor = LayoutThemeApp\r\n}(window.jQuery);","/*\r\nTemplate Name: Minton - Admin & Dashboard Template\r\nAuthor: CoderThemes\r\nWebsite: https://coderthemes.com/\r\nContact: support@coderthemes.com\r\nFile: Main Js File\r\n*/\r\n\r\n\r\n!function ($) {\r\n \"use strict\";\r\n\r\n var Components = function () { };\r\n\r\n //initializing tooltip\r\n Components.prototype.initTooltipPlugin = function () {\r\n $.fn.tooltip && $('[data-bs-toggle=\"tooltip\"]').tooltip()\r\n },\r\n\r\n //initializing popover\r\n Components.prototype.initPopoverPlugin = function () {\r\n $.fn.popover && $('[data-bs-toggle=\"popover\"]').popover()\r\n },\r\n\r\n //initializing toast\r\n Components.prototype.initToastPlugin = function() {\r\n $.fn.toast && $('[data-bs-toggle=\"toast\"]').toast()\r\n },\r\n\r\n //initializing form validation\r\n Components.prototype.initFormValidation = function () {\r\n $(\".needs-validation\").on('submit', function (event) {\r\n $(this).addClass('was-validated');\r\n if ($(this)[0].checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n return true;\r\n });\r\n },\r\n\r\n // Counterup\r\n Components.prototype.initCounterUp = function() {\r\n var delay = $(this).attr('data-delay')?$(this).attr('data-delay'):100; //default is 100\r\n var time = $(this).attr('data-time')?$(this).attr('data-time'):1200; //default is 1200\r\n $('[data-plugin=\"counterup\"]').each(function(idx, obj) {\r\n $(this).counterUp({\r\n delay: delay,\r\n time: time\r\n });\r\n });\r\n },\r\n\r\n //peity charts\r\n Components.prototype.initPeityCharts = function() {\r\n $('[data-plugin=\"peity-pie\"]').each(function(idx, obj) {\r\n var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(\",\"):[];\r\n var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20\r\n var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20\r\n $(this).peity(\"pie\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n //donut\r\n $('[data-plugin=\"peity-donut\"]').each(function(idx, obj) {\r\n var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(\",\"):[];\r\n var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20\r\n var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20\r\n $(this).peity(\"donut\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n\r\n $('[data-plugin=\"peity-donut-alt\"]').each(function(idx, obj) {\r\n $(this).peity(\"donut\");\r\n });\r\n\r\n // line\r\n $('[data-plugin=\"peity-line\"]').each(function(idx, obj) {\r\n $(this).peity(\"line\", $(this).data());\r\n });\r\n\r\n // bar\r\n $('[data-plugin=\"peity-bar\"]').each(function(idx, obj) {\r\n var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(\",\"):[];\r\n var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20\r\n var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20\r\n $(this).peity(\"bar\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n },\r\n\r\n Components.prototype.initKnob = function() {\r\n $('[data-plugin=\"knob\"]').each(function(idx, obj) {\r\n $(this).knob();\r\n });\r\n },\r\n\r\n Components.prototype.initTippyTooltips = function () {\r\n if($('[data-plugin=\"tippy\"]').length > 0)\r\n tippy('[data-plugin=\"tippy\"]');\r\n },\r\n\r\n Components.prototype.initShowPassword = function () {\r\n $(\"[data-password]\").on('click', function() {\r\n if($(this).attr('data-password') == \"false\"){\r\n $(this).siblings(\"input\").attr(\"type\", \"text\");\r\n $(this).attr('data-password', 'true');\r\n $(this).addClass(\"show-password\");\r\n } else {\r\n $(this).siblings(\"input\").attr(\"type\", \"password\");\r\n $(this).attr('data-password', 'false');\r\n $(this).removeClass(\"show-password\");\r\n }\r\n });\r\n },\r\n\r\n Components.prototype.initMultiDropdown = function () {\r\n $('.dropdown-menu a.dropdown-toggle').on('click', function(e) {\r\n if (!$(this).next().hasClass('show')) {\r\n $(this).parents('.dropdown-menu').first().find('.show').removeClass(\"show\");\r\n }\r\n var $subMenu = $(this).next(\".dropdown-menu\");\r\n $subMenu.toggleClass('show');\r\n \r\n return false;\r\n }); \r\n },\r\n\r\n //initilizing\r\n Components.prototype.init = function () {\r\n this.initTooltipPlugin(),\r\n this.initPopoverPlugin(),\r\n this.initToastPlugin(),\r\n this.initFormValidation(),\r\n this.initCounterUp(),\r\n this.initPeityCharts(),\r\n this.initKnob();\r\n this.initTippyTooltips();\r\n this.initShowPassword();\r\n this.initMultiDropdown();\r\n },\r\n\r\n $.Components = new Components, $.Components.Constructor = Components\r\n\r\n}(window.jQuery),\r\n\r\nfunction($) {\r\n \"use strict\";\r\n\r\n /**\r\n Portlet Widget\r\n */\r\n var Portlet = function() {\r\n this.$body = $(\"body\"),\r\n this.$portletIdentifier = \".card\",\r\n this.$portletCloser = '.card a[data-toggle=\"remove\"]',\r\n this.$portletRefresher = '.card a[data-toggle=\"reload\"]'\r\n };\r\n\r\n //on init\r\n Portlet.prototype.init = function() {\r\n // Panel closest\r\n var $this = this;\r\n $(document).on(\"click\",this.$portletCloser, function (ev) {\r\n ev.preventDefault();\r\n var $portlet = $(this).closest($this.$portletIdentifier);\r\n var $portlet_parent = $portlet.parent();\r\n $portlet.remove();\r\n if ($portlet_parent.children().length == 0) {\r\n $portlet_parent.remove();\r\n }\r\n });\r\n\r\n // Panel Reload\r\n $(document).on(\"click\",this.$portletRefresher, function (ev) {\r\n ev.preventDefault();\r\n var $portlet = $(this).closest($this.$portletIdentifier);\r\n // This is just a simulation, nothing is going to be reloaded\r\n $portlet.append('