{"version":3,"file":"crm-dashboard.js","sources":["../../../src/js/theme/charts/echarts/echarts-utils.js","../../../src/js/theme/charts/echarts/contacts-by-source-chart.js","../../../src/js/theme/charts/echarts/contacts-created-chart.js","../../../src/js/theme/charts/echarts/crm-new-users.js","../../../src/js/theme/charts/echarts/crm-new-leads.js","../../../src/js/theme/charts/echarts/crm-add-clicks.js","../../../src/js/theme/charts/echarts/crm-lead-conversion.js","../../../src/js/theme/charts/echarts/crm-revenue-target.js","../../../src/js/pages/crm-dashboard.js"],"sourcesContent":["// import * as echarts from 'echarts';\r\nconst { merge } = window._;\r\n\r\n// form config.js\r\nexport const echartSetOption = (\r\n chart,\r\n userOptions,\r\n getDefaultOptions,\r\n responsiveOptions\r\n) => {\r\n const { breakpoints, resize } = window.phoenix.utils;\r\n const handleResize = options => {\r\n Object.keys(options).forEach(item => {\r\n if (window.innerWidth > breakpoints[item]) {\r\n chart.setOption(options[item]);\r\n }\r\n });\r\n };\r\n\r\n const themeController = document.body;\r\n // Merge user options with lodash\r\n chart.setOption(merge(getDefaultOptions(), userOptions));\r\n\r\n const navbarVerticalToggle = document.querySelector(\r\n '.navbar-vertical-toggle'\r\n );\r\n if (navbarVerticalToggle) {\r\n navbarVerticalToggle.addEventListener('navbar.vertical.toggle', () => {\r\n chart.resize();\r\n if (responsiveOptions) {\r\n handleResize(responsiveOptions);\r\n }\r\n });\r\n }\r\n\r\n resize(() => {\r\n chart.resize();\r\n if (responsiveOptions) {\r\n handleResize(responsiveOptions);\r\n }\r\n });\r\n if (responsiveOptions) {\r\n handleResize(responsiveOptions);\r\n }\r\n\r\n themeController.addEventListener(\r\n 'clickControl',\r\n ({ detail: { control } }) => {\r\n if (control === 'phoenixTheme') {\r\n chart.setOption(window._.merge(getDefaultOptions(), userOptions));\r\n }\r\n if (responsiveOptions) {\r\n handleResize(responsiveOptions);\r\n }\r\n }\r\n );\r\n};\r\n// -------------------end config.js--------------------\r\n\r\nconst echartTabs = document.querySelectorAll('[data-tab-has-echarts]');\r\nif (echartTabs) {\r\n echartTabs.forEach(tab => {\r\n tab.addEventListener('shown.bs.tab', e => {\r\n const el = e.target;\r\n const { hash } = el;\r\n const id = hash || el.dataset.bsTarget;\r\n const content = document.getElementById(id.substring(1));\r\n const chart = content?.querySelector('[data-echart-tab]');\r\n if (chart) {\r\n window.echarts.init(chart).resize();\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport const tooltipFormatter = (params, dateFormatter = 'MMM DD') => {\r\n let tooltipItem = ``;\r\n params.forEach(el => {\r\n tooltipItem += `
\r\n ${\r\n window.dayjs(params[0].axisValue).isValid()\r\n ? window.dayjs(params[0].axisValue).format(dateFormatter)\r\n : params[0].axisValue\r\n }\r\n
\r\n ${tooltipItem}\r\n\r\n ${params[0].axisValue}\r\n
\r\n ${tooltipItem}\r\n