⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.53
Server IP:
217.76.53.76
Server:
Linux vmi1397931.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
Server Software:
Apache
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
ppt.com.ng
/
public
/
assets
/
js
/
Edit File: cards-analytics.js
/** * Analytics Cards */ 'use strict'; (function () { let cardColor, headingColor, legendColor, labelColor, borderColor; if (isDarkStyle) { cardColor = config.colors_dark.cardColor; labelColor = config.colors_dark.textMuted; legendColor = config.colors_dark.bodyColor; headingColor = config.colors_dark.headingColor; borderColor = config.colors_dark.borderColor; } else { cardColor = config.colors.cardColor; labelColor = config.colors.textMuted; legendColor = config.colors.bodyColor; headingColor = config.colors.headingColor; borderColor = config.colors.borderColor; } // Chart Colors const chartColors = { donut: { series1: config.colors.success, series2: '#4fddaa', series3: '#8ae8c7', series4: '#c4f4e3' }, bar: { series1: config.colors.primary, series2: '#7367F0CC', series3: '#FF001F99' } }; // Earning Reports Bar Chart // -------------------------------------------------------------------- const weeklyEarningReportsEl = document.querySelector('#weeklyEarningReports'), weeklyEarningReportsConfig = { chart: { height: 202, parentHeightOffset: 0, type: 'bar', toolbar: { show: false } }, plotOptions: { bar: { barHeight: '60%', columnWidth: '38%', startingShape: 'rounded', endingShape: 'rounded', borderRadius: 4, distributed: true } }, grid: { show: false, padding: { top: -30, 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, 65, 50, 45, 90, 55, 70] } ], legend: { show: false }, xaxis: { categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], axisBorder: { show: false }, axisTicks: { show: false }, labels: { style: { colors: labelColor, fontSize: '13px', fontFamily: 'Public Sans' } } }, yaxis: { labels: { show: false } }, tooltip: { enabled: false }, responsive: [ { breakpoint: 1025, options: { chart: { height: 199 } } } ] }; if (typeof weeklyEarningReportsEl !== undefined && weeklyEarningReportsEl !== null) { const weeklyEarningReports = new ApexCharts(weeklyEarningReportsEl, weeklyEarningReportsConfig); weeklyEarningReports.render(); } // Support Tracker - Radial Bar Chart // -------------------------------------------------------------------- const supportTrackerEl = document.querySelector('#supportTracker'), supportTrackerOptions = { series: [85], labels: ['Completed Task'], chart: { height: 360, type: 'radialBar' }, plotOptions: { radialBar: { offsetY: 10, startAngle: -140, endAngle: 130, hollow: { size: '65%' }, track: { background: cardColor, strokeWidth: '100%' }, dataLabels: { name: { offsetY: -20, color: labelColor, fontSize: '13px', fontWeight: '400', fontFamily: 'Public Sans' }, value: { offsetY: 10, color: headingColor, fontSize: '38px', fontWeight: '500', fontFamily: 'Public Sans' } } } }, colors: [config.colors.primary], fill: { type: 'gradient', gradient: { shade: 'dark', shadeIntensity: 0.5, gradientToColors: [config.colors.primary], inverseColors: true, opacityFrom: 1, opacityTo: 0.6, stops: [30, 70, 100] } }, stroke: { dashArray: 10 }, grid: { padding: { top: -20, bottom: 5 } }, states: { hover: { filter: { type: 'none' } }, active: { filter: { type: 'none' } } }, responsive: [ { breakpoint: 1025, options: { chart: { height: 330 } } }, { breakpoint: 769, options: { chart: { height: 280 } } } ] }; if (typeof supportTrackerEl !== undefined && supportTrackerEl !== null) { const supportTracker = new ApexCharts(supportTrackerEl, supportTrackerOptions); supportTracker.render(); } // Sales Last 6 Months - Radar Chart // -------------------------------------------------------------------- const salesLastMonthEl = document.querySelector('#salesLastMonth'), salesLastMonthConfig = { series: [ { name: 'Sales', data: [32, 27, 27, 30, 25, 25] }, { name: 'Visits', data: [25, 35, 20, 20, 20, 20] } ], chart: { height: 300, type: 'radar', toolbar: { show: false } }, plotOptions: { radar: { polygons: { strokeColors: borderColor, connectorColors: borderColor } } }, stroke: { show: false, width: 0 }, legend: { show: true, fontSize: '13px', position: 'bottom', labels: { colors: legendColor, useSeriesColors: false }, markers: { height: 10, width: 10, offsetX: -3 }, itemMargin: { horizontal: 10 }, onItemHover: { highlightDataSeries: false } }, colors: [config.colors.primary, config.colors.info], fill: { opacity: [1, 0.85] }, markers: { size: 0 }, grid: { show: false, padding: { top: 0, bottom: -5 } }, xaxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], labels: { show: true, style: { colors: [labelColor, labelColor, labelColor, labelColor, labelColor, labelColor], fontSize: '13px', fontFamily: 'Public Sans' } } }, yaxis: { show: false, min: 0, max: 40, tickAmount: 4 }, responsive: [ { breakpoint: 1025, options: { chart: { height: 290 } } }, { breakpoint: 769, options: { chart: { height: 390 } } } ] }; if (typeof salesLastMonthEl !== undefined && salesLastMonthEl !== null) { const salesLastMonth = new ApexCharts(salesLastMonthEl, salesLastMonthConfig); salesLastMonth.render(); } // Total Revenue Report Chart - Bar Chart // -------------------------------------------------------------------- const totalRevenueChartEl = document.querySelector('#totalRevenueChart'), totalRevenueChartOptions = { series: [ { name: 'Earning', data: [270, 210, 180, 200, 250, 280, 250, 270, 150] }, { name: 'Expense', data: [-140, -160, -180, -150, -100, -60, -80, -100, -180] } ], chart: { height: 390, parentHeightOffset: 0, stacked: true, type: 'bar', toolbar: { show: false } }, tooltip: { enabled: false }, plotOptions: { bar: { horizontal: false, columnWidth: '40%', borderRadius: 9, startingShape: 'rounded', endingShape: 'rounded' } }, colors: [config.colors.primary, config.colors.warning], dataLabels: { enabled: false }, stroke: { curve: 'smooth', width: 6, lineCap: 'round', colors: [cardColor] }, legend: { show: true, horizontalAlign: 'right', position: 'top', fontFamily: 'Public Sans', markers: { height: 12, width: 12, radius: 12, offsetX: -3, offsetY: 2 }, labels: { colors: legendColor }, itemMargin: { horizontal: 10, vertical: 2 } }, grid: { show: false, padding: { bottom: -8, top: 20 } }, xaxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'], labels: { style: { fontSize: '13px', colors: labelColor, fontFamily: 'Public Sans' } }, axisTicks: { show: false }, axisBorder: { show: false } }, yaxis: { labels: { offsetX: -16, style: { fontSize: '13px', colors: labelColor, fontFamily: 'Public Sans' } }, min: -200, max: 300, tickAmount: 5 }, responsive: [ { breakpoint: 1700, options: { plotOptions: { bar: { columnWidth: '43%' } } } }, { breakpoint: 1441, options: { plotOptions: { bar: { columnWidth: '50%' } } } }, { breakpoint: 1300, options: { plotOptions: { bar: { columnWidth: '62%' } } } }, { breakpoint: 991, options: { plotOptions: { bar: { columnWidth: '38%' } } } }, { breakpoint: 850, options: { plotOptions: { bar: { columnWidth: '50%' } } } }, { breakpoint: 449, options: { plotOptions: { bar: { columnWidth: '73%' } }, xaxis: { labels: { offsetY: -5 } }, legend: { show: true, horizontalAlign: 'right', position: 'top', itemMargin: { horizontal: 10, vertical: 0 } } } }, { breakpoint: 394, options: { plotOptions: { bar: { columnWidth: '88%' } }, legend: { show: true, horizontalAlign: 'center', position: 'bottom', markers: { offsetX: -3, offsetY: 0 }, itemMargin: { horizontal: 10, vertical: 5 } } } } ], states: { hover: { filter: { type: 'none' } }, active: { filter: { type: 'none' } } } }; if (typeof totalRevenueChartEl !== undefined && totalRevenueChartEl !== null) { const totalRevenueChart = new ApexCharts(totalRevenueChartEl, totalRevenueChartOptions); totalRevenueChart.render(); } // Total Revenue Report Budget Line Chart const budgetChartEl = document.querySelector('#budgetChart'), budgetChartOptions = { chart: { height: 100, toolbar: { show: false }, zoom: { enabled: false }, type: 'line' }, series: [ { name: 'Last Month', data: [20, 10, 30, 16, 24, 5, 40, 23, 28, 5, 30] }, { name: 'This Month', data: [50, 40, 60, 46, 54, 35, 70, 53, 58, 35, 60] } ], stroke: { curve: 'smooth', dashArray: [5, 0], width: [1, 2] }, legend: { show: false }, colors: [borderColor, config.colors.primary], grid: { show: false, borderColor: borderColor, padding: { top: -30, bottom: -15, left: 25 } }, markers: { size: 0 }, xaxis: { labels: { show: false }, axisTicks: { show: false }, axisBorder: { show: false } }, yaxis: { show: false }, tooltip: { enabled: false } }; if (typeof budgetChartEl !== undefined && budgetChartEl !== null) { const budgetChart = new ApexCharts(budgetChartEl, budgetChartOptions); budgetChart.render(); } // Project Status - Line Chart // -------------------------------------------------------------------- const projectStatusEl = document.querySelector('#projectStatusChart'), projectStatusConfig = { chart: { height: 252, type: 'area', toolbar: false }, markers: { strokeColor: 'transparent' }, series: [ { data: [2000, 2000, 4000, 4000, 3050, 3050, 2000, 2000, 3050, 3050, 4700, 4700, 2750, 2750, 5700, 5700] } ], dataLabels: { enabled: false }, grid: { show: false, padding: { left: -10, right: -5 } }, stroke: { width: 3, curve: 'straight' }, colors: [config.colors.primary], fill: { type: 'gradient', gradient: { opacityFrom: 0.6, opacityTo: 0.15, stops: [0, 95, 100] } }, xaxis: { labels: { show: false }, axisBorder: { show: false }, axisTicks: { show: false }, lines: { show: false } }, yaxis: { labels: { show: false }, min: 1000, max: 6000, tickAmount: 5 }, tooltip: { enabled: false } }; if (typeof projectStatusEl !== undefined && projectStatusEl !== null) { const projectStatus = new ApexCharts(projectStatusEl, projectStatusConfig); projectStatus.render(); } // Earning Reports Tabs Function function EarningReportsBarChart(arrayData, highlightData) { const basicColor = config.colors_label.primary, highlightColor = config.colors.primary; var colorArr = []; for (let i = 0; i < arrayData.length; i++) { if (i === highlightData) { colorArr.push(highlightColor); } else { colorArr.push(basicColor); } } const earningReportBarChartOpt = { chart: { height: 258, parentHeightOffset: 0, type: 'bar', toolbar: { show: false } }, plotOptions: { bar: { columnWidth: '32%', startingShape: 'rounded', borderRadius: 4, distributed: true, dataLabels: { position: 'top' } } }, grid: { show: false, padding: { top: 0, bottom: 0, left: -10, right: -10 } }, colors: colorArr, dataLabels: { enabled: true, formatter: function (val) { return val + 'k'; }, offsetY: -20, style: { fontSize: '15px', colors: [legendColor], fontWeight: '500', fontFamily: 'Public Sans' } }, series: [ { data: arrayData } ], legend: { show: false }, tooltip: { enabled: false }, xaxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'], axisBorder: { show: true, color: borderColor }, axisTicks: { show: false }, labels: { style: { colors: labelColor, fontSize: '13px', fontFamily: 'Public Sans' } } }, yaxis: { labels: { offsetX: -15, formatter: function (val) { return parseInt(val / 1) + 'k'; }, style: { fontSize: '13px', colors: labelColor, fontFamily: 'Public Sans' }, min: 0, max: 60000, tickAmount: 6 } }, responsive: [ { breakpoint: 1441, options: { plotOptions: { bar: { columnWidth: '41%' } } } }, { breakpoint: 590, options: { plotOptions: { bar: { columnWidth: '61%', borderRadius: 5 } }, yaxis: { labels: { show: false } }, grid: { padding: { right: 0, left: -20 } }, dataLabels: { style: { fontSize: '12px', fontWeight: '400' } } } } ] }; return earningReportBarChartOpt; } var chartJson = 'earning-reports-charts.json'; // Earning Chart JSON data var earningReportsChart = $.ajax({ url: assetsPath + 'json/' + chartJson, //? Use your own search api instead dataType: 'json', async: false }).responseJSON; // Earning Reports Tabs Orders // -------------------------------------------------------------------- const earningReportsTabsOrdersEl = document.querySelector('#earningReportsTabsOrders'), earningReportsTabsOrdersConfig = EarningReportsBarChart( earningReportsChart['data'][0]['chart_data'], earningReportsChart['data'][0]['active_option'] ); if (typeof earningReportsTabsOrdersEl !== undefined && earningReportsTabsOrdersEl !== null) { const earningReportsTabsOrders = new ApexCharts(earningReportsTabsOrdersEl, earningReportsTabsOrdersConfig); earningReportsTabsOrders.render(); } // Earning Reports Tabs Sales // -------------------------------------------------------------------- const earningReportsTabsSalesEl = document.querySelector('#earningReportsTabsSales'), earningReportsTabsSalesConfig = EarningReportsBarChart( earningReportsChart['data'][1]['chart_data'], earningReportsChart['data'][1]['active_option'] ); if (typeof earningReportsTabsSalesEl !== undefined && earningReportsTabsSalesEl !== null) { const earningReportsTabsSales = new ApexCharts(earningReportsTabsSalesEl, earningReportsTabsSalesConfig); earningReportsTabsSales.render(); } // Earning Reports Tabs Profit // -------------------------------------------------------------------- const earningReportsTabsProfitEl = document.querySelector('#earningReportsTabsProfit'), earningReportsTabsProfitConfig = EarningReportsBarChart( earningReportsChart['data'][2]['chart_data'], earningReportsChart['data'][2]['active_option'] ); if (typeof earningReportsTabsProfitEl !== undefined && earningReportsTabsProfitEl !== null) { const earningReportsTabsProfit = new ApexCharts(earningReportsTabsProfitEl, earningReportsTabsProfitConfig); earningReportsTabsProfit.render(); } // Earning Reports Tabs Income // -------------------------------------------------------------------- const earningReportsTabsIncomeEl = document.querySelector('#earningReportsTabsIncome'), earningReportsTabsIncomeConfig = EarningReportsBarChart( earningReportsChart['data'][3]['chart_data'], earningReportsChart['data'][3]['active_option'] ); if (typeof earningReportsTabsIncomeEl !== undefined && earningReportsTabsIncomeEl !== null) { const earningReportsTabsIncome = new ApexCharts(earningReportsTabsIncomeEl, earningReportsTabsIncomeConfig); earningReportsTabsIncome.render(); } // Total Earning Chart - Bar Chart // -------------------------------------------------------------------- const totalEarningChartEl = document.querySelector('#totalEarningChart'), totalEarningChartOptions = { series: [ { name: 'Earning', data: [15, 10, 20, 8, 12, 18, 12, 5] }, { name: 'Expense', data: [-7, -10, -7, -12, -6, -9, -5, -8] } ], chart: { height: 215, parentHeightOffset: 0, stacked: true, type: 'bar', toolbar: { show: false } }, tooltip: { enabled: false }, legend: { show: false }, plotOptions: { bar: { horizontal: false, columnWidth: '15%', borderRadius: 4, startingShape: 'rounded', endingShape: 'rounded' } }, colors: [config.colors.danger, config.colors.primary], dataLabels: { enabled: false }, grid: { show: false, padding: { top: -40, bottom: -20, left: -10, right: -2 } }, xaxis: { labels: { show: false }, axisTicks: { show: false }, axisBorder: { show: false } }, yaxis: { labels: { show: false } }, responsive: [ { breakpoint: 1468, options: { plotOptions: { bar: { columnWidth: '22%' } } } }, { breakpoint: 1197, options: { chart: { height: 212 }, plotOptions: { bar: { borderRadius: 8, columnWidth: '26%' } } } }, { breakpoint: 783, options: { chart: { height: 210 }, plotOptions: { bar: { borderRadius: 6, columnWidth: '28%' } } } }, { breakpoint: 589, options: { plotOptions: { bar: { columnWidth: '16%' } } } }, { breakpoint: 520, options: { plotOptions: { bar: { borderRadius: 6, columnWidth: '18%' } } } }, { breakpoint: 426, options: { plotOptions: { bar: { borderRadius: 5, columnWidth: '20%' } } } }, { breakpoint: 381, options: { plotOptions: { bar: { columnWidth: '24%' } } } } ], states: { hover: { filter: { type: 'none' } }, active: { filter: { type: 'none' } } } }; if (typeof totalEarningChartEl !== undefined && totalEarningChartEl !== null) { const totalEarningChart = new ApexCharts(totalEarningChartEl, totalEarningChartOptions); totalEarningChart.render(); } //Intersted Topics Chart const horizontalBarChartEl = document.querySelector('#horizontalBarChart'), horizontalBarChartConfig = { chart: { height: 360, type: 'bar', toolbar: { show: false } }, plotOptions: { bar: { horizontal: true, barHeight: '60%', distributed: true, startingShape: 'rounded', borderRadius: 7 } }, grid: { strokeDashArray: 10, borderColor: borderColor, xaxis: { lines: { show: true } }, yaxis: { lines: { show: false } }, padding: { top: -35, bottom: -12 } }, colors: [ config.colors.primary, config.colors.info, config.colors.success, config.colors.secondary, config.colors.danger, config.colors.warning ], dataLabels: { enabled: true, style: { colors: ['#fff'], fontWeight: 200, fontSize: '13px', fontFamily: 'Public Sans' }, formatter: function (val, opts) { return horizontalBarChartConfig.labels[opts.dataPointIndex]; }, offsetX: 0, dropShadow: { enabled: false } }, labels: ['UI Design', 'UX Design', 'Music', 'Animation', 'React', 'SEO'], series: [ { data: [35, 20, 14, 12, 10, 9] } ], xaxis: { categories: ['6', '5', '4', '3', '2', '1'], axisBorder: { show: false }, axisTicks: { show: false }, labels: { style: { colors: labelColor, fontSize: '13px' }, formatter: function (val) { return `${val}%`; } } }, yaxis: { max: 35, labels: { style: { colors: [labelColor], fontFamily: 'Public Sans', fontSize: '13px' } } }, tooltip: { enabled: true, style: { fontSize: '12px' }, onDatasetHover: { highlightDataSeries: false }, custom: function ({ series, seriesIndex, dataPointIndex, w }) { return '
' + '
' + series[seriesIndex][dataPointIndex] + '%
' + '
'; } }, legend: { show: false } }; if (typeof horizontalBarChartEl !== undefined && horizontalBarChartEl !== null) { const horizontalBarChart = new ApexCharts(horizontalBarChartEl, horizontalBarChartConfig); horizontalBarChart.render(); } const carrierPerformance = document.querySelector('#carrierPerformance'), carrierPerformanceChartConfig = { chart: { height: 275, type: 'bar', parentHeightOffset: 0, stacked: false, toolbar: { show: false }, zoom: { enabled: false } }, plotOptions: { bar: { horizontal: false, columnWidth: '50%', startingShape: 'rounded', endingShape: 'flat', borderRadius: 4 } }, dataLabels: { enabled: false }, series: [ { name: 'Delivery rate', type: 'column', data: [5, 4.5, 4, 3] }, { name: 'Delivery time', type: 'column', data: [4, 3.5, 3, 2.5] }, { name: 'Delivery exceptions', type: 'column', data: [3.5, 3, 2.5, 2] } ], xaxis: { tickAmount: 10, categories: ['Carrier A', 'Carrier B', 'Carrier C', 'Carrier D'], labels: { style: { colors: labelColor, fontSize: '13px', fontFamily: 'Public Sans', fontWeight: 400 } }, axisBorder: { show: false }, axisTicks: { show: false } }, yaxis: { tickAmount: 4, min: 1, max: 5, labels: { style: { colors: labelColor, fontSize: '13px', fontFamily: 'Public Sans', fontWeight: 400 }, formatter: function (val) { return val; } } }, legend: { show: true, position: 'bottom', markers: { width: 8, height: 8, offsetX: -3, radius: 12 }, height: 40, offsetY: 0, itemMargin: { horizontal: 10, vertical: 0 }, fontSize: '13px', fontFamily: 'Public Sans', fontWeight: 400, labels: { colors: headingColor, useSeriesColors: false }, offsetY: 10 }, grid: { strokeDashArray: 6, padding: { bottom: 5 } }, colors: [chartColors.bar.series1, chartColors.bar.series2, chartColors.bar.series3], fill: { opacity: 1 }, responsive: [ { breakpoint: 1400, options: { chart: { height: 275 }, legend: { fontSize: '13px', offsetY: 10 } } }, { breakpoint: 576, options: { chart: { height: 300 }, legend: { itemMargin: { vertical: 5, horizontal: 10 }, offsetY: 7 } } } ] }; if (typeof carrierPerformance !== undefined && carrierPerformance !== null) { const carrierPerformanceChart = new ApexCharts(carrierPerformance, carrierPerformanceChartConfig); carrierPerformanceChart.render(); } // Reasons for delivery exceptions Chart // -------------------------------------------------------------------- const deliveryExceptionsChartE1 = document.querySelector('#deliveryExceptionsChart'), deliveryExceptionsChartConfig = { chart: { height: 400, parentHeightOffset: 0, type: 'donut' }, labels: ['Incorrect address', 'Weather conditions', 'Federal Holidays', 'Damage during transit'], series: [13, 25, 22, 40], colors: [ chartColors.donut.series1, chartColors.donut.series2, chartColors.donut.series3, chartColors.donut.series4 ], stroke: { width: 0 }, dataLabels: { enabled: false, formatter: function (val, opt) { return parseInt(val) + '%'; } }, legend: { show: true, position: 'bottom', offsetY: 10, markers: { width: 8, height: 8, offsetX: -3 }, itemMargin: { horizontal: 15, vertical: 5 }, fontSize: '13px', fontFamily: 'Public Sans', fontWeight: 400, labels: { colors: headingColor, useSeriesColors: false } }, tooltip: { theme: false }, grid: { padding: { top: 15 } }, plotOptions: { pie: { donut: { size: '75%', labels: { show: true, value: { fontSize: '26px', fontFamily: 'Public Sans', color: headingColor, fontWeight: 500, offsetY: -30, formatter: function (val) { return parseInt(val) + '%'; } }, name: { offsetY: 20, fontFamily: 'Public Sans' }, total: { show: true, fontSize: '0.9rem', label: 'AVG. Exceptions', color: labelColor, formatter: function (w) { return '30%'; } } } } } }, responsive: [ { breakpoint: 1025, options: { chart: { height: 380 } } }, { breakpoint: 420, options: { chart: { height: 300 } } } ] }; if (typeof deliveryExceptionsChartE1 !== undefined && deliveryExceptionsChartE1 !== null) { const deliveryExceptionsChart = new ApexCharts(deliveryExceptionsChartE1, deliveryExceptionsChartConfig); deliveryExceptionsChart.render(); } })();
Simpan