try { Apex.tooltip = { theme: 'dark' } /* Dropdown */ var filterDropdown = function() { var getDropdownElement = document.querySelectorAll('.filter.custom-dropdown-icon .dropdown-item'); for (var i = 0; i < getDropdownElement.length; i++) { getDropdownElement[i].addEventListener('click', function() { console.log(this.getAttribute('data-value')) document.querySelectorAll('.custom-dropdown-icon .dropdown-toggle > span.text')[0].innerHTML = this.getAttribute('data-value'); }) } } /* ============================== | @Options Charts Script | ============================== */ /* ============================= Daily Sales | Options ============================= */ var d_2options1 = { chart: { height: 160, type: 'bar', stacked: true, stackType: '100%', toolbar: { show: false, } }, dataLabels: { enabled: false, }, stroke: { show: true, width: 1, }, colors: ['#e2a03f', '#e0e6ed'], responsive: [{ breakpoint: 480, options: { legend: { position: 'bottom', offsetX: -10, offsetY: 0 } } }], series: [{ name: 'Sales', data: [44, 55, 41, 67, 22, 43, 21] },{ name: 'Last Week', data: [13, 23, 20, 8, 13, 27, 33] }], xaxis: { labels: { show: false, }, categories: ['Sun', 'Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat'], }, yaxis: { show: false }, fill: { opacity: 1 }, plotOptions: { bar: { horizontal: false, endingShape: 'rounded', columnWidth: '25%', } }, legend: { show: false, }, grid: { show: false, xaxis: { lines: { show: false } }, padding: { top: 10, right: 0, bottom: -40, left: 0 }, }, } /* ============================= Total Orders | Options ============================= */ var d_2options2 = { chart: { id: 'sparkline1', group: 'sparklines', type: 'area', height: 280, sparkline: { enabled: true }, }, stroke: { curve: 'smooth', width: 2 }, fill: { opacity: 1, }, series: [{ name: 'Sales', data: [28, 40, 36, 52, 38, 60, 38, 52, 36, 40] }], labels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], yaxis: { min: 0 }, grid: { padding: { top: 125, right: 0, bottom: 36, left: 0 }, }, fill: { type:"gradient", gradient: { type: "vertical", shadeIntensity: 1, inverseColors: !1, opacityFrom: .40, opacityTo: .05, stops: [45, 100] } }, tooltip: { x: { show: false, }, theme: 'dark' }, colors: ['#fff'] } /* ================================= Revenue Monthly | Options ================================= */ var options1 = { chart: { fontFamily: 'Quicksand, sans-serif', height: 365, type: 'area', zoom: { enabled: false }, dropShadow: { enabled: true, opacity: 0.3, blur: 5, left: -7, top: 22 }, toolbar: { show: false }, events: { mounted: function(ctx, config) { const highest1 = ctx.getHighestValueInSeries(0); const highest2 = ctx.getHighestValueInSeries(1); ctx.addPointAnnotation({ x: new Date(ctx.w.globals.seriesX[0][ctx.w.globals.series[0].indexOf(highest1)]).getTime(), y: highest1, label: { style: { cssClass: 'd-none' } }, customSVG: { SVG: '', cssClass: undefined, offsetX: -8, offsetY: 5 } }) ctx.addPointAnnotation({ x: new Date(ctx.w.globals.seriesX[1][ctx.w.globals.series[1].indexOf(highest2)]).getTime(), y: highest2, label: { style: { cssClass: 'd-none' } }, customSVG: { SVG: '', cssClass: undefined, offsetX: -8, offsetY: 5 } }) }, } }, colors: ['#1b55e2', '#e7515a'], dataLabels: { enabled: false }, markers: { discrete: [{ seriesIndex: 0, dataPointIndex: 7, fillColor: '#000', strokeColor: '#000', size: 5 }, { seriesIndex: 2, dataPointIndex: 11, fillColor: '#000', strokeColor: '#000', size: 4 }] }, subtitle: { text: 'Total Profit', align: 'left', margin: 0, offsetX: -10, offsetY: 35, floating: false, style: { fontSize: '14px', color: '#888ea8' } }, title: { text: '$10,840', align: 'left', margin: 0, offsetX: -10, offsetY: 0, floating: false, style: { fontSize: '25px', color: '#bfc9d4' }, }, stroke: { show: true, curve: 'smooth', width: 2, lineCap: 'square' }, series: [{ name: 'Income', data: [16800, 16800, 15500, 17800, 15500, 17000, 19000, 16000, 15000, 17000, 14000, 17000] }, { name: 'Expenses', data: [16500, 17500, 16200, 17300, 16000, 19500, 16000, 17000, 16000, 19000, 18000, 19000] }], labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], xaxis: { axisBorder: { show: false }, axisTicks: { show: false }, crosshairs: { show: true }, labels: { offsetX: 0, offsetY: 5, style: { fontSize: '12px', fontFamily: 'Quicksand, sans-serif', cssClass: 'apexcharts-xaxis-title', }, } }, yaxis: { labels: { formatter: function(value, index) { return (value / 1000) + 'K' }, offsetX: -22, offsetY: 0, style: { fontSize: '12px', fontFamily: 'Quicksand, sans-serif', cssClass: 'apexcharts-yaxis-title', }, } }, grid: { borderColor: '#191e3a', strokeDashArray: 5, xaxis: { lines: { show: true } }, yaxis: { lines: { show: false, } }, padding: { top: 0, right: 0, bottom: 0, left: -10 }, }, legend: { position: 'top', horizontalAlign: 'right', offsetY: -50, fontSize: '16px', fontFamily: 'Quicksand, sans-serif', markers: { width: 10, height: 10, strokeWidth: 0, strokeColor: '#fff', fillColors: undefined, radius: 12, onClick: undefined, offsetX: 0, offsetY: 0 }, itemMargin: { horizontal: 0, vertical: 20 } }, tooltip: { theme: 'dark', marker: { show: true, }, x: { show: false, } }, fill: { type:"gradient", gradient: { type: "vertical", shadeIntensity: 1, inverseColors: !1, opacityFrom: .28, opacityTo: .05, stops: [45, 100] } }, responsive: [{ breakpoint: 575, options: { legend: { offsetY: -30, }, }, }] } /* ================================== Sales By Category | Options ================================== */ var options = { chart: { type: 'donut', width: 380 }, colors: ['#5c1ac3', '#e2a03f', '#e7515a', '#e2a03f'], dataLabels: { enabled: false }, legend: { position: 'bottom', horizontalAlign: 'center', fontSize: '14px', markers: { width: 10, height: 10, }, itemMargin: { horizontal: 0, vertical: 8 } }, plotOptions: { pie: { donut: { size: '65%', background: 'transparent', labels: { show: true, name: { show: true, fontSize: '29px', fontFamily: 'Quicksand, sans-serif', color: undefined, offsetY: -10 }, value: { show: true, fontSize: '26px', fontFamily: 'Quicksand, sans-serif', color: '#bfc9d4', offsetY: 16, formatter: function (val) { return val } }, total: { show: true, showAlways: true, label: 'Total', color: '#888ea8', formatter: function (w) { return w.globals.seriesTotals.reduce( function(a, b) { return a + b }, 0) } } } } } }, stroke: { show: true, width: 25, colors: '#0e1726' }, series: [985, 737, 270], labels: ['Apparel', 'Electronic', 'Others'], responsive: [{ breakpoint: 1599, options: { chart: { width: '350px', height: '400px' }, legend: { position: 'bottom' } }, breakpoint: 1439, options: { chart: { width: '250px', height: '390px' }, legend: { position: 'bottom' }, plotOptions: { pie: { donut: { size: '65%', } } } }, }] } /* ============================== | @Render Charts Script | ============================== */ /* ============================ Daily Sales | Render ============================ */ var d_2C_1 = new ApexCharts(document.querySelector("#daily-sales"), d_2options1); d_2C_1.render(); /* ============================ Total Orders | Render ============================ */ var d_2C_2 = new ApexCharts(document.querySelector("#total-orders"), d_2options2); d_2C_2.render(); /* ================================ Revenue Monthly | Render ================================ */ var chart1 = new ApexCharts( document.querySelector("#revenueMonthly"), options1 ); chart1.render(); /* ================================= Sales By Category | Render ================================= */ var chart = new ApexCharts( document.querySelector("#chart-2"), options ); chart.render(); /* ============================================= Perfect Scrollbar | Recent Activities ============================================= */ const ps = new PerfectScrollbar(document.querySelector('.mt-container')); filterDropdown(); } catch(e) { console.log(e); }