PHP Classes

File: public/asset/vendor/dore/js/dore.script.js

Recommend this page to a friend!
  Classes of fathurrahman   mnTemplate   public/asset/vendor/dore/js/dore.script.js   Download  
File: public/asset/vendor/dore/js/dore.script.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: mnTemplate
Route HTTP requests to callback functions
Author: By
Last change:
Date: 1 year ago
Size: 121,374 bytes
 

Contents

Class file image Download
/* Dore Main Script Table of Contents 01. Add Comas Util 02. Shift Select Util 03. Dore Main Plugin 03.01. Getting Colors from CSS 03.02. Resize 03.03. Search 03.04. Shift Selectable Init 03.05. Menu 03.06. App Menu 03.07. Survey App 03.08. Rotate Button 03.09. Charts 03.10. Calendar 03.11. Datatable 03.12. Notification 03.13. Owl carousel 03.14. Slick Slider 03.15. Form Validation 03.16. Tooltip 03.17. Popover 03.18. Select 2 03.19. Datepicker 03.20. Dropzone 03.21. Cropperjs 03.22. Range Slider 03.23. Modal Passing Content 03.24. Scrollbar 03.25. Progress 03.26. Rating 03.27. Tags Input 03.28. Sortable 03.29. State Button 03.30. Typeahead 03.31. Full Screen 03.32. Html Editors 03.33. Showing Body 03.34. Keyboard Shortcuts 03.35. Context Menu 03.36. Select from Library */ /* 01. Add Comas Util */ $.fn.addCommas = function(nStr) { nStr += ""; var x = nStr.split("."); var x1 = x[0]; var x2 = x.length > 1 ? "." + x[1] : ""; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, "$1" + "," + "$2"); } return x1 + x2; }; /* 02. Shift Select Plugin */ $.shiftSelectable = function(element, config) { var plugin = this; config = $.extend( { items: ".card" }, config ); var $container = $(element); var $checkAll = null; var $boxes = $container.find("input[type='checkbox']"); var lastChecked; if ($container.data("checkAll")) { $checkAll = $("#" + $container.data("checkAll")); $checkAll.on("click", function() { $boxes.prop("checked", $($checkAll).prop("checked")).trigger("change"); document.activeElement.blur(); controlActiveClasses(); }); } function itemClick(checkbox, shiftKey) { $(checkbox) .prop("checked", !$(checkbox).prop("checked")) .trigger("change"); if (!lastChecked) { lastChecked = checkbox; } if (lastChecked) { if (shiftKey) { var start = $boxes.index(checkbox); var end = $boxes.index(lastChecked); $boxes .slice(Math.min(start, end), Math.max(start, end) + 1) .prop("checked", lastChecked.checked) .trigger("change"); } lastChecked = checkbox; } if ($checkAll) { var anyChecked = false; var allChecked = true; $boxes.each(function() { if ($(this).prop("checked")) { anyChecked = true; } else { allChecked = false; } }); if (anyChecked) { $checkAll.prop("indeterminate", anyChecked); } else { $checkAll.prop("indeterminate", anyChecked); $checkAll.prop("checked", anyChecked); } if (allChecked) { $checkAll.prop("indeterminate", false); $checkAll.prop("checked", allChecked); } } document.activeElement.blur(); controlActiveClasses(); } $container.on("click", config.items, function(e) { if ( $(e.target).is("a") || $(e.target) .parent() .is("a") ) { return; } if ($(e.target).is("input[type='checkbox']")) { e.preventDefault(); e.stopPropagation(); } var checkbox = $(this).find("input[type='checkbox']")[0]; itemClick(checkbox, e.shiftKey); }); function controlActiveClasses() { $boxes.each(function() { if ($(this).prop("checked")) { $(this) .parents(".card") .addClass("active"); } else { $(this) .parents(".card") .removeClass("active"); } }); } plugin.selectAll = function() { if ($checkAll) { $boxes.prop("checked", true).trigger("change"); $checkAll.prop("checked", true); $checkAll.prop("indeterminate", false); controlActiveClasses(); } }; plugin.deSelectAll = function() { if ($checkAll) { $boxes.prop("checked", false).trigger("change"); $checkAll.prop("checked", false); $checkAll.prop("indeterminate", false); controlActiveClasses(); } }; plugin.rightClick = function(trigger) { var checkbox = $(trigger).find("input[type='checkbox']")[0]; if ($(checkbox).prop("checked")) { return; } plugin.deSelectAll(); itemClick(checkbox, false); }; }; $.fn.shiftSelectable = function(options) { return this.each(function() { if (undefined == $(this).data("shiftSelectable")) { var plugin = new $.shiftSelectable(this, options); $(this).data("shiftSelectable", plugin); } }); }; /* 03. Dore Main Plugin */ $.dore = function(element, options) { var defaults = {}; var plugin = this; plugin.settings = {}; var $element = $(element); var element = element; var $shiftSelect; function init() { options = options || {}; plugin.settings = $.extend({}, defaults, options); /* 03.01. Getting Colors from CSS */ var rootStyle = getComputedStyle(document.body); var themeColor1 = rootStyle.getPropertyValue("--theme-color-1").trim(); var themeColor2 = rootStyle.getPropertyValue("--theme-color-2").trim(); var themeColor3 = rootStyle.getPropertyValue("--theme-color-3").trim(); var themeColor4 = rootStyle.getPropertyValue("--theme-color-4").trim(); var themeColor5 = rootStyle.getPropertyValue("--theme-color-5").trim(); var themeColor6 = rootStyle.getPropertyValue("--theme-color-6").trim(); var themeColor1_10 = rootStyle .getPropertyValue("--theme-color-1-10") .trim(); var themeColor2_10 = rootStyle .getPropertyValue("--theme-color-2-10") .trim(); var themeColor3_10 = rootStyle .getPropertyValue("--theme-color-3-10") .trim(); var themeColor4_10 = rootStyle .getPropertyValue("--theme-color-4-10") .trim(); var themeColor5_10 = rootStyle .getPropertyValue("--theme-color-5-10") .trim(); var themeColor6_10 = rootStyle .getPropertyValue("--theme-color-6-10") .trim(); var primaryColor = rootStyle.getPropertyValue("--primary-color").trim(); var foregroundColor = rootStyle .getPropertyValue("--foreground-color") .trim(); var separatorColor = rootStyle.getPropertyValue("--separator-color").trim(); /* 03.02. Resize */ var subHiddenBreakpoint = 1440; var searchHiddenBreakpoint = 768; var menuHiddenBreakpoint = 768; var subHiddenByClick = false; var firstInit = true; function onResize() { var windowHeight = $(window).outerHeight(); var windowWidth = $(window).outerWidth(); var navbarHeight = $(".navbar").outerHeight(); var submenuMargin = parseInt( $(".sub-menu .scroll").css("margin-top"), 10 ); $(".sub-menu .scroll").css( "height", windowHeight - navbarHeight - submenuMargin * 2 ); $(".main-menu .scroll").css("height", windowHeight - navbarHeight); $(".app-menu .scroll").css("height", windowHeight - navbarHeight - 40); if ($(".chat-app .scroll").length > 0 && chatAppScroll) { $(".chat-app .scroll").scrollTop( $(".chat-app .scroll").prop("scrollHeight") ); chatAppScroll.update(); } if (windowWidth < menuHiddenBreakpoint) { $("#app-container").addClass("menu-mobile"); } else if (windowWidth < subHiddenBreakpoint) { $("#app-container").removeClass("menu-mobile"); if ($("#app-container").hasClass("menu-default")) { // $("#app-container").attr("class", "menu-default menu-sub-hidden"); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-default menu-sub-hidden"); } } else { $("#app-container").removeClass("menu-mobile"); if ( $("#app-container").hasClass("menu-default") && $("#app-container").hasClass("menu-sub-hidden") ) { $("#app-container").removeClass("menu-sub-hidden"); } } setMenuClassNames(0, true); } $(window).on("resize", function(event) { if (event.originalEvent.isTrusted) { onResize(); } }); onResize(); /* 03.03. Search */ function searchIconClick() { if ($(window).outerWidth() < searchHiddenBreakpoint) { if ($(".search").hasClass("mobile-view")) { $(".search").removeClass("mobile-view"); navigateToSearchPage(); } else { $(".search").addClass("mobile-view"); $(".search input").focus(); } } else { navigateToSearchPage(); } } $(".search .search-icon").on("click", function() { searchIconClick(); }); $(".search input").on("keyup", function(e) { if (e.which == 13) { navigateToSearchPage(); } if (e.which == 27) { hideSearchArea(); } }); function navigateToSearchPage() { var inputVal = $(".search input").val(); var searchPath = $(".search").data("searchPath"); if (inputVal != "") { $(".search input").val(""); window.location.href = searchPath + inputVal; } } function hideSearchArea() { if ($(".search").hasClass("mobile-view")) { $(".search").removeClass("mobile-view"); $(".search input").val(""); } } $(document).on("click", function(event) { if ( !$(event.target) .parents() .hasClass("search") ) { hideSearchArea(); } }); /* 03.04. Shift Selectable Init */ $shiftSelect = $(".list").shiftSelectable(); /* 03.05. Menu */ var menuClickCount = 0; var allMenuClassNames = "menu-default menu-hidden sub-hidden main-hidden menu-sub-hidden main-show-temporary sub-show-temporary menu-mobile"; function setMenuClassNames(clickIndex, calledFromResize, link) { menuClickCount = clickIndex; var container = $("#app-container"); if (container.length == 0) { return; } var link = link || getActiveMainMenuLink(); //menu-default no subpage if ( $(".sub-menu ul[data-link='" + link + "']").length == 0 && (menuClickCount == 2 || calledFromResize) ) { if ($(window).outerWidth() >= menuHiddenBreakpoint) { if (isClassIncludedApp("menu-default")) { if (calledFromResize) { // $("#app-container").attr( // "class", // "menu-default menu-sub-hidden sub-hidden" // ); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-default menu-sub-hidden sub-hidden"); menuClickCount = 1; } else { // $("#app-container").attr( // "class", // "menu-default main-hidden menu-sub-hidden sub-hidden" // ); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-default main-hidden menu-sub-hidden sub-hidden"); menuClickCount = 0; } resizeCarousel(); return; } } } //menu-sub-hidden no subpage if ( $(".sub-menu ul[data-link='" + link + "']").length == 0 && (menuClickCount == 1 || calledFromResize) ) { if ($(window).outerWidth() >= menuHiddenBreakpoint) { if (isClassIncludedApp("menu-sub-hidden")) { if (calledFromResize) { // $("#app-container").attr("class", "menu-sub-hidden sub-hidden"); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-sub-hidden sub-hidden"); menuClickCount = 0; } else { // $("#app-container").attr( // "class", // "menu-sub-hidden main-hidden sub-hidden" // ); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-sub-hidden main-hidden sub-hidden"); menuClickCount = -1; } resizeCarousel(); return; } } } //menu-sub-hidden no subpage if ( $(".sub-menu ul[data-link='" + link + "']").length == 0 && (menuClickCount == 1 || calledFromResize) ) { if ($(window).outerWidth() >= menuHiddenBreakpoint) { if (isClassIncludedApp("menu-hidden")) { if (calledFromResize) { // $("#app-container").attr( // "class", // "menu-hidden main-hidden sub-hidden" // ); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-hidden main-hidden sub-hidden"); menuClickCount = 0; } else { // $("#app-container").attr( // "class", // "menu-hidden main-show-temporary" // ); $("#app-container").removeClass(allMenuClassNames); $("#app-container").addClass("menu-hidden main-show-temporary"); menuClickCount = 3; } resizeCarousel(); return; } } } if (clickIndex % 4 == 0) { if ( isClassIncludedApp("menu-default") && isClassIncludedApp("menu-sub-hidden") ) { nextClasses = "menu-default menu-sub-hidden"; } else if (isClassIncludedApp("menu-default")) { nextClasses = "menu-default"; } else if (isClassIncludedApp("menu-sub-hidden")) { nextClasses = "menu-sub-hidden"; } else if (isClassIncludedApp("menu-hidden")) { nextClasses = "menu-hidden"; } menuClickCount = 0; } else if (clickIndex % 4 == 1) { if ( isClassIncludedApp("menu-default") && isClassIncludedApp("menu-sub-hidden") ) { nextClasses = "menu-default menu-sub-hidden main-hidden sub-hidden"; } else if (isClassIncludedApp("menu-default")) { nextClasses = "menu-default sub-hidden"; } else if (isClassIncludedApp("menu-sub-hidden")) { nextClasses = "menu-sub-hidden main-hidden sub-hidden"; } else if (isClassIncludedApp("menu-hidden")) { nextClasses = "menu-hidden main-show-temporary"; } } else if (clickIndex % 4 == 2) { if ( isClassIncludedApp("menu-default") && isClassIncludedApp("menu-sub-hidden") ) { nextClasses = "menu-default menu-sub-hidden sub-hidden"; } else if (isClassIncludedApp("menu-default")) { nextClasses = "menu-default main-hidden sub-hidden"; } else if (isClassIncludedApp("menu-sub-hidden")) { nextClasses = "menu-sub-hidden sub-hidden"; } else if (isClassIncludedApp("menu-hidden")) { nextClasses = "menu-hidden main-show-temporary sub-show-temporary"; } } else if (clickIndex % 4 == 3) { if ( isClassIncludedApp("menu-default") && isClassIncludedApp("menu-sub-hidden") ) { nextClasses = "menu-default menu-sub-hidden sub-show-temporary"; } else if (isClassIncludedApp("menu-default")) { nextClasses = "menu-default sub-hidden"; } else if (isClassIncludedApp("menu-sub-hidden")) { nextClasses = "menu-sub-hidden sub-show-temporary"; } else if (isClassIncludedApp("menu-hidden")) { nextClasses = "menu-hidden main-show-temporary"; } } if (isClassIncludedApp("menu-mobile")) { nextClasses += " menu-mobile"; } container.attr("class", nextClasses); container.removeClass(allMenuClassNames); container.addClass(nextClasses); resizeCarousel(); } $(".menu-button").on("click", function(event) { event.preventDefault(); setMenuClassNames(++menuClickCount); }); $(".menu-button-mobile").on("click", function(event) { event.preventDefault(); $("#app-container") .removeClass("sub-show-temporary") .toggleClass("main-show-temporary"); return false; }); $(".main-menu").on("click", "a", function(event) { event.preventDefault(); var link = $(this) .attr("href") .replace("#", ""); if ($(".sub-menu ul[data-link='" + link + "']").length == 0) { window.location.href = link; return; } showSubMenu($(this).attr("href")); var container = $("#app-container"); if (!$("#app-container").hasClass("menu-mobile")) { if ( $("#app-container").hasClass("menu-sub-hidden") && (menuClickCount == 2 || menuClickCount == 0) ) { setMenuClassNames(3, false, link); } else if ( $("#app-container").hasClass("menu-hidden") && (menuClickCount == 1 || menuClickCount == 3) ) { setMenuClassNames(2, false, link); } else if ( $("#app-container").hasClass("menu-default") && !$("#app-container").hasClass("menu-sub-hidden") && (menuClickCount == 1 || menuClickCount == 3) ) { setMenuClassNames(0, false, link); } } else { $("#app-container").addClass("sub-show-temporary"); } return false; }); $(document).on("click", function(event) { if ( !( $(event.target) .parents() .hasClass("menu-button") || $(event.target).hasClass("menu-button") || $(event.target) .parents() .hasClass("sidebar") || $(event.target).hasClass("sidebar") ) ) { if ( $("#app-container").hasClass("menu-sub-hidden") && menuClickCount == 3 ) { var link = getActiveMainMenuLink(); if (link == lastActiveSubmenu) { setMenuClassNames(2); } else { setMenuClassNames(0); } } else if ( $("#app-container").hasClass("menu-hidden") || $("#app-container").hasClass("menu-mobile") ) { setMenuClassNames(0); } } }); function getActiveMainMenuLink() { if($(".main-menu").length > 0){ var dataLink = $(".main-menu ul li.active a").attr("href"); return dataLink.replace("#", ""); } } function isClassIncludedApp(className) { var container = $("#app-container"); var currentClasses = container .attr("class") .split(" ") .filter(x => x != ""); return currentClasses.includes(className); } var lastActiveSubmenu = ""; function showSubMenu(dataLink) { if ($(".main-menu").length == 0) { return; } var link = dataLink.replace("#", ""); if ($(".sub-menu ul[data-link='" + link + "']").length == 0) { $("#app-container").removeClass("sub-show-temporary"); if ($("#app-container").length == 0) { return; } if ( isClassIncludedApp("menu-sub-hidden") || isClassIncludedApp("menu-hidden") ) { menuClickCount = 0; } else { menuClickCount = 1; } $("#app-container").addClass("sub-hidden"); noTransition(); return; } if (link == lastActiveSubmenu) { return; } $(".sub-menu ul").fadeOut(0); $(".sub-menu ul[data-link='" + link + "']").slideDown(100); $(".sub-menu .scroll").scrollTop(0); lastActiveSubmenu = link; } function noTransition() { $(".sub-menu").addClass("no-transition"); $("main").addClass("no-transition"); setTimeout(function() { $(".sub-menu").removeClass("no-transition"); $("main").removeClass("no-transition"); }, 350); } showSubMenu($(".main-menu ul li.active a").attr("href")); function resizeCarousel() { setTimeout(function() { var event = document.createEvent("HTMLEvents"); event.initEvent("resize", false, false); window.dispatchEvent(event); }, 350); } /* 03.06. App Menu */ $(".app-menu-button").on("click", function() { event.preventDefault(); if ($(".app-menu").hasClass("shown")) { $(".app-menu").removeClass("shown"); } else { $(".app-menu").addClass("shown"); } }); $(document).on("click", function(event) { if ( !( $(event.target) .parents() .hasClass("app-menu") || $(event.target) .parents() .hasClass("app-menu-button") || $(event.target).hasClass("app-menu-button") || $(event.target).hasClass("app-menu") ) ) { if ($(".app-menu").hasClass("shown")) { $(".app-menu").removeClass("shown"); } } }); /* 03.07. Survey App */ $(document).on("click", ".question .view-button", function() { editViewClick($(this)); }); $(document).on("click", ".question .edit-button", function() { editViewClick($(this)); }); function editViewClick($this) { var $question = $($this.parents(".question")); $question.toggleClass("edit-quesiton"); $question.toggleClass("view-quesiton"); var $questionCollapse = $question.find(".question-collapse"); if (!$questionCollapse.hasClass("show")) { $questionCollapse.collapse("toggle"); $question.find(".rotate-icon-click").toggleClass("rotate"); } } /* 03.08. Rotate Button */ $(document).on("click", ".rotate-icon-click", function() { $(this).toggleClass("rotate"); }); /* 03.09. Charts */ if (typeof Chart !== "undefined") { Chart.defaults.global.defaultFontFamily = "'Nunito', sans-serif"; Chart.defaults.LineWithShadow = Chart.defaults.line; Chart.controllers.LineWithShadow = Chart.controllers.line.extend({ draw: function(ease) { Chart.controllers.line.prototype.draw.call(this, ease); var ctx = this.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.15)"; ctx.shadowBlur = 10; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 10; ctx.responsive = true; ctx.stroke(); Chart.controllers.line.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.BarWithShadow = Chart.defaults.bar; Chart.controllers.BarWithShadow = Chart.controllers.bar.extend({ draw: function(ease) { Chart.controllers.bar.prototype.draw.call(this, ease); var ctx = this.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.15)"; ctx.shadowBlur = 12; ctx.shadowOffsetX = 5; ctx.shadowOffsetY = 10; ctx.responsive = true; Chart.controllers.bar.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.LineWithLine = Chart.defaults.line; Chart.controllers.LineWithLine = Chart.controllers.line.extend({ draw: function(ease) { Chart.controllers.line.prototype.draw.call(this, ease); if (this.chart.tooltip._active && this.chart.tooltip._active.length) { var activePoint = this.chart.tooltip._active[0]; var ctx = this.chart.ctx; var x = activePoint.tooltipPosition().x; var topY = this.chart.scales["y-axis-0"].top; var bottomY = this.chart.scales["y-axis-0"].bottom; ctx.save(); ctx.beginPath(); ctx.moveTo(x, topY); ctx.lineTo(x, bottomY); ctx.lineWidth = 1; ctx.strokeStyle = "rgba(0,0,0,0.1)"; ctx.stroke(); ctx.restore(); } } }); Chart.defaults.DoughnutWithShadow = Chart.defaults.doughnut; Chart.controllers.DoughnutWithShadow = Chart.controllers.doughnut.extend({ draw: function(ease) { Chart.controllers.doughnut.prototype.draw.call(this, ease); let ctx = this.chart.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.15)"; ctx.shadowBlur = 10; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 10; ctx.responsive = true; Chart.controllers.doughnut.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.PieWithShadow = Chart.defaults.pie; Chart.controllers.PieWithShadow = Chart.controllers.pie.extend({ draw: function(ease) { Chart.controllers.pie.prototype.draw.call(this, ease); let ctx = this.chart.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.15)"; ctx.shadowBlur = 10; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 10; ctx.responsive = true; Chart.controllers.pie.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.ScatterWithShadow = Chart.defaults.scatter; Chart.controllers.ScatterWithShadow = Chart.controllers.scatter.extend({ draw: function(ease) { Chart.controllers.scatter.prototype.draw.call(this, ease); let ctx = this.chart.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.2)"; ctx.shadowBlur = 7; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 7; ctx.responsive = true; Chart.controllers.scatter.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.RadarWithShadow = Chart.defaults.radar; Chart.controllers.RadarWithShadow = Chart.controllers.radar.extend({ draw: function(ease) { Chart.controllers.radar.prototype.draw.call(this, ease); let ctx = this.chart.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.2)"; ctx.shadowBlur = 7; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 7; ctx.responsive = true; Chart.controllers.radar.prototype.draw.apply(this, arguments); ctx.restore(); } }); Chart.defaults.PolarWithShadow = Chart.defaults.polarArea; Chart.controllers.PolarWithShadow = Chart.controllers.polarArea.extend({ draw: function(ease) { Chart.controllers.polarArea.prototype.draw.call(this, ease); let ctx = this.chart.chart.ctx; ctx.save(); ctx.shadowColor = "rgba(0,0,0,0.2)"; ctx.shadowBlur = 10; ctx.shadowOffsetX = 5; ctx.shadowOffsetY = 10; ctx.responsive = true; Chart.controllers.polarArea.prototype.draw.apply(this, arguments); ctx.restore(); } }); var chartTooltip = { backgroundColor: foregroundColor, titleFontColor: primaryColor, borderColor: separatorColor, borderWidth: 0.5, bodyFontColor: primaryColor, bodySpacing: 10, xPadding: 15, yPadding: 15, cornerRadius: 0.15, displayColors: false }; if (document.getElementById("visitChartFull")) { var visitChartFull = document .getElementById("visitChartFull") .getContext("2d"); var myChart = new Chart(visitChartFull, { type: "LineWithShadow", data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "Data", borderColor: themeColor1, pointBorderColor: themeColor1, pointBackgroundColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: themeColor1, pointRadius: 3, pointBorderWidth: 3, pointHoverRadius: 3, fill: true, backgroundColor: themeColor1_10, borderWidth: 2, data: [180, 140, 150, 120, 180, 110, 160], datalabels: { align: "end", anchor: "end" } } ] }, options: { layout: { padding: { left: 0, right: 0, top: 40, bottom: 0 } }, plugins: { datalabels: { backgroundColor: "transparent", borderRadius: 30, borderWidth: 1, padding: 5, borderColor: function(context) { return context.dataset.borderColor; }, color: function(context) { return context.dataset.borderColor; }, font: { weight: "bold", size: 10 }, formatter: Math.round } }, responsive: true, maintainAspectRatio: false, legend: { display: false }, tooltips: chartTooltip, scales: { yAxes: [ { ticks: { min: 0 }, display: false } ], xAxes: [ { ticks: { min: 0 }, display: false } ] } } }); } if (document.getElementById("visitChart")) { var visitChart = document.getElementById("visitChart").getContext("2d"); var myChart = new Chart(visitChart, { type: "LineWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 0 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [54, 63, 60, 65, 60, 68, 60], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 4, pointBorderWidth: 2, pointHoverRadius: 5, fill: true, borderWidth: 2, backgroundColor: themeColor1_10 } ] } }); } if (document.getElementById("conversionChart")) { var conversionChart = document .getElementById("conversionChart") .getContext("2d"); var myChart = new Chart(conversionChart, { type: "LineWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 0 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [65, 60, 68, 54, 63, 60, 60], borderColor: themeColor2, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor2, pointHoverBackgroundColor: themeColor2, pointHoverBorderColor: foregroundColor, pointRadius: 4, pointBorderWidth: 2, pointHoverRadius: 5, fill: true, borderWidth: 2, backgroundColor: themeColor2_10 } ] } }); } var smallChartOptions = { layout: { padding: { left: 5, right: 5, top: 10, bottom: 10 } }, plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, legend: { display: false }, tooltips: { intersect: false, enabled: false, custom: function(tooltipModel) { if (tooltipModel && tooltipModel.dataPoints) { var $textContainer = $(this._chart.canvas.offsetParent); var yLabel = tooltipModel.dataPoints[0].yLabel; var xLabel = tooltipModel.dataPoints[0].xLabel; var label = tooltipModel.body[0].lines[0].split(":")[0]; $textContainer.find(".value").html("$" + $.fn.addCommas(yLabel)); $textContainer.find(".label").html(label + "-" + xLabel); } } }, scales: { yAxes: [ { ticks: { beginAtZero: true }, display: false } ], xAxes: [ { display: false } ] } }; var smallChartInit = { afterInit: function(chart, options) { var $textContainer = $(chart.canvas.offsetParent); var yLabel = chart.data.datasets[0].data[0]; var xLabel = chart.data.labels[0]; var label = chart.data.datasets[0].label; $textContainer.find(".value").html("$" + $.fn.addCommas(yLabel)); $textContainer.find(".label").html(label + "-" + xLabel); } }; if (document.getElementById("smallChart1")) { var smallChart1 = document .getElementById("smallChart1") .getContext("2d"); var myChart = new Chart(smallChart1, { type: "LineWithLine", plugins: [smallChartInit], data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "Total Orders", borderColor: themeColor1, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: themeColor1, pointRadius: 2, pointBorderWidth: 3, pointHoverRadius: 2, fill: false, borderWidth: 2, data: [1250, 1300, 1550, 921, 1810, 1106, 1610], datalabels: { align: "end", anchor: "end" } } ] }, options: smallChartOptions }); } if (document.getElementById("smallChart2")) { var smallChart1 = document .getElementById("smallChart2") .getContext("2d"); var myChart = new Chart(smallChart1, { type: "LineWithLine", plugins: [smallChartInit], data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "Pending Orders", borderColor: themeColor1, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: themeColor1, pointRadius: 2, pointBorderWidth: 3, pointHoverRadius: 2, fill: false, borderWidth: 2, data: [115, 120, 300, 222, 105, 85, 36], datalabels: { align: "end", anchor: "end" } } ] }, options: smallChartOptions }); } if (document.getElementById("smallChart3")) { var smallChart1 = document .getElementById("smallChart3") .getContext("2d"); var myChart = new Chart(smallChart1, { type: "LineWithLine", plugins: [smallChartInit], data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "Active Orders", borderColor: themeColor1, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: themeColor1, pointRadius: 2, pointBorderWidth: 3, pointHoverRadius: 2, fill: false, borderWidth: 2, data: [350, 452, 762, 952, 630, 85, 158], datalabels: { align: "end", anchor: "end" } } ] }, options: smallChartOptions }); } if (document.getElementById("smallChart4")) { var smallChart1 = document .getElementById("smallChart4") .getContext("2d"); var myChart = new Chart(smallChart1, { type: "LineWithLine", plugins: [smallChartInit], data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "Shipped Orders", borderColor: themeColor1, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: themeColor1, pointRadius: 2, pointBorderWidth: 3, pointHoverRadius: 2, fill: false, borderWidth: 2, data: [200, 452, 250, 630, 125, 85, 20], datalabels: { align: "end", anchor: "end" } } ] }, options: smallChartOptions }); } if (document.getElementById("salesChart")) { var salesChart = document.getElementById("salesChart").getContext("2d"); var myChart = new Chart(salesChart, { type: "LineWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 20 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [54, 63, 60, 65, 60, 68, 60], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 6, pointBorderWidth: 2, pointHoverRadius: 8, fill: false } ] } }); } if (document.getElementById("areaChart")) { var areaChart = document.getElementById("areaChart").getContext("2d"); var myChart = new Chart(areaChart, { type: "LineWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 0 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [54, 63, 60, 65, 60, 68, 60], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 4, pointBorderWidth: 2, pointHoverRadius: 5, fill: true, borderWidth: 2, backgroundColor: themeColor1_10 } ] } }); } if (document.getElementById("areaChartNoShadow")) { var areaChartNoShadow = document .getElementById("areaChartNoShadow") .getContext("2d"); var myChart = new Chart(areaChartNoShadow, { type: "line", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 0 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [54, 63, 60, 65, 60, 68, 60], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 4, pointBorderWidth: 2, pointHoverRadius: 5, fill: true, borderWidth: 2, backgroundColor: themeColor1_10 } ] } }); } if (document.getElementById("scatterChart")) { var scatterChart = document .getElementById("scatterChart") .getContext("2d"); var myChart = new Chart(scatterChart, { type: "ScatterWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 20, min: -80, max: 80, padding: 20 } } ], xAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)" } } ] }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { borderWidth: 2, label: "Cakes", borderColor: themeColor1, backgroundColor: themeColor1_10, data: [ { x: 62, y: -78 }, { x: -0, y: 74 }, { x: -67, y: 45 }, { x: -26, y: -43 }, { x: -15, y: -30 }, { x: 65, y: -68 }, { x: -28, y: -61 } ] }, { borderWidth: 2, label: "Desserts", borderColor: themeColor2, backgroundColor: themeColor2_10, data: [ { x: 79, y: 62 }, { x: 62, y: 0 }, { x: -76, y: -81 }, { x: -51, y: 41 }, { x: -9, y: 9 }, { x: 72, y: -37 }, { x: 62, y: -26 } ] } ] } }); } if (document.getElementById("scatterChartNoShadow")) { var scatterChartNoShadow = document .getElementById("scatterChartNoShadow") .getContext("2d"); var myChart = new Chart(scatterChartNoShadow, { type: "scatter", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 20, min: -80, max: 80, padding: 20 } } ], xAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)" } } ] }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { borderWidth: 2, label: "Cakes", borderColor: themeColor1, backgroundColor: themeColor1_10, data: [ { x: 62, y: -78 }, { x: -0, y: 74 }, { x: -67, y: 45 }, { x: -26, y: -43 }, { x: -15, y: -30 }, { x: 65, y: -68 }, { x: -28, y: -61 } ] }, { borderWidth: 2, label: "Desserts", borderColor: themeColor2, backgroundColor: themeColor2_10, data: [ { x: 79, y: 62 }, { x: 62, y: 0 }, { x: -76, y: -81 }, { x: -51, y: 41 }, { x: -9, y: 9 }, { x: 72, y: -37 }, { x: 62, y: -26 } ] } ] } }); } if (document.getElementById("radarChartNoShadow")) { var radarChartNoShadow = document .getElementById("radarChartNoShadow") .getContext("2d"); var myChart = new Chart(radarChartNoShadow, { type: "radar", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scale: { ticks: { display: false } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { label: "Stock", borderWidth: 2, pointBackgroundColor: themeColor1, borderColor: themeColor1, backgroundColor: themeColor1_10, data: [80, 90, 70] }, { label: "Order", borderWidth: 2, pointBackgroundColor: themeColor2, borderColor: themeColor2, backgroundColor: themeColor2_10, data: [68, 80, 95] } ], labels: ["Cakes", "Desserts", "Cupcakes"] } }); } if (document.getElementById("radarChart")) { var radarChart = document.getElementById("radarChart").getContext("2d"); var myChart = new Chart(radarChart, { type: "RadarWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scale: { ticks: { display: false } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { label: "Stock", borderWidth: 2, pointBackgroundColor: themeColor1, borderColor: themeColor1, backgroundColor: themeColor1_10, data: [80, 90, 70] }, { label: "Order", borderWidth: 2, pointBackgroundColor: themeColor2, borderColor: themeColor2, backgroundColor: themeColor2_10, data: [68, 80, 95] } ], labels: ["Cakes", "Desserts", "Cupcakes"] } }); } if (document.getElementById("polarChart")) { var polarChart = document.getElementById("polarChart").getContext("2d"); var myChart = new Chart(polarChart, { type: "PolarWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scale: { ticks: { display: false } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { label: "Stock", borderWidth: 2, pointBackgroundColor: themeColor1, borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], data: [80, 90, 70] } ], labels: ["Cakes", "Desserts", "Cupcakes"] } }); } if (document.getElementById("polarChartNoShadow")) { var polarChartNoShadow = document .getElementById("polarChartNoShadow") .getContext("2d"); var myChart = new Chart(polarChartNoShadow, { type: "polarArea", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scale: { ticks: { display: false } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { datasets: [ { label: "Stock", borderWidth: 2, pointBackgroundColor: themeColor1, borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], data: [80, 90, 70] } ], labels: ["Cakes", "Desserts", "Cupcakes"] } }); } if (document.getElementById("salesChartNoShadow")) { var salesChartNoShadow = document .getElementById("salesChartNoShadow") .getContext("2d"); var myChart = new Chart(salesChartNoShadow, { type: "line", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 20 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "", data: [54, 63, 60, 65, 60, 68, 60], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 6, pointBorderWidth: 2, pointHoverRadius: 8, fill: false } ] } }); } if (document.getElementById("productChart")) { var productChart = document .getElementById("productChart") .getContext("2d"); var myChart = new Chart(productChart, { type: "BarWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 100, min: 300, max: 800, padding: 20 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { labels: ["January", "February", "March", "April", "May", "June"], datasets: [ { label: "Cakes", borderColor: themeColor1, backgroundColor: themeColor1_10, data: [456, 479, 324, 569, 702, 600], borderWidth: 2 }, { label: "Desserts", borderColor: themeColor2, backgroundColor: themeColor2_10, data: [364, 504, 605, 400, 345, 320], borderWidth: 2 } ] } }); } if (document.getElementById("productChartNoShadow")) { var productChartNoShadow = document .getElementById("productChartNoShadow") .getContext("2d"); var myChart = new Chart(productChartNoShadow, { type: "bar", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 100, min: 300, max: 800, padding: 20 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip }, data: { labels: ["January", "February", "March", "April", "May", "June"], datasets: [ { label: "Cakes", borderColor: themeColor1, backgroundColor: themeColor1_10, data: [456, 479, 324, 569, 702, 600], borderWidth: 2 }, { label: "Desserts", borderColor: themeColor2, backgroundColor: themeColor2_10, data: [364, 504, 605, 400, 345, 320], borderWidth: 2 } ] } }); } var contributionChartOptions = { type: "LineWithShadow", options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, scales: { yAxes: [ { gridLines: { display: true, lineWidth: 1, color: "rgba(0,0,0,0.1)", drawBorder: false }, ticks: { beginAtZero: true, stepSize: 5, min: 50, max: 70, padding: 20 } } ], xAxes: [ { gridLines: { display: false } } ] }, legend: { display: false }, tooltips: chartTooltip }, data: { labels: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], datasets: [ { borderWidth: 2, label: "", data: [54, 63, 60, 65, 60, 68, 60, 63, 60, 65, 60, 68], borderColor: themeColor1, pointBackgroundColor: foregroundColor, pointBorderColor: themeColor1, pointHoverBackgroundColor: themeColor1, pointHoverBorderColor: foregroundColor, pointRadius: 4, pointBorderWidth: 2, pointHoverRadius: 5, fill: false } ] } }; if (document.getElementById("contributionChart1")) { var contributionChart1 = new Chart( document.getElementById("contributionChart1").getContext("2d"), contributionChartOptions ); } if (document.getElementById("contributionChart2")) { var contributionChart2 = new Chart( document.getElementById("contributionChart2").getContext("2d"), contributionChartOptions ); } if (document.getElementById("contributionChart3")) { var contributionChart3 = new Chart( document.getElementById("contributionChart3").getContext("2d"), contributionChartOptions ); } var centerTextPlugin = { afterDatasetsUpdate: function(chart) {}, beforeDraw: function(chart) { var width = chart.chartArea.right; var height = chart.chartArea.bottom; var ctx = chart.chart.ctx; ctx.restore(); var activeLabel = chart.data.labels[0]; var activeValue = chart.data.datasets[0].data[0]; var dataset = chart.data.datasets[0]; var meta = dataset._meta[Object.keys(dataset._meta)[0]]; var total = meta.total; var activePercentage = parseFloat( ((activeValue / total) * 100).toFixed(1) ); activePercentage = chart.legend.legendItems[0].hidden ? 0 : activePercentage; if (chart.pointAvailable) { activeLabel = chart.data.labels[chart.pointIndex]; activeValue = chart.data.datasets[chart.pointDataIndex].data[chart.pointIndex]; dataset = chart.data.datasets[chart.pointDataIndex]; meta = dataset._meta[Object.keys(dataset._meta)[0]]; total = meta.total; activePercentage = parseFloat( ((activeValue / total) * 100).toFixed(1) ); activePercentage = chart.legend.legendItems[chart.pointIndex].hidden ? 0 : activePercentage; } ctx.font = "36px" + " Nunito, sans-serif"; ctx.fillStyle = primaryColor; ctx.textBaseline = "middle"; var text = activePercentage + "%", textX = Math.round((width - ctx.measureText(text).width) / 2), textY = height / 2; ctx.fillText(text, textX, textY); ctx.font = "14px" + " Nunito, sans-serif"; ctx.textBaseline = "middle"; var text2 = activeLabel, textX = Math.round((width - ctx.measureText(text2).width) / 2), textY = height / 2 - 30; ctx.fillText(text2, textX, textY); ctx.save(); }, beforeEvent: function(chart, event, options) { var firstPoint = chart.getElementAtEvent(event)[0]; if (firstPoint) { chart.pointIndex = firstPoint._index; chart.pointDataIndex = firstPoint._datasetIndex; chart.pointAvailable = true; } } }; if (document.getElementById("categoryChart")) { var categoryChart = document.getElementById("categoryChart"); var myDoughnutChart = new Chart(categoryChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: ["Cakes", "Cupcakes", "Desserts"], datasets: [ { label: "", borderColor: [themeColor3, themeColor2, themeColor1], backgroundColor: [ themeColor3_10, themeColor2_10, themeColor1_10 ], borderWidth: 2, data: [15, 25, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("categoryChartNoShadow")) { var categoryChartNoShadow = document.getElementById( "categoryChartNoShadow" ); var myDoughnutChart = new Chart(categoryChartNoShadow, { plugins: [centerTextPlugin], type: "doughnut", data: { labels: ["Cakes", "Cupcakes", "Desserts"], datasets: [ { label: "", borderColor: [themeColor3, themeColor2, themeColor1], backgroundColor: [ themeColor3_10, themeColor2_10, themeColor1_10 ], borderWidth: 2, data: [15, 25, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("pieChartNoShadow")) { var pieChart = document.getElementById("pieChartNoShadow"); var myChart = new Chart(pieChart, { type: "pie", data: { labels: ["Cakes", "Cupcakes", "Desserts"], datasets: [ { label: "", borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], borderWidth: 2, data: [15, 25, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("pieChart")) { var pieChart = document.getElementById("pieChart"); var myChart = new Chart(pieChart, { type: "PieWithShadow", data: { labels: ["Cakes", "Cupcakes", "Desserts"], datasets: [ { label: "", borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], borderWidth: 2, data: [15, 25, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("frequencyChart")) { var frequencyChart = document.getElementById("frequencyChart"); var myDoughnutChart = new Chart(frequencyChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: ["Adding", "Editing", "Deleting"], datasets: [ { label: "", borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], borderWidth: 2, data: [15, 25, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("ageChart")) { var ageChart = document.getElementById("ageChart"); var myDoughnutChart = new Chart(ageChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: ["12-24", "24-30", "30-40", "40-50", "50-60"], datasets: [ { label: "", borderColor: [ themeColor1, themeColor2, themeColor3, themeColor4, themeColor5 ], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10, themeColor4_10, themeColor5_10 ], borderWidth: 2, data: [15, 25, 20, 30, 14] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("genderChart")) { var genderChart = document.getElementById("genderChart"); var myDoughnutChart = new Chart(genderChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: ["Male", "Female", "Other"], datasets: [ { label: "", borderColor: [themeColor1, themeColor2, themeColor3], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10 ], borderWidth: 2, data: [85, 45, 20] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("workChart")) { var workChart = document.getElementById("workChart"); var myDoughnutChart = new Chart(workChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: [ "Employed for wages", "Self-employed", "Looking for work", "Retired" ], datasets: [ { label: "", borderColor: [ themeColor1, themeColor2, themeColor3, themeColor4 ], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10, themeColor4_10 ], borderWidth: 2, data: [15, 25, 20, 8] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } if (document.getElementById("codingChart")) { var codingChart = document.getElementById("codingChart"); var myDoughnutChart = new Chart(codingChart, { plugins: [centerTextPlugin], type: "DoughnutWithShadow", data: { labels: ["Python", "JavaScript", "PHP", "Java", "C#"], datasets: [ { label: "", borderColor: [ themeColor1, themeColor2, themeColor3, themeColor4, themeColor5 ], backgroundColor: [ themeColor1_10, themeColor2_10, themeColor3_10, themeColor4_10, themeColor5_10 ], borderWidth: 2, data: [15, 25, 20, 8, 25] } ] }, draw: function() {}, options: { plugins: { datalabels: { display: false } }, responsive: true, maintainAspectRatio: false, cutoutPercentage: 80, title: { display: false }, layout: { padding: { bottom: 20 } }, legend: { position: "bottom", labels: { padding: 30, usePointStyle: true, fontSize: 12 } }, tooltips: chartTooltip } }); } } /* 03.10. Calendar */ if ($().fullCalendar) { var testEvent = new Date(new Date().setHours(new Date().getHours())); var day = testEvent.getDate(); var month = testEvent.getMonth() + 1; $(".calendar").fullCalendar({ themeSystem: "bootstrap4", height: "auto", buttonText: { today: "Today", month: "Month", week: "Week", day: "Day", list: "List" }, bootstrapFontAwesome: { prev: " simple-icon-arrow-left", next: " simple-icon-arrow-right", prevYear: "simple-icon-control-start", nextYear: "simple-icon-control-end" }, events: [ { title: "Account", start: "2018-05-18" }, { title: "Delivery", start: "2018-09-22", end: "2018-09-24" }, { title: "Conference", start: "2018-06-07", end: "2018-06-09" }, { title: "Delivery", start: "2018-11-03", end: "2018-11-06" }, { title: "Meeting", start: "2018-10-07", end: "2018-10-09" }, { title: "Taxes", start: "2018-08-07", end: "2018-08-09" } ] }); } /* 03.11. Datatable */ if ($().DataTable) { // $(".data-table").DataTable({ // searching: true, // lengthchange: true, // destroy: true, // info: true, // ordering: true, // sDom: // '<"row view-filter"<"col-sm-12"<"pull-left"l><"pull-right"f><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"ip>>>', // pageLength: 6, // language: { // paginate: { // previous: "<i class='simple-icon-arrow-left'></i>", // next: "<i class='simple-icon-arrow-right'></i>" // } // }, // drawCallback: function() { // $($(".dataTables_wrapper .pagination li:first-of-type")) // .find("a") // .addClass("prev"); // $($(".dataTables_wrapper .pagination li:last-of-type")) // .find("a") // .addClass("next"); // $(".dataTables_wrapper .pagination").addClass("pagination-sm"); // } // }); } /* 03.12. Notification */ function showNotification(placementFrom, placementAlign, type) { $.notify( { title: "Bootstrap Notify", message: "Here is a notification!", target: "_blank" }, { element: "body", position: null, type: type, allow_dismiss: true, newest_on_top: false, showProgressbar: false, placement: { from: placementFrom, align: placementAlign }, offset: 20, spacing: 10, z_index: 1031, delay: 4000, timer: 2000, url_target: "_blank", mouse_over: null, animate: { enter: "animated fadeInDown", exit: "animated fadeOutUp" }, onShow: null, onShown: null, onClose: null, onClosed: null, icon_type: "class", template: '<div data-notify="container" class="col-11 col-sm-3 alert alert-{0} " role="alert">' + '<button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button>' + '<span data-notify="icon"></span> ' + '<span data-notify="title">{1}</span> ' + '<span data-notify="message">{2}</span>' + '<div class="progress" data-notify="progressbar">' + '<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' + "</div>" + '<a href="{3}" target="{4}" data-notify="url"></a>' + "</div>" } ); } $("body").on("click", ".notify-btn", function(event) { event.preventDefault(); showNotification($(this).data("from"), $(this).data("align"), "primary"); }); /* 03.13. Owl carousel */ if ($().owlCarousel) { if ($(".owl-carousel.basic").length > 0) { $(".owl-carousel.basic") .owlCarousel({ margin: 30, stagePadding: 15, dotsContainer: $(".owl-carousel.basic") .parents(".owl-container") .find(".slider-dot-container"), responsive: { 0: { items: 1 }, 600: { items: 2 }, 1000: { items: 3 } } }) .data("owl.carousel") .onResize(); } if ($(".owl-carousel.dashboard-numbers").length > 0) { $(".owl-carousel.dashboard-numbers") .owlCarousel({ margin: 15, loop: true, autoplay: true, stagePadding: 5, responsive: { 0: { items: 1 }, 320: { items: 2 }, 576: { items: 3 }, 1200: { items: 3 }, 1440: { items: 3 }, 1800: { items: 4 } } }) .data("owl.carousel") .onResize(); } if ($(".best-rated-items").length > 0) { $(".best-rated-items") .owlCarousel({ margin: 15, items: 1, loop: true, autoWidth: true }) .data("owl.carousel") .onResize(); } if ($(".owl-carousel.single").length > 0) { $(".owl-carousel.single") .owlCarousel({ margin: 30, items: 1, loop: true, stagePadding: 15, dotsContainer: $(".owl-carousel.single") .parents(".owl-container") .find(".slider-dot-container") }) .data("owl.carousel") .onResize(); } if ($(".owl-carousel.center").length > 0) { $(".owl-carousel.center") .owlCarousel({ loop: true, margin: 30, stagePadding: 15, center: true, dotsContainer: $(".owl-carousel.center") .parents(".owl-container") .find(".slider-dot-container"), responsive: { 0: { items: 1 }, 480: { items: 2 }, 600: { items: 3 }, 1000: { items: 4 } } }) .data("owl.carousel") .onResize(); } $(".owl-dot").click(function() { var carouselReference = $( $(this) .parents(".owl-container") .find(".owl-carousel") ).owlCarousel(); carouselReference.trigger("to.owl.carousel", [$(this).index(), 300]); }); $(".owl-prev").click(function(event) { event.preventDefault(); var carouselReference = $( $(this) .parents(".owl-container") .find(".owl-carousel") ).owlCarousel(); carouselReference.trigger("prev.owl.carousel", [300]); }); $(".owl-next").click(function(event) { event.preventDefault(); var carouselReference = $( $(this) .parents(".owl-container") .find(".owl-carousel") ).owlCarousel(); carouselReference.trigger("next.owl.carousel", [300]); }); } /* 03.14. Slick Slider */ if ($().slick) { $(".slick.basic").slick({ dots: true, infinite: true, speed: 300, slidesToShow: 3, slidesToScroll: 4, appendDots: $(".slick.basic") .parents(".slick-container") .find(".slider-dot-container"), prevArrow: $(".slick.basic") .parents(".slick-container") .find(".slider-nav .left-arrow"), nextArrow: $(".slick.basic") .parents(".slick-container") .find(".slider-nav .right-arrow"), customPaging: function(slider, i) { return '<button role="button" class="slick-dot"><span></span></button>'; }, responsive: [ { breakpoint: 1024, settings: { slidesToShow: 2, slidesToScroll: 2, infinite: true, dots: true } }, { breakpoint: 600, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); $(".slick.center").slick({ dots: true, infinite: true, centerMode: true, speed: 300, slidesToShow: 4, slidesToScroll: 4, appendDots: $(".slick.center") .parents(".slick-container") .find(".slider-dot-container"), prevArrow: $(".slick.center") .parents(".slick-container") .find(".slider-nav .left-arrow"), nextArrow: $(".slick.center") .parents(".slick-container") .find(".slider-nav .right-arrow"), customPaging: function(slider, i) { return '<button role="button" class="slick-dot"><span></span></button>'; }, responsive: [ { breakpoint: 992, settings: { slidesToShow: 3, slidesToScroll: 3, infinite: true, dots: true, centerMode: false } }, { breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 2, centerMode: false } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1, centerMode: false } } ] }); $(".slick.single").slick({ dots: true, infinite: true, speed: 300, appendDots: $(".slick.single") .parents(".slick-container") .find(".slider-dot-container"), prevArrow: $(".slick.single") .parents(".slick-container") .find(".slider-nav .left-arrow"), nextArrow: $(".slick.single") .parents(".slick-container") .find(".slider-nav .right-arrow"), customPaging: function(slider, i) { return '<button role="button" class="slick-dot"><span></span></button>'; } }); } /* 03.15. Form Validation */ var forms = document.getElementsByClassName("needs-validation"); var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener( "submit", function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } form.classList.add("was-validated"); }, false ); }); /* 03.16. Tooltip */ if ($().tooltip) { $('[data-toggle="tooltip"]').tooltip(); } /* 03.17. Popover */ if ($().popover) { $('[data-toggle="popover"]').popover({ trigger: "focus" }); } /* 03.18. Select 2 */ if ($().select2) { $(".select2-single, .select2-multiple").select2({ theme: "bootstrap", placeholder: "", maximumSelectionSize: 6, containerCssClass: ":all:" }); } /* 03.19. Datepicker */ if ($().datepicker) { $("input.datepicker").datepicker({ autoclose: true, templates: { leftArrow: '<i class="simple-icon-arrow-left"></i>', rightArrow: '<i class="simple-icon-arrow-right"></i>' } }); $(".input-daterange").datepicker({ autoclose: true, templates: { leftArrow: '<i class="simple-icon-arrow-left"></i>', rightArrow: '<i class="simple-icon-arrow-right"></i>' } }); $(".input-group.date").datepicker({ autoclose: true, templates: { leftArrow: '<i class="simple-icon-arrow-left"></i>', rightArrow: '<i class="simple-icon-arrow-right"></i>' } }); $(".date-inline").datepicker({ autoclose: true, templates: { leftArrow: '<i class="simple-icon-arrow-left"></i>', rightArrow: '<i class="simple-icon-arrow-right"></i>' } }); } /* 03.20. Dropzone */ if ($().dropzone && !$(".dropzone").hasClass("disabled")) { $(".dropzone").dropzone({ url: "/file/post", thumbnailWidth: 160, previewTemplate: '<div class="dz-preview dz-file-preview mb-3"><div class="d-flex flex-row "> <div class="p-0 w-30 position-relative"> <div class="dz-error-mark"><span><i class="simple-icon-exclamation"></i> </span></div> <div class="dz-success-mark"><span><i class="simple-icon-check-circle"></i></span></div> <img data-dz-thumbnail class="img-thumbnail border-0" /> </div> <div class="pl-3 pt-2 pr-2 pb-1 w-70 dz-details position-relative"> <div> <span data-dz-name /> </div> <div class="text-primary text-extra-small" data-dz-size /> </div> <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div> <div class="dz-error-message"><span data-dz-errormessage></span></div> </div><a href="#" class="remove" data-dz-remove> <i class="simple-icon-trash"></i> </a></div>' }); } /* 03.21. Cropperjs */ var Cropper = window.Cropper; if (typeof Cropper !== "undefined") { function each(arr, callback) { var length = arr.length; var i; for (i = 0; i < length; i++) { callback.call(arr, arr[i], i, arr); } return arr; } var previews = document.querySelectorAll(".cropper-preview"); var options = { aspectRatio: 4 / 3, preview: ".img-preview", ready: function() { var clone = this.cloneNode(); clone.className = ""; clone.style.cssText = "display: block;" + "width: 100%;" + "min-width: 0;" + "min-height: 0;" + "max-width: none;" + "max-height: none;"; each(previews, function(elem) { elem.appendChild(clone.cloneNode()); }); }, crop: function(e) { var data = e.detail; var cropper = this.cropper; var imageData = cropper.getImageData(); var previewAspectRatio = data.width / data.height; each(previews, function(elem) { var previewImage = elem.getElementsByTagName("img").item(0); var previewWidth = elem.offsetWidth; var previewHeight = previewWidth / previewAspectRatio; var imageScaledRatio = data.width / previewWidth; elem.style.height = previewHeight + "px"; if (previewImage) { previewImage.style.width = imageData.naturalWidth / imageScaledRatio + "px"; previewImage.style.height = imageData.naturalHeight / imageScaledRatio + "px"; previewImage.style.marginLeft = -data.x / imageScaledRatio + "px"; previewImage.style.marginTop = -data.y / imageScaledRatio + "px"; } }); }, zoom: function(e) {} }; if ($("#inputImage").length > 0) { var inputImage = $("#inputImage")[0]; var image = $("#cropperImage")[0]; var cropper; inputImage.onchange = function() { var files = this.files; var file; if (files && files.length) { file = files[0]; $("#cropperContainer").css("display", "block"); if (/^image\/\w+/.test(file.type)) { uploadedImageType = file.type; uploadedImageName = file.name; image.src = uploadedImageURL = URL.createObjectURL(file); if (cropper) { cropper.destroy(); } cropper = new Cropper(image, options); inputImage.value = null; } else { window.alert("Please choose an image file."); } } }; } } /* 03.22. Range Slider */ if (typeof noUiSlider !== "undefined") { if ($("#dashboardPriceRange").length > 0) { noUiSlider.create($("#dashboardPriceRange")[0], { start: [800, 2100], connect: true, tooltips: true, range: { min: 200, max: 2800 }, step: 10, format: { to: function(value) { return "$" + $.fn.addCommas(Math.floor(value)); }, from: function(value) { return value; } } }); } if ($("#doubleSlider").length > 0) { noUiSlider.create($("#doubleSlider")[0], { start: [800, 1200], connect: true, tooltips: true, range: { min: 500, max: 1500 }, step: 10, format: { to: function(value) { return "$" + $.fn.addCommas(Math.round(value)); }, from: function(value) { return value; } } }); } if ($("#singleSlider").length > 0) { noUiSlider.create($("#singleSlider")[0], { start: 0, connect: true, tooltips: true, range: { min: 0, max: 150 }, step: 1, format: { to: function(value) { return $.fn.addCommas(Math.round(value)); }, from: function(value) { return value; } } }); } } /* 03.23. Modal Passing Content */ $("#exampleModalContent").on("show.bs.modal", function(event) { var button = $(event.relatedTarget); var recipient = button.data("whatever"); var modal = $(this); modal.find(".modal-title").text("New message to " + recipient); modal.find(".modal-body input").val(recipient); }); /* 03.24. Scrollbar */ if (typeof PerfectScrollbar !== "undefined") { var chatAppScroll; $(".scroll").each(function() { if ($(this).parents(".chat-app").length > 0) { chatAppScroll = new PerfectScrollbar($(this)[0]); $(".chat-app .scroll").scrollTop( $(".chat-app .scroll").prop("scrollHeight") ); chatAppScroll.update(); return; } var ps = new PerfectScrollbar($(this)[0]); }); } /* 03.25. Progress */ $(".progress-bar").each(function() { $(this).css("width", $(this).attr("aria-valuenow") + "%"); }); if (typeof ProgressBar !== "undefined") { $(".progress-bar-circle").each(function() { var val = $(this).attr("aria-valuenow"); var color = $(this).data("color") || themeColor1; var trailColor = $(this).data("trailColor") || "#d7d7d7"; var max = $(this).attr("aria-valuemax") || 100; var showPercent = $(this).data("showPercent"); var circle = new ProgressBar.Circle(this, { color: color, duration: 20, easing: "easeInOut", strokeWidth: 4, trailColor: trailColor, trailWidth: 4, text: { autoStyleContainer: false }, step: (state, bar) => { if (showPercent) { bar.setText(Math.round(bar.value() * 100) + "%"); } else { bar.setText(val + "/" + max); } } }).animate(val / max); }); } /* 03.26. Rating */ if ($().barrating) { $(".rating").each(function() { var current = $(this).data("currentRating"); var readonly = $(this).data("readonly"); $(this).barrating({ theme: "bootstrap-stars", initialRating: current, readonly: readonly }); }); } /* 03.27. Tags Input */ if ($().tagsinput) { $(".tags").tagsinput({ cancelConfirmKeysOnEmpty: true, confirmKeys: [13] }); $("body").on("keypress", ".bootstrap-tagsinput input", function(e) { if (e.which == 13) { e.preventDefault(); e.stopPropagation(); } }); } /* 03.28. Sortable */ if (typeof Sortable !== "undefined") { $(".sortable").each(function() { if ($(this).find(".handle").length > 0) { Sortable.create($(this)[0], { handle: ".handle" }); } else { Sortable.create($(this)[0]); } }); if ($(".sortable-survey").length > 0) { Sortable.create($(".sortable-survey")[0]); } } /* 03.29. State Button */ $("#successButton").on("click", function(event) { event.preventDefault(); var $button = $(this); if ( $button.hasClass("show-fail") || $button.hasClass("show-spinner") || $button.hasClass("show-success") ) { return; } $button.addClass("show-spinner"); $button.addClass("active"); setTimeout(function() { $button.addClass("show-success"); $button.removeClass("show-spinner"); $button.find(".icon.success").tooltip("show"); setTimeout(function() { $button.removeClass("show-success"); $button.removeClass("active"); $button.find(".icon.success").tooltip("dispose"); }, 2000); }, 3000); }); $("#failButton").on("click", function(event) { event.preventDefault(); var $button = $(this); if ( $button.hasClass("show-fail") || $button.hasClass("show-spinner") || $button.hasClass("show-success") ) { return; } $button.addClass("show-spinner"); $button.addClass("active"); setTimeout(function() { $button.addClass("show-fail"); $button.removeClass("show-spinner"); $button.find(".icon.fail").tooltip("show"); setTimeout(function() { $button.removeClass("show-fail"); $button.removeClass("active"); $button.find(".icon.fail").tooltip("dispose"); }, 2000); }, 3000); }); /* 03.30. Typeahead */ var testData = [ { name: "May", index: 0, id: "5a8a9bfd8bf389ba8d6bb211" }, { name: "Fuentes", index: 1, id: "5a8a9bfdee10e107f28578d4" }, { name: "Henderson", index: 2, id: "5a8a9bfd4f9e224dfa0110f3" }, { name: "Hinton", index: 3, id: "5a8a9bfde42b28e85df34630" }, { name: "Barrera", index: 4, id: "5a8a9bfdc0cba3abc4532d8d" }, { name: "Therese", index: 5, id: "5a8a9bfdedfcd1aa0f4c414e" }, { name: "Nona", index: 6, id: "5a8a9bfdd6686aa51b953c4e" }, { name: "Frye", index: 7, id: "5a8a9bfd352e2fd4c101507d" }, { name: "Cora", index: 8, id: "5a8a9bfdb5133142047f2600" }, { name: "Miles", index: 9, id: "5a8a9bfdadb1afd136117928" }, { name: "Cantrell", index: 10, id: "5a8a9bfdca4795bcbb002057" }, { name: "Benson", index: 11, id: "5a8a9bfdaa51e9a4aeeddb7d" }, { name: "Susanna", index: 12, id: "5a8a9bfd57dd857535ef5998" }, { name: "Beatrice", index: 13, id: "5a8a9bfd68b6f12828da4175" }, { name: "Tameka", index: 14, id: "5a8a9bfd2bc4a368244d5253" }, { name: "Lowe", index: 15, id: "5a8a9bfd9004fda447204d30" }, { name: "Roth", index: 16, id: "5a8a9bfdb4616dbc06af6172" }, { name: "Conley", index: 17, id: "5a8a9bfdfae43320dd8f9c5a" }, { name: "Nelda", index: 18, id: "5a8a9bfd534d9e0ba2d7c9a7" }, { name: "Angie", index: 19, id: "5a8a9bfd57de84496dc42259" } ]; if ($().typeahead) { $("#query").typeahead({ source: testData }); } /* 03.31. Full Screen */ function isFullScreen() { var isInFullScreen = (document.fullscreenElement && document.fullscreenElement !== null) || (document.webkitFullscreenElement && document.webkitFullscreenElement !== null) || (document.mozFullScreenElement && document.mozFullScreenElement !== null) || (document.msFullscreenElement && document.msFullscreenElement !== null); return isInFullScreen; } function fullscreen() { var isInFullScreen = isFullScreen(); var docElm = document.documentElement; if (!isInFullScreen) { if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } else if (docElm.msRequestFullscreen) { docElm.msRequestFullscreen(); } } else { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } } } $("#fullScreenButton").on("click", function(event) { event.preventDefault(); if (isFullScreen()) { $($(this).find("i")[1]).css("display", "none"); $($(this).find("i")[0]).css("display", "inline"); } else { $($(this).find("i")[1]).css("display", "inline"); $($(this).find("i")[0]).css("display", "none"); } fullscreen(); }); /* 03.32. Html Editors */ if (typeof Quill !== "undefined") { var quillToolbarOptions = [ ["bold", "italic", "underline", "strike"], ["blockquote", "code-block"], [{ header: 1 }, { header: 2 }], [{ list: "ordered" }, { list: "bullet" }], [{ script: "sub" }, { script: "super" }], [{ indent: "-1" }, { indent: "+1" }], [{ direction: "rtl" }], [{ size: ["small", false, "large", "huge"] }], [{ header: [1, 2, 3, 4, 5, 6, false] }], [{ color: [] }, { background: [] }], [{ font: [] }], [{ align: [] }], ["clean"] ]; var quillBubbleToolbarOptions = [ ["bold", "italic", "underline", "strike"], [{ list: "ordered" }, { list: "bullet" }], [{ size: ["small", false, "large", "huge"] }], [{ color: [] }], [{ align: [] }] ]; var editor = new Quill("#quillEditor", { modules: { toolbar: quillToolbarOptions }, theme: "snow" }); var editorBubble = new Quill("#quillEditorBubble", { modules: { toolbar: quillBubbleToolbarOptions }, theme: "bubble" }); } if (typeof ClassicEditor !== "undefined") { ClassicEditor.create(document.querySelector("#ckEditorClassic")).catch( error => {} ); } /* 03.33. Showing Body */ $("body > *") .stop() .delay(100) .animate({ opacity: 1 }, 300); $("body").removeClass("show-spinner"); $("main").addClass("default-transition"); $(".sub-menu").addClass("default-transition"); $(".main-menu").addClass("default-transition"); $(".theme-colors").addClass("default-transition"); /*03.34. Keyboard Shortcuts*/ if (typeof Mousetrap !== "undefined") { //Go to next page on sub menu Mousetrap.bind(["ctrl+down", "command+down"], function(e) { var $nextItem = $(".sub-menu li.active").next(); if ($nextItem.length == 0) { $nextItem = $(".sub-menu li.active") .parent() .children() .first(); } window.location.href = $nextItem.find("a").attr("href"); return false; }); //Go to prev page on sub menu Mousetrap.bind(["ctrl+up", "command+up"], function(e) { var $prevItem = $(".sub-menu li.active").prev(); if ($prevItem.length == 0) { $prevItem = $(".sub-menu li.active") .parent() .children() .last(); } window.location.href = $prevItem.find("a").attr("href"); return false; }); //Go to next page on main menu Mousetrap.bind(["ctrl+shift+down", "command+shift+down"], function(e) { var $nextItem = $(".main-menu li.active").next(); if ($nextItem.length == 0) { $nextItem = $(".main-menu li:first-of-type"); } var $link = $nextItem .find("a") .attr("href") .replace("#", ""); var $firstSubLink = $( ".sub-menu ul[data-link='" + $link + "'] li:first-of-type" ); window.location.href = $firstSubLink.find("a").attr("href"); return false; }); //Go to prev page on main menu Mousetrap.bind(["ctrl+shift+up", "command+shift+up"], function(e) { var $prevItem = $(".main-menu li.active").prev(); if ($prevItem.length == 0) { $prevItem = $(".main-menu li:last-of-type"); } var $link = $prevItem .find("a") .attr("href") .replace("#", ""); var $firstSubLink = $( ".sub-menu ul[data-link='" + $link + "'] li:first-of-type" ); window.location.href = $firstSubLink.find("a").attr("href"); return false; }); /*Select all with ctrl+a and deselect all with ctrl+d at list pages */ if ($(".list") && $(".list").length > 0) { Mousetrap.bind(["ctrl+a", "command+a"], function(e) { $(".list") .shiftSelectable() .data("shiftSelectable") .selectAll(); return false; }); Mousetrap.bind(["ctrl+d", "command+d"], function(e) { $(".list") .shiftSelectable() .data("shiftSelectable") .deSelectAll(); return false; }); } } /*03.35. Context Menu */ if ($().contextMenu) { $.contextMenu({ selector: ".list .card", callback: function(key, options) { var m = "clicked: " + key; }, events: { show: function(options) { var $list = options.$trigger.parents(".list"); if ($list && $list.length > 0) { $list.data("shiftSelectable").rightClick(options.$trigger); } } }, items: { copy: { name: "Copy", className: "simple-icon-docs" }, archive: { name: "Move to archive", className: "simple-icon-drawer" }, delete: { name: "Delete", className: "simple-icon-trash" } } }); } /* 03.36. Select from Library */ if ($().selectFromLibrary) { $(".sfl-multiple").selectFromLibrary(); $(".sfl-single").selectFromLibrary(); /* Getting selected items console.log($(".sfl-multiple").selectFromLibrary().data("selectFromLibrary").getData()); console.log($(".sfl-single").selectFromLibrary().data("selectFromLibrary").getData()); */ } } init(); }; $.fn.dore = function(options) { return this.each(function() { if (undefined == $(this).data("dore")) { var plugin = new $.dore(this, options); $(this).data("dore", plugin); } }); };