/** * Advanced Cards */ 'use strict'; (function () { let cardColor, headingColor, legendColor, labelColor; if (isDarkStyle) { cardColor = config.colors_dark.cardColor; labelColor = config.colors_dark.textMuted; legendColor = config.colors_dark.bodyColor; headingColor = config.colors_dark.headingColor; } else { cardColor = config.colors.cardColor; labelColor = config.colors.textMuted; legendColor = config.colors.bodyColor; headingColor = config.colors.headingColor; } // Radial bar chart functions function radialBarChart(color, value, show) { const radialBarChartOpt = { chart: { height: show == 'true' ? 58 : 55, width: show == 'true' ? 58 : 45, type: 'radialBar' }, plotOptions: { radialBar: { hollow: { size: show == 'true' ? '50%' : '25%' }, dataLabels: { show: show == 'true' ? true : false, value: { offsetY: -10, fontSize: '15px', fontWeight: 500, fontFamily: 'Public Sans', color: headingColor } }, track: { background: config.colors_label.secondary } } }, stroke: { lineCap: 'round' }, colors: [color], grid: { padding: { top: show == 'true' ? -12 : -15, bottom: show == 'true' ? -17 : -15, left: show == 'true' ? -17 : -5, right: -15 } }, series: [value], labels: show == 'true' ? [''] : ['Progress'] }; return radialBarChartOpt; } // Progress Chart // -------------------------------------------------------------------- // All progress chart const chartProgressList = document.querySelectorAll('.chart-progress'); if (chartProgressList) { chartProgressList.forEach(function (chartProgressEl) { const color = config.colors[chartProgressEl.dataset.color], series = chartProgressEl.dataset.series; const progress_variant = chartProgressEl.dataset.progress_variant ? chartProgressEl.dataset.progress_variant : 'false'; const optionsBundle = radialBarChart(color, series, progress_variant); const chart = new ApexCharts(chartProgressEl, optionsBundle); chart.render(); }); } // Order Statistics Chart // -------------------------------------------------------------------- const chartOrderStatistics = document.querySelector('#orderStatisticsChart'), orderChartConfig = { chart: { height: 145, width: 110, type: 'donut' }, labels: ['Electronic', 'Sports', 'Decor', 'Fashion'], series: [50, 85, 25, 40], colors: [config.colors.success, config.colors.primary, config.colors.secondary, config.colors.info], stroke: { width: 5, colors: [cardColor] }, dataLabels: { enabled: false, formatter: function (val, opt) { return parseInt(val) + '%'; } }, legend: { show: false }, grid: { padding: { top: 0, bottom: 0, right: 15 } }, plotOptions: { pie: { donut: { size: '75%', labels: { show: true, value: { fontSize: '18px', fontFamily: 'Public Sans', fontWeight: 500, color: headingColor, offsetY: -17, formatter: function (val) { return parseInt(val) + '%'; } }, name: { offsetY: 17, fontFamily: 'Public Sans' }, total: { show: true, fontSize: '13px', color: legendColor, label: 'Weekly', formatter: function (w) { return '38%'; } } } } } }, states: { active: { filter: { type: 'none' } } } }; if (typeof chartOrderStatistics !== undefined && chartOrderStatistics !== null) { const statisticsChart = new ApexCharts(chartOrderStatistics, orderChartConfig); statisticsChart.render(); } // Earning Reports Bar Chart // -------------------------------------------------------------------- const reportBarChartEl = document.querySelector('#reportBarChart'), reportBarChartConfig = { chart: { height: 200, type: 'bar', toolbar: { show: false } }, plotOptions: { bar: { barHeight: '60%', columnWidth: '60%', startingShape: 'rounded', endingShape: 'rounded', borderRadius: 4, distributed: true } }, grid: { show: false, padding: { top: -20, bottom: 0, left: -10, right: -10 } }, colors: [ config.colors_label.primary, config.colors_label.primary, config.colors_label.primary, config.colors_label.primary, config.colors.primary, config.colors_label.primary, config.colors_label.primary ], dataLabels: { enabled: false }, series: [ { data: [40, 95, 60, 45, 90, 50, 75] } ], legend: { show: false }, xaxis: { categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], axisBorder: { show: false }, axisTicks: { show: false }, labels: { style: { colors: labelColor, fontSize: '13px' } } }, yaxis: { labels: { show: false } } }; if (typeof reportBarChartEl !== undefined && reportBarChartEl !== null) { const barChart = new ApexCharts(reportBarChartEl, reportBarChartConfig); barChart.render(); } // Conversion rate Line Chart // -------------------------------------------------------------------- const conversionLineChartEl = document.querySelector('#conversionRateChart'), conversionLineChartConfig = { chart: { height: 80, width: 140, type: 'line', toolbar: { show: false }, dropShadow: { enabled: true, top: 10, left: 5, blur: 3, color: config.colors.primary, opacity: 0.15 }, sparkline: { enabled: true } }, markers: { size: 6, colors: 'transparent', strokeColors: 'transparent', strokeWidth: 4, discrete: [ { fillColor: cardColor, seriesIndex: 0, dataPointIndex: 3, strokeColor: config.colors.primary, strokeWidth: 4, size: 6, radius: 2 } ], hover: { size: 7 } }, grid: { show: false, padding: { right: 8 } }, colors: [config.colors.primary], dataLabels: { enabled: false }, stroke: { width: 5, curve: 'smooth' }, series: [ { data: [137, 210, 160, 245] } ], xaxis: { show: false, lines: { show: false }, labels: { show: false }, axisBorder: { show: false } }, yaxis: { show: false } }; const conversionLineChart = new ApexCharts(conversionLineChartEl, conversionLineChartConfig); conversionLineChart.render(); // Credit Card Validation // -------------------------------------------------------------------- const creditCardPayment = document.querySelector('.credit-card-payment'), expiryDatePayment = document.querySelector('.expiry-date-payment'), cvvMaskList = document.querySelectorAll('.cvv-code-payment'); let cleave; // Credit Card Cleave Masking if (creditCardPayment) { cleave = new Cleave(creditCardPayment, { creditCard: true, onCreditCardTypeChanged: function (type) { if (type != '' && type != 'unknown') { document.querySelector('.card-payment-type').innerHTML = ''; } else { document.querySelector('.card-payment-type').innerHTML = ''; } } }); } // Expiry Date Mask if (expiryDatePayment) { new Cleave(expiryDatePayment, { date: true, delimiter: '/', datePattern: ['m', 'y'] }); } // All CVV field if (cvvMaskList) { cvvMaskList.forEach(function (cvvMaskEl) { new Cleave(cvvMaskEl, { numeral: true, numeralPositiveOnly: true }); }); } })();