{"version":3,"file":"project-details.js","sources":["../../../src/js/theme/charts/echarts/echarts-utils.js","../../../src/js/theme/charts/echarts/completed-task-chart.js","../../../src/js/theme/charts/echarts/top-coupons-chart.js","../../../src/js/pages/project-details.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 window.dayjs(params[0].axisValue).isValid()\n ? window.dayjs(params[0].axisValue).format(dateFormatter)\n : params[0].axisValue\n }\n
\n ${tooltipItem}\n