(function($) { "use strict"; var Core = {}; NProgress.start(); $(document).ready(function(){ Core.module.init(); Core.plugin.init(); if ($('[data-toggle="tooltip"]').length) $('[data-toggle="tooltip"]').tooltip() //Enable tooltip return false; }); $(window).bind("load",function(){ Core.plugin.isotope.init(); Core.func.resizeNotice(); NProgress.done(); return false; }); $(window).on("resize",function(){ Core.func.resizeNotice(); Core.func.getChart(); return false; }) $(".js__full_screen").on('click',function(){ $(document).fullScreen(true); }); Core.module = { init : function(){ Core.module.accordion(); Core.module.card(); Core.module.css($(".js__width"),"width"); Core.module.dropDown("js__drop_down",false); Core.module.logout(); Core.module.menu(); Core.module.tab(".js__tab","li"); Core.module.toggle(); Core.module.todo(); return false; }, accordion: function(){ $(".js__accordion").each(function(){ var selector = $(this); selector.find(".js__control").on("click",function(event){ event.preventDefault(); if ($(this).parent().hasClass("active")){ $(this).parent().removeClass("active"); $(this).next().stop().slideUp(400); }else{ var current = $(this); selector.find(".active").children(".js__content").stop().slideUp(400); selector.find(".active").removeClass("active"); $(this).parent().addClass("active"); $(this).next(".js__content").slideDown(400,function(){ if (selector.parents(".main-menu").length){ $(".main-menu .content").mCustomScrollbar("scrollTo",current,{ // scroll as soon as clicked timeout:0, // scroll duration scrollInertia:200, }); } }); } }); }); return false; }, card: function(){ $(".js__card").each(function(){ var selector = $(this); selector.on("click",".js__card_minus",function(){ selector.toggleClass("card-closed"); selector.find(".js__card_content").stop().slideToggle(400); }); selector.on("click",".js__card_remove",function(){ selector.slideUp(400); }); }); return false; }, css : function(selector,name,data){ if (!data){ data = name; } selector.each(function(){ var raw = $(this).data(data); if (raw){ var dict = {}; dict[name] = raw $(this).css(dict); } }); return false; }, dropDown : function(selectorTxt,isMobile){ var selector = $("." + selectorTxt); selector.each(function(){ var current_selector = $(this); current_selector.on("click",".js__drop_down_button",function(event){ event.preventDefault(); if ($(window).width() < 1025 || isMobile == false){ if (current_selector.hasClass("active")){ current_selector.removeClass("active"); }else{ selector.removeClass("active"); current_selector.addClass("active"); } } return false; }); }); $("html").on("click",function(event){ var selector = $(event.target); if (!(selector.hasClass(selectorTxt) || selector.parents("." + selectorTxt).length)){ $("." + selectorTxt + ".active").removeClass("active"); } }); return false; }, logout: function(){ $(".js__logout").on("click",function(event){ event.preventDefault(); swal({ title: "Logout?", text: "Are you sure you want to logout?", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, I'm out!", cancelButtonText: "No, stay plx!", closeOnConfirm: false, closeOnCancel: true, confirmButtonColor: '#f60e0e', }, function(isConfirm){ if (isConfirm) { swal({ title : "Logout success", text: "See you later!", type: "success", confirmButtonColor: '#304ffe', }); } else { } }); return false; }); }, menu: function(){ $(".js__menu_mobile").on("click",function(){ $("html").toggleClass("menu-active"); $(window).trigger("resize"); }); $(".js__menu_close").on("click",function(){ $("html").removeClass("menu-active"); }); $("body").on("click",function(event){ if ($("html.menu-active").length && $(window).width() < 800){ var selector = $(event.target); if (!(selector.hasClass("main-menu") || selector.hasClass("js__menu_mobile") || selector.parents(".main-menu").length || selector.parents(".js__menu_mobile").length)){ $("html").removeClass("menu-active"); } } }); return false; }, tab: function(name,index_name){ $(".js__tab").each(function(){ var selector = $(this); selector.on("click",".js__tab_control",function(event){ var target = $(this).data("target"); event.preventDefault(); selector.find(".js__tab_content").removeClass("js__active"); selector.find(".js__tab_control").removeClass("js__active"); $(this).addClass("js__active"); if (target){ $(target).addClass("js__active"); }else{ var index; if (index_name){ index = $(this).parents(index_name).first().index() }else{ index = $(this).index() } selector.find(".js__tab_content").eq(index).addClass("js__active"); } return false; }); }); return false; }, todo: function(){ $(".js__todo_widget").each(function(){ var selector = $(this), list = $(this).find(".js__todo_list"), val = $(this).find(".js__todo_value"), button = $(this).find(".js__todo_button"); button.on("click",function(){ if (val.val() != ""){ var rnd = Math.floor((Math.random() * 100000000) + 1); list.append('
') val.val(""); }else{ alert("You must enter task name.") } return false; }); }); return false; }, toggle: function(){ $(".js__toggle_open").on("click",function(event){ event.preventDefault(); if ($($(this).data("target")).hasClass("active")){ }else{ $(".js__toggle").removeClass("active") } $($(this).data("target")).toggleClass("active"); return false; }); $(".js__toggle_close").on("click",function(event){ event.preventDefault(); $(this).parents(".js__toggle").removeClass("active"); return false; }); $("body").on("click",function(event){ if ($(".js__toggle").hasClass("active")){ var selector = $(event.target); if (!(selector.hasClass("js__toggle_open") || selector.hasClass("js__toggle") || selector.parents(".js__toggle_open").length || selector.parents(".js__toggle").length)){ $(".js__toggle").removeClass("active") } } }); return false; } } Core.func = { childReturnWidth : function(selector,current_width){ if (selector.children("li").children(".sub-menu").length){ var max_width = 0; selector.children("li").children(".sub-menu").each(function(){ var this_width = Core.func.childReturnWidth($(this),current_width + $(this).outerWidth()); if (this_width > max_width){ max_width = this_width; } }); return max_width; }else{ return current_width; } }, getResponsiveSettings: function(selector){ var responsive = selector.data("responsive"), json = []; if (responsive){ while(responsive.indexOf("'") > -1){ responsive = responsive.replace("'",'"'); } var json_temp = JSON.parse(responsive); $.each(json_temp, function (key, data) { json[json.length] = { breakpoint: key, settings: { slidesToShow: data, slidesToScroll: data, } } }); } return json; }, getChart: function(){ $(".js__chart").each(function(){ var selector = $(this), chart = selector.data("chart"), json = [], id = selector.attr("id"), type = selector.data("type"), options, dataTable,chart_draw,themes = ($(this).hasClass('black-chart') ? '#1b1c1c' : '#ffffff'); if (chart){ var json_temp = chart.split("|"), i,j; for (i = 0; i < json_temp.length; i++){ json_temp[i] = json_temp[i].trim(); json[i] = json_temp[i].split("/"); for(j = 0; j < json[i].length; j++){ if (json[i][j].indexOf("'") > -1){ while(json[i][j].indexOf("'") > -1){ json[i][j] = json[i][j].replace("'",""); } json[i][j] = json[i][j].trim(); }else{ if (json[i][j].indexOf(".") > -1){ json[i][j] = parseFloat(json[i][j]); }else{ json[i][j] = parseInt(json[i][j],10); } } } } dataTable = google.visualization.arrayToDataTable(json); if ($(this).hasClass('black-chart')){ switch (type){ case "circle": options = { chartArea:{left:0,top:0,width:'100%',height:'75%'}, colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes, legend:{ position: 'bottom', textStyle: { color: '#484848' } }, vAxis: { baselineColor: '#484848', gridlines: { color: "#484848" }, textStyle:{ color: '#484848' } }, hAxis: { textStyle:{ color: '#484848' } } } chart_draw = new google.visualization.PieChart(document.getElementById(id)); break; case "donut": options = { pieHole: 0.3, chartArea:{left:0,top:0,width:'100%',height:'75%'}, legend:{ position: 'bottom', textStyle: { color: '#484848' } }, colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.PieChart(document.getElementById(id)); break; case "column": options = { chartArea:{left:30,top:10,width:'100%',height:'80%'}, colors: ["#304ffe"], fontName: 'Poppins', backgroundColor: themes, vAxis: { baselineColor: '#484848', gridlines: { color: "#484848" }, textStyle:{ color: '#484848' } }, hAxis: { textStyle:{ color: '#484848' } } } chart_draw = new google.visualization.ColumnChart(document.getElementById(id)); break; case "curve": options = { chartArea:{left:30,top:10,width:'90%',height:'80%'}, curveType: 'function', colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes, vAxis: { baselineColor: '#484848', gridlines: { color: "#484848" }, textStyle:{ color: '#484848' } }, hAxis: { textStyle:{ color: '#484848' } } } chart_draw = new google.visualization.LineChart(document.getElementById(id)); break; case "line": options = { chartArea:{left:30,top:10,width:'90%',height:'80%'}, fontName: 'Poppins', backgroundColor: themes, vAxis: { baselineColor: '#484848', gridlines: { color: "#484848" }, textStyle:{ color: '#484848' } }, hAxis: { textStyle:{ color: '#484848' } } } chart_draw = new google.visualization.LineChart(document.getElementById(id)); break; case "area": options = { chartArea:{left:50,top:20,width:'100%',height:'70%'}, legend: { position: 'bottom' }, fontName: 'Poppins', backgroundColor: themes, vAxis: { baselineColor: '#484848', gridlines: { color: "#484848" }, textStyle:{ color: '#484848' } }, hAxis: { textStyle:{ color: '#484848' } } } chart_draw = new google.visualization.AreaChart(document.getElementById(id)); break; } }else{ switch (type){ case "circle": options = { chartArea:{left:0,top:0,width:'100%',height:'75%'}, legend:{ position: 'bottom' }, colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.PieChart(document.getElementById(id)); break; case "donut": options = { pieHole: 0.3, chartArea:{left:0,top:0,width:'100%',height:'75%'}, legend:{ position: 'bottom', }, colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.PieChart(document.getElementById(id)); break; case "column": options = { chartArea:{left:30,top:10,width:'100%',height:'80%'}, colors: ["#304ffe"], fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.ColumnChart(document.getElementById(id)); break; case "curve": options = { chartArea:{left:30,top:10,width:'90%',height:'80%'}, curveType: 'function', colors: ["#304ffe", "#f60e0e","#ffa000"], fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.LineChart(document.getElementById(id)); break; case "line": options = { chartArea:{left:30,top:10,width:'90%',height:'80%'}, fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.LineChart(document.getElementById(id)); break; case "area": options = { chartArea:{left:50,top:20,width:'100%',height:'70%'}, legend: { position: 'bottom' }, fontName: 'Poppins', backgroundColor: themes } chart_draw = new google.visualization.AreaChart(document.getElementById(id)); break; } } chart_draw.draw(dataTable, options); } }); }, resizeNotice : function(){ $(".notice-popup").each(function(){ var selector = $(this), space = (parseInt(selector.data("space"),10) > 0) ? parseInt(selector.data("space"),10) : 75, window_height = $(window).height() - space; selector.attr("style",""); if (selector.height() > window_height){ selector.css({ "height" : window_height }); } }); } } Core.plugin = { init : function(){ Core.plugin.chart(); Core.plugin.mCustomScrollbar(); Core.plugin.select2(); Core.plugin.ui.accordion(); Core.plugin.ui.slider(); Core.plugin.ui.sortable(); Core.plugin.ui.tabs(); Core.plugin.waves(); Core.plugin.isotope.filter(); return false; }, chart: function(){ if ($(".js__chart").length){ google.charts.load("current", {packages:["corechart"]}); google.charts.setOnLoadCallback(Core.func.getChart); } return false; }, isotope : { init : function(){ setTimeout(function(){ $(".js__filter_isotope").each(function(){ var selector = $(this); selector.find(".js__isotope_items").isotope({ itemSelector: ".js__isotope_item", layoutMode: 'cellsByRow' }); }); },100); return false; }, filter : function(){ $(".js__filter_isotope").each(function(){ var selector = $(this); selector.on("click",".js__filter_control",function(event){ event.preventDefault(); if (!($(this).hasClass(".js__active"))){ selector.find(".js__filter_control").removeClass("js__active"); $(this).addClass("js__active"); selector.find(".js__isotope_items").isotope({ filter : $(this).data("filter") }); } return false; }); }); return false; } }, mCustomScrollbar:function(){ if ($(".main-menu").length){ $(".main-menu .content").mCustomScrollbar(); } if ($(".notice-popup").length){ $(".notice-popup .content").mCustomScrollbar(); } return false; }, select2 : function(){ $(".js__select2").each(function(){ var minResults = $(this).data("min-results"), classContainer = $(this).data("container-class"); if (minResults){ if (minResults == "Infinity"){ $(this).select2({ minimumResultsForSearch: Infinity, }); }else{ $(this).select2({ minimumResultsForSearch: parseInt(minResults,10) }); } if (classContainer){ $(this).on("select2:open", function(){ $(".select2-container--open").addClass(classContainer); return false; }); } }else{ $(this).select2(); } }); return false; }, ui: { accordion: function(){ if ($( ".js__ui_accordion" ).length){ $( ".js__ui_accordion" ).accordion({ heightStyle: "content", collapsible: true }); } return false; }, slider: function(){ $(".js__ui_slider").each(function(){ var selector = $(this), slider = selector.find(".js__slider_range"), amount = selector.find(".js__slider_amount"), min = parseInt(selector.data("min"),10), max = parseInt(selector.data("max"),10), start = parseInt(selector.data("value-1"),10), end = parseInt(selector.data("value-2"),10), range = selector.data("range"); if (end > 0){ slider.slider({ range: true, min: min, max: max, values: [ start, end ], slide: function( event, ui ) { amount.val( "$" + ui.values[0] + " - $" + ui.values[1] ); } }); amount.val( "$" + slider.slider( "values", 0 ) + " - $" + slider.slider( "values", 1 ) ); }else{ slider.slider({ range: range, min: min, max: max, value: start, slide: function( event, ui ) { amount.val( "$" + ui.value ); } }); amount.val("$" + slider.slider( "value" ) ); } }); return false; }, sortable: function(){ if ($(".js__sortable").length){ $(".js__sortable").sortable({ revert: true, start: function(e, ui){ ui.placeholder.height(ui.item.height() - 20); ui.placeholder.css('visibility', 'visible'); } }); } return false; }, tabs : function(){ if ($(".js__ui_tab").length){ $(".js__ui_tab").tabs(); } return false; } }, waves: function(){ if ($('.js__control').length){ Waves.attach('.js__control'); Waves.init(); } return false; } } })(jQuery);