Файловый менеджер - Редактировать - /home/bean7936/deribos.com/wp-content3e392d/plugins/graphina-elementor-charts-and-graphs/dist/counter.js.map
Назад
{"version":3,"file":"counter.js","sources":["../assets/elementor/js/apex-chart/CounterChart.js"],"sourcesContent":["import GraphinaApexChartBase from './GraphinaApexChartBase';\n\n// Child class specifically for Counter Charts\nexport default class CounterChart extends GraphinaApexChartBase {\n constructor() {\n super();\n this.observer = {}; // For IntersectionObserver\n }\n \n\n // Setup handlers for Counter chart type\n setUpChartsHandler() {\n this.chartHandlers = {\n counter: (element) => this.observeChartElement(element, 'counter'),\n };\n }\n \n\n afterManualLoad(dynamicData, elementId, extraData) {\n this.startCounterAnimation(elementId, false, dynamicData,extraData);\n }\n\n afterDynamicLoad(dynamicData, elementId, extraData) {\n // Add data processing specific to 'counter' charts if needed\n this.startCounterAnimation(elementId, true, dynamicData,extraData)\n }\n async renderChart(chart, elementId) {\n try {\n jQuery(document).find(`.graphina-${elementId}-loader`).hide();\n const element = jQuery(`[data-element_id=\"${elementId}\"]`);\n const extraData = element.data('extra_data');\n \n if (chart.opts?.chart?.type !== 'counter' || extraData?.show_counter_chart) {\n await chart.render();\n }\n } catch (error) {\n console.warn(error);\n }\n }\n\n async setupChart(element, chartType) {\n try {\n const elementId = element.data('element_id');\n const chartOptions = element.data('chart_options');\n const responsive_options = element.data('responsive_options');\n const extraData = element.data('extra_data');\n const settings = element.data('settings');\n\n if (!chartOptions || !elementId) {\n console.error(`Missing required data attributes for ${chartType} chart.`);\n return;\n }\n\n // Apply formatting to chart options\n this.applyLegendTooltip(chartOptions, extraData, chartType);\n this.applyXAxisFormatter(chartOptions, extraData);\n this.applyDataLabelFormatter(chartOptions, extraData);\n\n const finalChartOptions = this.getChartOptions(chartOptions, chartType, extraData, elementId);\n\n // Only create and render chart if show_counter_chart is true\n if (extraData?.show_counter_chart) {\n if (this.mainChart[elementId]) {\n this.mainChart[elementId].destroy();\n }\n const chart = new ApexCharts(jQuery(element)[0], finalChartOptions);\n await this.renderChart(chart, elementId);\n this.mainChart[elementId] = chart;\n this.afterRenderChart(chart, elementId, extraData);\n }\n\n // Handle dynamic data loading\n if (extraData.chart_data_option === true) {\n const dynamicData = await this.getDynamicData(settings, extraData, chartType, elementId);\n this.processDynamicData(dynamicData, elementId, extraData);\n this.afterDynamicLoad(dynamicData, elementId, extraData);\n } else {\n this.afterManualLoad([], elementId, extraData);\n }\n\n } catch (error) {\n console.error(`Error initializing ${chartType} chart:`, error);\n }\n }\n afterRenderChart(chart,elementId,extraData){\n\n if(extraData.color !== '' ) {\n document.querySelector(`.count_number-pre-postfix-${elementId}`).style.color = extraData.color\n }\n \n if(extraData.headingColor !== ''){\n document.querySelector(`.counter-title-${elementId}`).style.color = extraData.headingColor\n }\n if(extraData.subHeadingColor !== ''){\n document.querySelector(`.counter-description-${elementId}`).style.color = extraData.subHeadingColor\n }\n if(!extraData.show_counter_chart){\n chart.destroy()\n }\n }\n // Function to start the counter animation\n startCounterAnimation(element_id, is_dynamic = false, dynamicData = [],extraData) {\n const counter = document.querySelector(`.count_number-${element_id}`);\n\n let start = parseFloat(counter.getAttribute('data-start'));\n let end = parseFloat(counter.getAttribute('data-end'));\n let speed = parseInt(counter.getAttribute('data-speed'), 10);\n let decimals = parseInt(counter.getAttribute('data-decimals'), 10) || 0;\n if (is_dynamic) {\n end = dynamicData.extra.end;\n try {\n document.querySelector(`.counter-title-${element_id}`).innerHTML = dynamicData.extra.title\n } catch (error) {\n console.warn(error);\n }\n }\n\n const duration = speed || 2000;\n const increment = (end - start) / (duration / 50);\n\n let current = start;\n\n function formatNumber(number, thousandSeparator = '') {\n // Convert to string and split by decimal point if any\n const parts = number.toString().split('.');\n \n // Add thousand separators to the integer part\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n \n // Join back with decimal part if it exists\n return parts.join('.');\n }\n // counter.textContent = 0\n function updateCounter() {\n if (current < end) {\n current = Math.min(current + increment, end);\n counter.textContent = formatNumber(current.toFixed(decimals),extraData.seperator);\n requestAnimationFrame(updateCounter); // Continue animation\n } else {\n counter.textContent = formatNumber(end.toFixed(decimals),extraData.seperator); // Ensure we stop at the exact value\n }\n }\n\n updateCounter(); // Start the counter animation\n }\n\n setFieldsForCounter(settings,response, chartType,extraData){\n // Determine the type of data source and select appropriate fields\n const FieldSelector = `[data-setting=\"${extraData.graphina_prefix}${chartType}_element_column_no\"]`;\n \n const element = parent.document.querySelector(FieldSelector);\n \n // Exit if either element is not found\n if (!element) return;\n \n // Clear existing options in the dropdowns\n element.innerHTML = '';\n \n // Determine the data source for options and extra data keys\n const options = response.extra.columns;\n const xExtraKey = extraData.element_column_no;\n // Populate the dropdown fields with options\n options.forEach((option) => {\n const isSelectedX = Array.isArray(xExtraKey) ? xExtraKey.includes(option) : xExtraKey === option;\n element.append(new Option(option, option, isSelectedX, isSelectedX));\n });\n }\n processDynamicData(dynamicData,elementId,extraData){\n dynamicData.extra.category = ['element1']\n }\n // Get chart options, including Counter chart configuration\n getChartOptions(finalChartOptions, chartType, extraData, elementId) {\n if (chartType === 'counter') {\n \n }\n return finalChartOptions;\n }\n async renderChart(chart, elementId) {\n try {\n jQuery(document).find(`.graphina-${elementId}-loader`).hide();\n const element = jQuery(`[data-element_id=\"${elementId}\"]`);\n const extraData = element.data('extra_data');\n \n if (chart.opts?.chart?.type !== 'counter' || extraData?.show_counter_chart) {\n await chart.render();\n }\n } catch (error) {\n console.warn(error);\n }\n }\n\n async setupChart(element, chartType) {\n try {\n const elementId = element.data('element_id');\n const chartOptions = element.data('chart_options');\n const responsive_options = element.data('responsive_options');\n const extraData = element.data('extra_data');\n const settings = element.data('settings');\n\n if (!chartOptions || !elementId) {\n console.error(`Missing required data attributes for ${chartType} chart.`);\n return;\n }\n\n // Apply formatting to chart options\n this.applyLegendTooltip(chartOptions, extraData, chartType);\n this.applyXAxisFormatter(chartOptions, extraData);\n this.applyDataLabelFormatter(chartOptions, extraData);\n\n const finalChartOptions = this.getChartOptions(chartOptions, chartType, extraData, elementId);\n\n // Only create and render chart if show_counter_chart is true\n const chart = new ApexCharts(jQuery(element)[0], finalChartOptions);\n if (extraData?.show_counter_chart) {\n if (this.mainChart[elementId]) {\n this.mainChart[elementId].destroy();\n }\n await this.renderChart(chart, elementId);\n this.afterRenderChart(chart, elementId, extraData);\n this.mainChart[elementId] = chart;\n }\n this.afterManualLoad([], elementId, extraData);\n // Handle dynamic data loading\n if (extraData.chart_data_option === true) {\n \n const dynamicData = await this.getDynamicData(settings, extraData, chartType, elementId);\n this.processDynamicData(dynamicData, elementId, extraData);\n if(dynamicData.extra !== undefined && extraData?.show_counter_chart){\n if(this.mainChart[elementId]){\n chart.updateOptions({\n series: dynamicData.extra.series,\n labels: dynamicData.extra.category\n });\n chart.updateSeries(\n dynamicData.extra.series,\n true\n );\n }\n \n if(dynamicData.extra.series.length <= 0){\n if(this.mainChart[elementId]){\n chart.destroy()\n }\n jQuery(element).hide()\n jQuery(`.graphina-${elementId}-notext`).show()\n }\n }else{\n if(dynamicData.extra.series.length <= 0){\n if(this.mainChart[elementId]){\n chart.destroy()\n }\n jQuery(element).hide()\n jQuery(`.graphina-${elementId}-notext`).show()\n }\n if(this.mainChart[elementId]){\n chart.updateOptions({\n series: [],\n labels: []\n });\n chart.updateSeries(\n [],\n true\n );\n }\n }\n } \n if (extraData.can_chart_reload_ajax) {\n // Set up periodic data fetching using intervals\n setInterval(async () => {\n try {\n const dynamicDataLoad = await this.getDynamicData(settings, extraData, chartType, elementId);\n if (dynamicDataLoad?.extra) {\n this.afterDynamicLoad(dynamicDataLoad,elementId,extraData)\n if(this.mainChart[elementId]){\n chart.updateOptions({\n series: dynamicDataLoad.extra.series,\n labels: dynamicDataLoad.extra.category\n });\n chart.updateSeries(\n dynamicDataLoad.extra.series,\n true\n );\n }\n } else {\n console.warn(`No data returned for ${chartType} chart with ID ${elementId}.`);\n }\n } catch (error) {\n console.warn(`Error fetching dynamic data for ${chartType} chart with ID ${elementId}:`);\n }\n }, extraData.interval_data_refresh * 1000);\n }\n } catch (error) {\n console.error(`Error initializing ${chartType} chart:`, error);\n }\n }\n}\n\n// Initialize CounterChart\nwindow.graphinaCounterChart = new CounterChart();\n"],"names":["CounterChart","GraphinaApexChartBase","element","dynamicData","elementId","extraData","chart","_b","_a","error","chartType","chartOptions","responsive_options","settings","finalChartOptions","element_id","is_dynamic","counter","start","end","speed","decimals","duration","increment","current","formatNumber","number","thousandSeparator","parts","updateCounter","response","FieldSelector","options","xExtraKey","option","isSelectedX","dynamicDataLoad"],"mappings":"+CAGe,MAAMA,UAAqBC,CAAsB,CAC5D,aAAc,CACV,MAAK,EACL,KAAK,SAAW,EACpB,CAIA,oBAAqB,CACjB,KAAK,cAAgB,CACjB,QAAUC,GAAY,KAAK,oBAAoBA,EAAS,SAAS,CAC7E,CACI,CAGA,gBAAgBC,EAAaC,EAAWC,EAAW,CAC/C,KAAK,sBAAsBD,EAAW,GAAOD,EAAYE,CAAS,CACtE,CAEA,iBAAiBF,EAAaC,EAAWC,EAAW,CAEhD,KAAK,sBAAsBD,EAAW,GAAMD,EAAYE,CAAS,CACrE,CACA,MAAM,YAAYC,EAAOF,EAAW,SAChC,GAAI,CACA,OAAO,QAAQ,EAAE,KAAK,aAAaA,CAAS,SAAS,EAAE,KAAI,EAE3D,MAAMC,EADU,OAAO,qBAAqBD,CAAS,IAAI,EAC/B,KAAK,YAAY,KAEvCG,GAAAC,EAAAF,EAAM,OAAN,YAAAE,EAAY,QAAZ,YAAAD,EAAmB,QAAS,WAAaF,GAAA,MAAAA,EAAW,qBACpD,MAAMC,EAAM,OAAM,CAE1B,OAASG,EAAO,CACZ,QAAQ,KAAKA,CAAK,CACtB,CACJ,CAEA,MAAM,WAAWP,EAASQ,EAAW,CACjC,GAAI,CACA,MAAMN,EAAYF,EAAQ,KAAK,YAAY,EACrCS,EAAeT,EAAQ,KAAK,eAAe,EAC3CU,EAAqBV,EAAQ,KAAK,oBAAoB,EACtDG,EAAYH,EAAQ,KAAK,YAAY,EACrCW,EAAWX,EAAQ,KAAK,UAAU,EAExC,GAAI,CAACS,GAAgB,CAACP,EAAW,CAC7B,QAAQ,MAAM,wCAAwCM,CAAS,SAAS,EACxE,MACJ,CAGA,KAAK,mBAAmBC,EAAcN,EAAWK,CAAS,EAC1D,KAAK,oBAAoBC,EAAcN,CAAS,EAChD,KAAK,wBAAwBM,EAAcN,CAAS,EAEpD,MAAMS,EAAoB,KAAK,gBAAgBH,EAAcD,EAAWL,EAAWD,CAAS,EAG5F,GAAIC,GAAA,MAAAA,EAAW,mBAAoB,CAC3B,KAAK,UAAUD,CAAS,GACxB,KAAK,UAAUA,CAAS,EAAE,QAAO,EAErC,MAAME,EAAQ,IAAI,WAAW,OAAOJ,CAAO,EAAE,CAAC,EAAGY,CAAiB,EAClE,MAAM,KAAK,YAAYR,EAAOF,CAAS,EACvC,KAAK,UAAUA,CAAS,EAAIE,EAC5B,KAAK,iBAAiBA,EAAOF,EAAWC,CAAS,CACrD,CAGA,GAAIA,EAAU,oBAAsB,GAAM,CACtC,MAAMF,EAAc,MAAM,KAAK,eAAeU,EAAUR,EAAWK,EAAWN,CAAS,EACvF,KAAK,mBAAmBD,EAAaC,EAAWC,CAAS,EACzD,KAAK,iBAAiBF,EAAaC,EAAWC,CAAS,CAC3D,MACI,KAAK,gBAAgB,GAAID,EAAWC,CAAS,CAGrD,OAASI,EAAO,CACZ,QAAQ,MAAM,sBAAsBC,CAAS,UAAWD,CAAK,CACjE,CACJ,CACA,iBAAiBH,EAAMF,EAAUC,EAAU,CAEpCA,EAAU,QAAU,KACnB,SAAS,cAAc,6BAA6BD,CAAS,EAAE,EAAE,MAAM,MAAQC,EAAU,OAG1FA,EAAU,eAAiB,KAC1B,SAAS,cAAc,kBAAkBD,CAAS,EAAE,EAAE,MAAM,MAAQC,EAAU,cAE/EA,EAAU,kBAAoB,KAC7B,SAAS,cAAc,wBAAwBD,CAAS,EAAE,EAAE,MAAM,MAAQC,EAAU,iBAEpFA,EAAU,oBACVC,EAAM,QAAO,CAErB,CAEA,sBAAsBS,EAAYC,EAAa,GAAOb,EAAc,CAAA,EAAGE,EAAW,CAC9E,MAAMY,EAAU,SAAS,cAAc,iBAAiBF,CAAU,EAAE,EAEpE,IAAIG,EAAQ,WAAWD,EAAQ,aAAa,YAAY,CAAC,EACrDE,EAAM,WAAWF,EAAQ,aAAa,UAAU,CAAC,EACjDG,EAAQ,SAASH,EAAQ,aAAa,YAAY,EAAG,EAAE,EACvDI,EAAW,SAASJ,EAAQ,aAAa,eAAe,EAAG,EAAE,GAAK,EACtE,GAAID,EAAY,CACZG,EAAMhB,EAAY,MAAM,IACxB,GAAI,CACA,SAAS,cAAc,kBAAkBY,CAAU,EAAE,EAAE,UAAYZ,EAAY,MAAM,KACzF,OAASM,EAAO,CACZ,QAAQ,KAAKA,CAAK,CACtB,CACJ,CAEA,MAAMa,EAAWF,GAAS,IACpBG,GAAaJ,EAAMD,IAAUI,EAAW,IAE9C,IAAIE,EAAUN,EAEd,SAASO,EAAaC,EAAQC,EAAoB,GAAI,CAElD,MAAMC,EAAQF,EAAO,SAAQ,EAAG,MAAM,GAAG,EAGzC,OAAAE,EAAM,CAAC,EAAIA,EAAM,CAAC,EAAE,QAAQ,wBAAyBD,CAAiB,EAG/DC,EAAM,KAAK,GAAG,CACzB,CAEA,SAASC,GAAgB,CACjBL,EAAUL,GACVK,EAAU,KAAK,IAAIA,EAAUD,EAAWJ,CAAG,EAC3CF,EAAQ,YAAcQ,EAAaD,EAAQ,QAAQH,CAAQ,EAAEhB,EAAU,SAAS,EAChF,sBAAsBwB,CAAa,GAEnCZ,EAAQ,YAAcQ,EAAaN,EAAI,QAAQE,CAAQ,EAAEhB,EAAU,SAAS,CAEpF,CAEAwB,GACJ,CAEA,oBAAoBhB,EAASiB,EAAUpB,EAAUL,EAAU,CAEtD,MAAM0B,EAAgB,kBAAkB1B,EAAU,eAAe,GAAGK,CAAS,uBAEvER,EAAU,OAAO,SAAS,cAAc6B,CAAa,EAG3D,GAAI,CAAC7B,EAAS,OAGdA,EAAQ,UAAY,GAGpB,MAAM8B,EAAYF,EAAS,MAAM,QAC3BG,EAAY5B,EAAU,kBAE5B2B,EAAQ,QAASE,GAAW,CACpB,MAAMC,EAAc,MAAM,QAAQF,CAAS,EAAIA,EAAU,SAASC,CAAM,EAAID,IAAcC,EAC1FhC,EAAQ,OAAO,IAAI,OAAOgC,EAAQA,EAAQC,EAAaA,CAAW,CAAC,CAC3E,CAAC,CACN,CACA,mBAAmBhC,EAAYC,EAAUC,EAAU,CAC/CF,EAAY,MAAM,SAAW,CAAC,UAAU,CAC5C,CAEA,gBAAgBW,EAAmBJ,EAAWL,EAAWD,EAAW,CAIhE,OAAOU,CACX,CACA,MAAM,YAAYR,EAAOF,EAAW,SAChC,GAAI,CACA,OAAO,QAAQ,EAAE,KAAK,aAAaA,CAAS,SAAS,EAAE,KAAI,EAE3D,MAAMC,EADU,OAAO,qBAAqBD,CAAS,IAAI,EAC/B,KAAK,YAAY,KAEvCG,GAAAC,EAAAF,EAAM,OAAN,YAAAE,EAAY,QAAZ,YAAAD,EAAmB,QAAS,WAAaF,GAAA,MAAAA,EAAW,qBACpD,MAAMC,EAAM,OAAM,CAE1B,OAASG,EAAO,CACZ,QAAQ,KAAKA,CAAK,CACtB,CACJ,CAEA,MAAM,WAAWP,EAASQ,EAAW,CACjC,GAAI,CACA,MAAMN,EAAYF,EAAQ,KAAK,YAAY,EACrCS,EAAeT,EAAQ,KAAK,eAAe,EAC3CU,EAAqBV,EAAQ,KAAK,oBAAoB,EACtDG,EAAYH,EAAQ,KAAK,YAAY,EACrCW,EAAWX,EAAQ,KAAK,UAAU,EAExC,GAAI,CAACS,GAAgB,CAACP,EAAW,CAC7B,QAAQ,MAAM,wCAAwCM,CAAS,SAAS,EACxE,MACJ,CAGA,KAAK,mBAAmBC,EAAcN,EAAWK,CAAS,EAC1D,KAAK,oBAAoBC,EAAcN,CAAS,EAChD,KAAK,wBAAwBM,EAAcN,CAAS,EAEpD,MAAMS,EAAoB,KAAK,gBAAgBH,EAAcD,EAAWL,EAAWD,CAAS,EAGtFE,EAAQ,IAAI,WAAW,OAAOJ,CAAO,EAAE,CAAC,EAAGY,CAAiB,EAWlE,GAVIT,GAAA,MAAAA,EAAW,qBACP,KAAK,UAAUD,CAAS,GACxB,KAAK,UAAUA,CAAS,EAAE,QAAO,EAErC,MAAM,KAAK,YAAYE,EAAOF,CAAS,EACvC,KAAK,iBAAiBE,EAAOF,EAAWC,CAAS,EACjD,KAAK,UAAUD,CAAS,EAAIE,GAEhC,KAAK,gBAAgB,GAAIF,EAAWC,CAAS,EAEzCA,EAAU,oBAAsB,GAAM,CAEtC,MAAMF,EAAc,MAAM,KAAK,eAAeU,EAAUR,EAAWK,EAAWN,CAAS,EACvF,KAAK,mBAAmBD,EAAaC,EAAWC,CAAS,EACtDF,EAAY,QAAU,SAAaE,GAAA,MAAAA,EAAW,qBAC1C,KAAK,UAAUD,CAAS,IACvBE,EAAM,cAAc,CAChB,OAAQH,EAAY,MAAM,OAC1B,OAAQA,EAAY,MAAM,QACtD,CAAyB,EACDG,EAAM,aACFH,EAAY,MAAM,OAClB,EAC5B,GAGuBA,EAAY,MAAM,OAAO,QAAU,IAC/B,KAAK,UAAUC,CAAS,GACvBE,EAAM,QAAO,EAEjB,OAAOJ,CAAO,EAAE,KAAI,EACpB,OAAO,aAAaE,CAAS,SAAS,EAAE,KAAI,KAG7CD,EAAY,MAAM,OAAO,QAAU,IAC/B,KAAK,UAAUC,CAAS,GACvBE,EAAM,QAAO,EAEjB,OAAOJ,CAAO,EAAE,KAAI,EACpB,OAAO,aAAaE,CAAS,SAAS,EAAE,KAAI,GAE7C,KAAK,UAAUA,CAAS,IACvBE,EAAM,cAAc,CAChB,OAAQ,CAAA,EACR,OAAQ,CAAA,CACpC,CAAyB,EACDA,EAAM,aACF,CAAA,EACA,EAC5B,GAGY,CACID,EAAU,uBAEV,YAAY,SAAY,CACpB,GAAI,CACA,MAAM+B,EAAkB,MAAM,KAAK,eAAevB,EAAUR,EAAWK,EAAWN,CAAS,EACvFgC,GAAA,MAAAA,EAAiB,OACjB,KAAK,iBAAiBA,EAAgBhC,EAAUC,CAAS,EACtD,KAAK,UAAUD,CAAS,IACvBE,EAAM,cAAc,CAChB,OAAQ8B,EAAgB,MAAM,OAC9B,OAAQA,EAAgB,MAAM,QAClE,CAAiC,EACD9B,EAAM,aACF8B,EAAgB,MAAM,OACtB,EACpC,IAG4B,QAAQ,KAAK,wBAAwB1B,CAAS,kBAAkBN,CAAS,GAAG,CAEpF,MAAgB,CACZ,QAAQ,KAAK,mCAAmCM,CAAS,kBAAkBN,CAAS,GAAG,CAC3F,CACJ,EAAGC,EAAU,sBAAwB,GAAI,CAEjD,OAASI,EAAO,CACZ,QAAQ,MAAM,sBAAsBC,CAAS,UAAWD,CAAK,CACjE,CACJ,CACJ,CAGA,OAAO,qBAAuB,IAAIT"}
| ver. 1.6 |
Github
|
.
| PHP 8.3.30 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка