{"version":3,"file":"crm-analytics.js","sources":["../../../src/js/theme/charts/echarts/echarts-utils.js","../../../src/js/theme/charts/echarts/email-campaign-report.js","../../../src/js/theme/charts/echarts/social-marketing-radar-chart.js","../../../src/js/theme/charts/echarts/sales-trends-chart.js","../../../src/js/theme/charts/echarts/call-campaign-reports.js","../../../src/js/pages/crm-analytics.js"],"sourcesContent":["// import * as echarts from 'echarts';\nconst { merge } = window._;\n\n// form config.js\nexport const echartSetOption = (\n chart,\n userOptions,\n getDefaultOptions,\n responsiveOptions\n) => {\n const { breakpoints, resize } = window.phoenix.utils;\n const handleResize = options => {\n Object.keys(options).forEach(item => {\n if (window.innerWidth > breakpoints[item]) {\n chart.setOption(options[item]);\n }\n });\n };\n\n const themeController = document.body;\n // Merge user options with lodash\n chart.setOption(merge(getDefaultOptions(), userOptions));\n\n resize(() => {\n chart.resize();\n if (responsiveOptions) {\n handleResize(responsiveOptions);\n }\n });\n if (responsiveOptions) {\n handleResize(responsiveOptions);\n }\n\n themeController.addEventListener(\n 'clickControl',\n ({ detail: { control } }) => {\n if (control === 'phoenixTheme') {\n chart.setOption(window._.merge(getDefaultOptions(), userOptions));\n }\n }\n );\n};\n// -------------------end config.js--------------------\n\nexport const resizeEcharts = () => {\n const $echarts = document.querySelectorAll('[data-echart-responsive]');\n\n if ($echarts.length > 0) {\n $echarts.forEach(item => {\n const echartInstance = echarts.getInstanceByDom(item);\n echartInstance?.resize();\n });\n }\n};\n\nconst navbarVerticalToggle = document.querySelector('.navbar-vertical-toggle');\nnavbarVerticalToggle &&\n navbarVerticalToggle.addEventListener('navbar.vertical.toggle', e => {\n return resizeEcharts();\n });\n\nconst echartTabs = document.querySelectorAll('[data-tab-has-echarts]');\nechartTabs &&\n echartTabs.forEach(tab => {\n tab.addEventListener('shown.bs.tab', e => {\n const el = e.target;\n const { hash } = el;\n const id = hash ? hash : el.dataset.bsTarget;\n const content = document.getElementById(id.substring(1));\n const chart = content?.querySelector('[data-echart-tab]');\n chart && window.echarts.init(chart).resize();\n });\n });\n\nexport const tooltipFormatter = (params, dateFormatter = 'MMM DD') => {\n let tooltipItem = ``;\n params.forEach(el => {\n tooltipItem += `
\n
\n ${el.seriesName} : ${\n typeof el.value === 'object' ? el.value[1] : el.value\n }\n
\n
`;\n });\n return `
\n

\n ${\n window.dayjs(params[0].axisValue).isValid()\n ? window.dayjs(params[0].axisValue).format(dateFormatter)\n : params[0].axisValue\n }\n

\n ${tooltipItem}\n
`;\n};\n","import { echartSetOption } from './echarts-utils';\n\n/* -------------------------------------------------------------------------- */\n/* Echarts Total Sales */\n/* -------------------------------------------------------------------------- */\n\nconst emailCampaignReportsChartInit = () => {\n const { getColor, getData, toggleColor } = window.phoenix.utils;\n const $chartEl = document.querySelector('.echart-contacts-created');\n\n const tooltipFormatter = (params, dateFormatter = 'MMM DD') => {\n const el = params[1];\n\n const tooltipItem = `
\n
\n ${el.axisValue} : ${\n typeof el.value === 'object' ? el.value[1] : el.value\n }\n
\n
`;\n\n return `
\n

\n ${el.seriesName}\n

\n ${tooltipItem}\n
`;\n };\n\n const data1 = [0, 1466, 966, 0];\n const data2 = [\n {\n value: 2832,\n itemStyle: {\n color: getColor('primary-300')\n }\n },\n 1366,\n 500,\n 966\n ];\n\n if ($chartEl) {\n const userOptions = getData($chartEl, 'echarts');\n const chart = echarts.init($chartEl);\n\n const getDefaultOptions = () => ({\n color: [getColor('primary'), getColor('gray-300')],\n tooltip: {\n trigger: 'axis',\n padding: [7, 10],\n backgroundColor: getColor('gray-100'),\n borderColor: getColor('gray-300'),\n textStyle: { color: getColor('dark') },\n borderWidth: 1,\n transitionDuration: 0,\n axisPointer: {\n type: 'none'\n },\n formatter: tooltipFormatter\n },\n xAxis: {\n type: 'category',\n data: ['Total Emails', 'Sent', 'Bounce', 'Delivered'],\n splitLine: { show: false },\n axisLabel: {\n color: getColor('gray-900'),\n fontFamily: 'Nunito Sans',\n fontWeight: 400,\n fontSize: 12.8,\n margin: 24,\n rotate: 30\n // formatter: value => `${value.slice(0, 5)}...`,\n },\n axisLine: {\n show: true,\n lineStyle: {\n color: getColor('gray-300')\n }\n },\n axisTick: false\n },\n yAxis: {\n type: 'value',\n splitLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisLabel: {\n color: getColor('gray-900'),\n fontFamily: 'Nunito Sans',\n fontWeight: 700,\n fontSize: 12.8,\n margin: 24\n // formatter: value => value / 1000,\n },\n interval: 500\n },\n series: [\n {\n name: 'Placeholder',\n type: 'bar',\n barWidth: '64px',\n stack: 'Total',\n backgroundColor: getColor('white'),\n label: {\n show: false\n },\n itemStyle: {\n borderColor: 'transparent',\n color: 'transparent'\n },\n emphasis: {\n itemStyle: {\n borderColor: 'transparent',\n color: 'transparent'\n }\n },\n data: data1\n },\n {\n name: 'Email Campaign',\n type: 'bar',\n stack: 'Total',\n itemStyle: {\n color: getColor('primary-200')\n },\n data: data2,\n label: {\n show: true,\n position: 'inside',\n color: toggleColor(getColor('gray-1100'), getColor('gray-200')),\n fontWeight: 'normal',\n fontSize: '12.8px',\n formatter: value => `${value.value.toLocaleString()}`\n }\n }\n ],\n grid: {\n right: '0',\n left: 6,\n bottom: 10,\n top: '5%',\n containLabel: true\n },\n animation: false\n });\n\n const responsiveOptions = {\n xs: {\n series: [\n {\n barWidth: '48px'\n }\n ],\n xAxis: {\n axisLabel: {\n show: true,\n formatter: value => `${value.slice(0, 5)}...`\n }\n }\n },\n sm: {\n series: [\n {\n barWidth: '64px'\n }\n ],\n xAxis: {\n axisLabel: {\n show: true,\n formatter: value => `${value.slice(0, 11)}`,\n rotate: 0\n }\n }\n },\n md: {\n series: [\n {\n barWidth: '56px'\n }\n ],\n xAxis: {\n axisLabel: {\n show: false\n }\n }\n },\n lg: {\n series: [\n {\n barWidth: '64px'\n }\n ],\n xAxis: {\n axisLabel: {\n show: true,\n formatter: value => `${value.slice(0, 11)}`\n }\n }\n }\n };\n\n echartSetOption(chart, userOptions, getDefaultOptions, responsiveOptions);\n }\n};\n\nexport default emailCampaignReportsChartInit;\n","import { echartSetOption } from './echarts-utils';\n\n// dayjs.extend(advancedFormat);\n\n/* -------------------------------------------------------------------------- */\n/* Echarts Total Sales */\n/* -------------------------------------------------------------------------- */\n\nconst socialMarketingRadarChartInit = () => {\n const { getColor, getData, rgbaColor, toggleColor } = window.phoenix.utils;\n const $leadConversionChartEl = document.querySelector(\n '.echart-social-marketing-radar'\n );\n if ($leadConversionChartEl) {\n const userOptions = getData($leadConversionChartEl, 'echarts');\n const chart = echarts.init($leadConversionChartEl);\n\n const getDefaultOptions = () => ({\n color: [getColor('primary-300'), getColor('warning-300')],\n tooltip: {\n trigger: 'item',\n padding: [7, 10],\n backgroundColor: getColor('gray-100'),\n borderColor: getColor('gray-300'),\n textStyle: {\n color: getColor('gray-900'),\n fontSize: 12.8,\n fontFamily: 'Nunito Sans',\n },\n borderWidth: 1,\n transitionDuration: 0,\n // formatter: getformatter\n },\n radar: {\n splitNumber: 5,\n axisNameGap: 10,\n radius: '87%',\n // center: ['45%', '50%'],\n splitLine: {\n lineStyle: {\n color: getColor('gray-200'),\n },\n },\n splitArea: {\n show: true,\n areaStyle: {\n shadowBlur: 0.5,\n color: [\n toggleColor(getColor('gray-100'), getColor('gray-100')),\n toggleColor(getColor('gray-soft'), getColor('gray-200')),\n ],\n },\n },\n axisLine: {\n show: true,\n lineStyle: {\n color: getColor('gray-200'),\n },\n },\n name: {\n textStyle: {\n color: getColor('gray-700'),\n fontWeight: 800,\n fontSize: 10.2,\n },\n },\n indicator: [\n { name: 'SAT', max: 5000 },\n { name: 'FRI', max: 5000 },\n { name: 'THU', max: 5000 },\n { name: 'WED', max: 5000 },\n { name: 'TUE', max: 5000 },\n { name: 'MON', max: 5000 },\n { name: 'SUN', max: 5000 },\n ],\n },\n series: [\n {\n name: 'Budget vs spending',\n type: 'radar',\n symbol: 'emptyCircle',\n symbolSize: 6,\n\n data: [\n {\n value: [2100, 2300, 1600, 3700, 3000, 2500, 2500],\n name: 'Offline Marketing',\n itemStyle: {\n color: getColor('primary-300'),\n },\n areaStyle: {\n color: rgbaColor(getColor('primary-300'), 0.3),\n },\n },\n {\n value: [3000, 1600, 3700, 500, 3700, 3000, 3200],\n name: 'Online Marketing',\n areaStyle: {\n color: rgbaColor(getColor('warning-300'), 0.3),\n },\n itemStyle: {\n color: getColor('warning-300'),\n },\n },\n ],\n },\n ],\n grid: {\n top: 10,\n left: 0,\n },\n });\n\n const responsiveOptions = {\n md: {\n radar: {\n radius: '74%',\n },\n },\n xl: {\n radar: {\n radius: '85%',\n },\n },\n };\n\n echartSetOption(chart, userOptions, getDefaultOptions, responsiveOptions);\n }\n};\n\nexport default socialMarketingRadarChartInit;\n","import { echartSetOption } from './echarts-utils';\n\n/* -------------------------------------------------------------------------- */\n/* Echarts Total Sales */\n/* -------------------------------------------------------------------------- */\n\nconst salesTrendsChartInit = () => {\n const { getColor, getData, getPastDates, rgbaColor, toggleColor } =\n window.phoenix.utils;\n // const phoenixTheme = window.config.config;\n const $chartEl = document.querySelector('.echart-sales-trends');\n\n const tooltipFormatter = (params, dateFormatter = 'MMM DD') => {\n let tooltipItem = ``;\n params.forEach(el => {\n tooltipItem += `
\n
\n ${el.seriesName} : ${\n typeof el.value === 'object' ? el.value[1] : el.value\n }\n
\n
`;\n });\n return `
\n

\n ${\n window.dayjs(params[0].axisValue).isValid()\n ? window.dayjs(params[0].axisValue).format('DD MMM, YYYY')\n : params[0].axisValue\n }\n

\n ${tooltipItem}\n
`;\n };\n\n const dates = getPastDates(7);\n\n const data1 = [2000, 5700, 3700, 5500, 8000, 4000, 5500];\n const data2 = [10500, 9000, 7000, 9000, 10400, 7500, 9300];\n\n if ($chartEl) {\n const userOptions = getData($chartEl, 'echarts');\n const chart = window.echarts.init($chartEl);\n\n const getDefaultOptions = () => ({\n color: [getColor('primary-200'), getColor('info-300')],\n tooltip: {\n trigger: 'axis',\n padding: [7, 10],\n backgroundColor: getColor('gray-100'),\n borderColor: getColor('gray-300'),\n textStyle: { color: getColor('dark') },\n borderWidth: 1,\n transitionDuration: 0,\n axisPointer: {\n type: 'none'\n },\n formatter: tooltipFormatter\n },\n // legend: {\n // left: '76%',\n // top: 'auto',\n // icon: 'circle',\n // },\n xAxis: {\n type: 'category',\n data: dates,\n axisLabel: {\n color: getColor('gray-900'),\n formatter: value => window.dayjs(value).format('ddd'),\n fontFamily: 'Nunito Sans',\n fontWeight: 400,\n fontSize: 12.8,\n margin: 16\n },\n axisLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisTick: false\n },\n yAxis: {\n type: 'value',\n splitLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisLabel: {\n color: getColor('gray-900'),\n fontFamily: 'Nunito Sans',\n fontWeight: 700,\n fontSize: 12.8,\n margin: 24,\n formatter: value => `${value / 1000}k`\n }\n // interval: 1000,\n },\n series: [\n {\n name: 'Revenue',\n type: 'bar',\n barWidth: '16px',\n label: {\n show: false\n },\n itemStyle: {\n color: toggleColor(getColor('primary-200'), getColor('primary')),\n\n borderRadius: [4, 4, 0, 0]\n },\n data: data2\n },\n {\n name: 'Profit',\n type: 'line',\n symbol: 'circle',\n symbolSize: 11,\n itemStyle: {\n color: getColor('info-300'),\n borderColor: toggleColor(getColor('white'), getColor('dark')),\n borderWidth: 2\n },\n areaStyle: {\n color: {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: rgbaColor(getColor('info-300'), 0.2)\n },\n {\n offset: 1,\n color: rgbaColor(getColor('info-300'), 0.2)\n }\n ]\n }\n },\n data: data1\n }\n ],\n grid: {\n right: '0',\n left: '0',\n bottom: 0,\n top: 10,\n containLabel: true\n },\n animation: false\n });\n\n echartSetOption(chart, userOptions, getDefaultOptions);\n }\n};\n\nexport default salesTrendsChartInit;\n","import { echartSetOption } from './echarts-utils';\n\n/* -------------------------------------------------------------------------- */\n/* Echarts Total Sales */\n/* -------------------------------------------------------------------------- */\n\nconst callCampaignChartInit = () => {\n const { getColor, getData, getPastDates, rgbaColor } = window.phoenix.utils;\n const $chartEl = document.querySelector('.echart-call-campaign');\n\n const tooltipFormatter = (params, dateFormatter = 'MMM DD') => {\n let tooltipItem = ``;\n params.forEach(el => {\n tooltipItem += `
\n
\n ${el.seriesName} : ${\n typeof el.value === 'object' ? el.value[1] : el.value\n }\n
\n
`;\n });\n return `
\n

\n ${\n window.dayjs(params[0].axisValue).isValid()\n ? window.dayjs(params[0].axisValue).format('DD MMM, YYYY')\n : params[0].axisValue\n }\n

\n ${tooltipItem}\n
`;\n };\n\n const dates = getPastDates(7);\n\n const data1 = [8000, 7700, 5900, 10100, 5100, 6000, 4300];\n\n if ($chartEl) {\n const userOptions = getData($chartEl, 'echarts');\n const chart = window.echarts.init($chartEl);\n\n const getDefaultOptions = () => ({\n color: [getColor('primary-200'), getColor('info-300')],\n tooltip: {\n trigger: 'axis',\n padding: [7, 10],\n backgroundColor: getColor('gray-100'),\n borderColor: getColor('gray-300'),\n textStyle: { color: getColor('dark') },\n borderWidth: 1,\n transitionDuration: 0,\n axisPointer: {\n type: 'none'\n },\n formatter: tooltipFormatter\n },\n xAxis: [\n {\n type: 'category',\n data: dates,\n boundaryGap: false,\n splitLine: {\n show: true,\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisLabel: {\n color: getColor('gray-900'),\n // interval: 1,\n showMaxLabel: false,\n showMinLabel: true,\n align: 'left',\n formatter: value => window.dayjs(value).format('ddd'),\n fontFamily: 'Nunito Sans',\n fontWeight: 400,\n fontSize: 12.8,\n margin: 16\n },\n axisLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisTick: false\n },\n {\n type: 'category',\n data: dates,\n boundaryGap: false,\n splitLine: {\n show: true,\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisLabel: {\n color: getColor('gray-900'),\n interval: 130,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n formatter: value => window.dayjs(value).format('ddd'),\n fontFamily: 'Nunito Sans',\n fontWeight: 400,\n fontSize: 12.8,\n margin: 16\n },\n position: 'bottom',\n axisLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisTick: false\n }\n ],\n yAxis: {\n type: 'value',\n axisLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n splitLine: {\n lineStyle: {\n color: getColor('gray-200')\n }\n },\n axisLabel: {\n color: getColor('gray-900'),\n fontFamily: 'Nunito Sans',\n fontWeight: 700,\n fontSize: 12.8,\n margin: 16,\n formatter: value => `${value / 1000}k`\n }\n // interval: 150,\n },\n series: [\n {\n name: 'Campaign',\n type: 'line',\n smooth: 0.4,\n symbolSize: 11,\n itemStyle: {\n color: getColor('primary')\n },\n areaStyle: {\n color: {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: rgbaColor(getColor('primary-300'), 0.2)\n },\n {\n offset: 1,\n color: rgbaColor(getColor('primary-300'), 0.2)\n }\n ]\n }\n },\n data: data1\n }\n ],\n grid: {\n right: '8',\n left: 6,\n bottom: '-10',\n top: 10,\n containLabel: true\n },\n animation: false\n });\n\n const responsiveOptions = {\n xs: {\n xAxis: [\n {},\n {\n axisLabel: {\n showMaxLabel: false\n }\n }\n ]\n },\n sm: {\n xAxis: [\n {},\n {\n axisLabel: {\n showMaxLabel: true\n }\n }\n ]\n }\n };\n\n echartSetOption(chart, userOptions, getDefaultOptions, responsiveOptions);\n }\n};\n\nexport default callCampaignChartInit;\n","import emailCampaignReportsChartInit from '../theme/charts/echarts/email-campaign-report';\nimport socialMarketingRadarChartInit from '../theme/charts/echarts/social-marketing-radar-chart';\nimport salesTrendsChartInit from '../theme/charts/echarts/sales-trends-chart';\nimport callCampaignChartInit from '../theme/charts/echarts/call-campaign-reports';\n\nconst { docReady } = window.phoenix.utils;\n\ndocReady(emailCampaignReportsChartInit);\ndocReady(socialMarketingRadarChartInit);\ndocReady(salesTrendsChartInit);\ndocReady(callCampaignChartInit);\n"],"names":[],"mappings":"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"}