Файловый менеджер - Редактировать - /home/bean7936/deribos.com/wp-content3e392d/plugins/graphina-elementor-charts-and-graphs/dist/GraphinaApexChartBase.js
Назад
class p{constructor(){this.chartHandlers={},this.init(),this.mainChart={},this.chartIntervals={}}init(){this.setUpChartsHandler(),this.bindEventHandlers(),this.bindElementorInit()}bindEventHandlers(){jQuery(document.body).on("change",".graphina-select-apex-chart-type",this.debounce(this.handleChartTypeChange.bind(this),300)),jQuery(document.body).off("click",".graphina-filter-div-button.apex"),jQuery(document.body).on("click",".graphina-filter-div-button.apex",this.debounce(this.handleChartFilter.bind(this),300)),jQuery(document.body).off("click",".graphina-filter-div-button.common")}bindElementorInit(){let i=!1;const e=()=>{i||window.elementorFrontend&&window.elementorFrontend.elementsHandler&&(i=!0,window.elementorFrontend.hooks.addAction("frontend/element_ready/widget",t=>{const a=t.find(".graphina-elementor-chart");a.length>0&&this.initializeCharts(a)}))};window.elementorFrontend&&window.elementorFrontend.elementsHandler&&e(),jQuery(window).on("elementor/frontend/init",()=>{setTimeout(e,50)}),jQuery(document).ready(()=>{if(!i){const t=jQuery(".graphina-elementor-chart");t.length>0&&t.each((a,r)=>{this.initializeCharts(jQuery(r))})}})}debounce(i,e){let t;return function(...a){const r=this;clearTimeout(t),t=setTimeout(()=>i.apply(r,a),e)}}observeChartElement(i,e){const t=i.data("element_id");gcfe_public_localize.view_port==="off"?(this.observer[t]||(this.observer[t]=new IntersectionObserver(a=>{a.forEach(r=>{r.isIntersecting&&(this.setupChart(jQuery(r.target),e),this.observer[t].unobserve(r.target),this.observer[t].disconnect(),delete this.observer[t])})},{threshold:.1})),this.observer[t].observe(i[0])):this.setupChart(i,e)}handleChartTypeChange(i){const e=jQuery(i.target),t=e.val(),a=e.data("element_id"),r=jQuery(`.graphina-elementor-chart[data-element_id="${a}"]`);r.length>0&&(ApexCharts.exec(a,"destroy"),this.updateChartType(r,t))}handleChartFilter(i){const e=i.currentTarget,t=jQuery(e).data("element_id"),a=jQuery(`.graphina-elementor-chart[data-element_id="${t}"]`);let r=jQuery(a).data("chart_type");a.length>0&&(jQuery(`.graphina-${t}-notext`).hide(),ApexCharts.exec(t,"destroy"),jQuery(document).find(`.graphina-${t}-loader`).show(),this.updateChartType(a,r,!0))}setUpChartsHandler(){throw new Error("setUpChartsHandler method must be implemented by subclasses")}initializeCharts(i){const e=i.data("chart_type");this.chartHandlers[e]&&this.chartHandlers[e](i)}formatNumber(i,e){const t=["","K","M","B","T"];let a=0;for(;i>=1e3&&a<t.length-1;)i/=1e3,a++;return new Intl.NumberFormat(window.gcfe_public_localize.locale_with_hyphen,{minimumFractionDigits:e,maximumFractionDigits:e}).format(i)+t[a]}applyLegendTooltip(i,e,t){e.legend_show_series_value&&(i.legend.tooltipHoverFormatter=(a,r)=>{let o=r.w.globals.series[r.seriesIndex][r.dataPointIndex];return a=decodeURIComponent(a),["polar","scatter","pie","donut","radial"].includes(t)&&(o=r.w.globals.series[r.seriesIndex]),`<div class="legend-info"><span>${a}</span>:<strong>${o}</strong></div>`})}applyXAxisFormatter(i,e){e.xaxis_label_prefix_show&&(i.xaxis.labels.formatter=t=>`${e.xaxis_label_prefix}${t}${e.xaxis_label_postfix}`)}applyYAxisFormatter(i,e,t=!1,a){const r=(n,_,l,s)=>e.chart_yaxis_label_pointer?_+this.formatNumber(n,s)+l:typeof s=="number"&&s>=0?_+new Intl.NumberFormat(window.gcfe_public_localize.locale_with_hyphen,{minimumFractionDigits:s,maximumFractionDigits:s}).format(n)+l:_+n+l,o=(n,_,l,s)=>{n.labels||(n.labels={}),n.labels.formatter=d=>r(d,_,l,s)};if(t===!1){const n=e.yaxis_label_prefix||"",_=e.yaxis_label_postfix||"";let l=0;e.chart_yaxis_label_pointer?l=typeof e.chart_yaxis_label_pointer_number=="number"?e.chart_yaxis_label_pointer_number:0:l=typeof e.decimal_in_float=="number"?e.decimal_in_float:0,o(i.yaxis,n,_,l)}else if(t===0||t===1){const n=i.yaxis[t],_=t===0?e.yaxis_label_prefix||"":e.chart_opposite_yaxis_label_prefix||"",l=t===0?e.yaxis_label_postfix||"":e.chart_opposite_yaxis_label_postfix||"";let s=0;(t===0||t===1&&e.chart_opposite_yaxis_format_number===!0)&&(e.chart_yaxis_label_pointer?s=typeof e.chart_yaxis_label_pointer_number=="number"?e.chart_yaxis_label_pointer_number:0:s=typeof e.decimal_in_float=="number"?e.decimal_in_float:0),o(n,_,l,s)}}applyDataLabelFormatter(i,e,t){let a=e.chart_datalabel_prefix??"",r=e.chart_datalabel_postfix??"";i.dataLabels||(i.dataLabels={}),i.dataLabels.formatter=o=>{if(e.chart_number_format_commas)o=new Intl.NumberFormat(window.gcfe_public_localize.locale_with_hyphen,{minimumFractionDigits:e.chart_datalabel_decimals_in_float??0,maximumFractionDigits:e.chart_datalabel_decimals_in_float??0}).format(o);else if(e.string_format){const n=e.chart_label_pointer_number_for_label??0;o=this.formatNumber(o,n)}return a+o+r}}applyTooltipFormatter(i,e,t){const a=e.chart_datalabel_prefix??"",r=e.chart_datalabel_postfix??"",o=e.chart_datalabel_decimals_in_float??0;i.tooltip||(i.tooltip={}),i.tooltip.y={formatter:function(n){let _=n;return e.chart_number_format_commas&&(_=new Intl.NumberFormat(window.gcfe_public_localize.locale_with_hyphen,{minimumFractionDigits:o,maximumFractionDigits:o}).format(n)),a+_+r}}}async updateChartType(i,e,t=!1){const a=i.data("element_id"),r=i.data("chart_options"),o=i.data("extra_data"),n=i.data("settings");if(!r||!a||!e){console.error("Missing required chart options or element ID.");return}if(e==="bar"&&r.chart.type!=="bar"&&(r.tooltip.shared=!1),r.chart.type=e,t){let l=[];const s=jQuery(`#graphina_chart_filter_${a}`).data("total_filter");for(let c=0;c<s;c++)l[c]=jQuery(`#graphina-start-date_${c}${a}`).val()??jQuery(`#graphina-drop_down_filter_${c}${a}`).val();const d=await this.getDynamicData(n,o,e,a,l);if(d.extra!==void 0){const c=d.extra.series||[],h=d.extra.category||[];c.length<=0&&(r.noData.text=o.no_data_text),r.series=c,["polar","radialBar","radial","pie","donut"].includes(e)?r.labels=h:r.xaxis.categories=h}else r.series=[],r.xaxis.categories=[]}e==="column"||e==="distributed_column"?r.chart.type="bar":r.chart.type=="polar"?r.chart.type="polarArea":r.chart.type=="radial"&&(r.chart.type="radialBar");const _=new ApexCharts(i[0],r);jQuery(i).show(),_.render().then(()=>console.log(`Chart updated to ${e}.`)).catch(l=>console.error("Error updating chart:",l)),jQuery(document).find(`.graphina-${a}-loader`).hide()}setFieldForForminator(i,e,t){const a=t.section_chart_forminator_aggregate,o=["mixed","brush","gantt_google"].includes(e)?i.forminator_columns:i.extra.forminator_columns;a?this.populateDropdownField(`[data-setting="${t.graphina_prefix}${e}_section_chart_forminator_aggregate_column"]`,o,t.section_chart_forminator_aggregate_column):(this.populateDropdownField(`[data-setting="${t.graphina_prefix}${e}_section_chart_forminator_x_axis_columns"]`,o,t.section_chart_forminator_x_axis_columns),this.populateDropdownField(`[data-setting="${t.graphina_prefix}${e}_section_chart_forminator_y_axis_columns"]`,o,t.section_chart_forminator_y_axis_columns))}setFieldsForCSV(i,e,t,a){const r=a.chart_dynamic_data_option==="sql-builder",o=r?e.extra.db_column:e.extra.column;this.populateDropdownField(`[data-setting="${a.graphina_prefix}${t}_${r?"chart_sql_builder_x_columns":"chart_csv_x_columns"}"]`,o,r?a.chart_csv_x_columns_sql:a.chart_csv_x_columns),this.populateDropdownField(`[data-setting="${a.graphina_prefix}${t}_${r?"chart_sql_builder_y_columns":"chart_csv_y_columns"}"]`,o,r?a.chart_csv_y_columns_sql:a.chart_csv_y_columns)}populateDropdownField(i,e,t){const a=parent.document.querySelector(i);if(a){a.innerHTML="";try{e.forEach(r=>{const o=Array.isArray(t)?t.includes(r):t===r;a.append(new Option(r,r,o,o))})}catch(r){console.log(r)}}}setFieldsForCounter(i,e,t,a){return!0}getDynamicData(i,e,t,a,r){let o="graphina_get_dynamic_data",n=gcfe_public_localize.nonce;t==="counter"&&(o="get_jquery_datatable_data",n=gcfe_public_localize.table_nonce);let _=jQuery(`[data-element_id="${a}"]`).closest("[data-elementor-id]").data("elementor-id");return new Promise((l,s)=>{jQuery.ajax({url:gcfe_public_localize.ajaxurl,type:"POST",dataType:"json",data:{action:o,nonce:n,chartType:t,post_id:_,element_id:a,series_count:e.chart_data_series_count_dynamic,settings:JSON.stringify(i),selected_field:r},success:d=>{d.status&&jQuery("body").hasClass("elementor-editor-active")&&(t==="counter"&&this.setFieldsForCounter(i,d,t,e),(e.chart_csv_column_wise_enable||e.chart_dynamic_data_option==="sql-builder")&&(e.chart_dynamic_data_option==="csv"||e.chart_dynamic_data_option==="remote-csv"||e.chart_dynamic_data_option==="google-sheet"||e.chart_dynamic_data_option==="sql-builder")&&this.setFieldsForCSV(i,d,t,e),e.dynamic_type==="forminator"&&this.setFieldForForminator(d,t,e)),l(d)},error:d=>{console.error("AJAX Error:",d),s(new Error("AJAX request failed."))}})})}getChartOptions(i,e,t,a){return i}afterRenderChart(i,e,t){return i}processDynamicData(i,e,t){return!0}afterManualLoad(i,e,t){return!0}afterDynamicLoad(i,e,t){return!0}sanitizeChartOptions(i){const e=t=>{if(typeof t=="string")return t.replace(/<[^>]*>/g,"").replace(/javascript:/gi,"");if(Array.isArray(t))return t.map(e);if(typeof t=="object"&&t!==null){const a={};for(const r in t)a[r]=e(t[r]);return a}return t};return e(i)}async setupChart(i,e){try{const t=i.data("element_id"),a=this.sanitizeChartOptions(i.data("chart_options")),r=this.sanitizeChartOptions(i.data("extra_data")),o=this.sanitizeChartOptions(i.data("settings")),n=i.data("chart_type");if((n==="nested_column"||n==="brush"||n==="column")&&(e=n),!a||!t){console.error(`Missing required data attributes for ${e} chart.`);return}this.applyLegendTooltip(a,r,n),this.applyXAxisFormatter(a,r),this.applyDataLabelFormatter(a,r,n),this.applyTooltipFormatter(a,r,n),r.chart_opposite_yaxis_title_enable?(this.applyYAxisFormatter(a,r,0,n),this.applyYAxisFormatter(a,r,1,n)):this.applyYAxisFormatter(a,r,!1,n);const _=this.getChartOptions(a,e,r,t);this.mainChart[t]&&this.mainChart[t].destroy();const l=new ApexCharts(jQuery(i)[0],_);try{jQuery(document).find(`.graphina-${t}-loader`).hide(),await l.render()}catch(s){console.warn(s)}if(r.chart_data_option===!0){try{let s=[];const d=jQuery(`#graphina_chart_filter_${t}`).data("total_filter");for(let h=0;h<d;h++)s[h]=jQuery(`#graphina-start-date_${h}${t}`).val()??jQuery(`#graphina-drop_down_filter_${h}${t}`).val();const c=await this.getDynamicData(o,r,e,t,s);if(this.processDynamicData(c,t,r),c.extra!==void 0)if(n==="nested_column")l.updateSeries([{data:c.extra.series}],!0);else{const h={series:c.extra.series};["polar","radialBar","radial","pie","donut"].includes(n)?h.labels=c.extra.category:h.xaxis={...a.xaxis,categories:c.extra.category},l.updateOptions(h,!0),l.updateSeries(c.extra.series,!0),c.extra.series.length<=0&&(l.destroy(),jQuery(i).hide(),jQuery(`.graphina-${t}-notext`).show())}else c.extra.series.length<=0&&(l.destroy(),jQuery(i).hide(),jQuery(`.graphina-${t}-notext`).show()),l.updateOptions({series:[],categories:[]}),l.updateSeries([],!0);this.afterDynamicLoad(c,t,r)}catch(s){console.error("Failed to get dynamic data:",s)}jQuery(document).find(`.graphina-${t}-loader`).hide()}else this.afterManualLoad([],t,r);this.mainChart[t]=l,this.afterRenderChart(l,t,r),this.chartIntervals[t]&&clearInterval(this.chartIntervals[t]),r.can_chart_reload_ajax&&!jQuery("body").hasClass("elementor-editor-active")&&(this.chartIntervals[t]=setInterval(async()=>{try{const s=await this.getDynamicData(o,r,e,t),d=this.mainChart[t];if(!d||d.destroyed){clearInterval(this.chartIntervals[t]),delete this.chartIntervals[t];return}if(s!=null&&s.extra){const c={series:s.extra.series};["polar","radialBar","radial","pie","donut"].includes(n)?c.labels=s.extra.category||[]:c.xaxis={categories:s.extra.category||[]},d.updateOptions(c,!0)}}catch(s){console.warn(`Error in auto-refresh for chart ${t}:`,s)}},r.interval_data_refresh*1e3))}catch(t){console.error(`Error initializing ${e} chart:`,t)}}}export{p as G}; //# sourceMappingURL=GraphinaApexChartBase.js.map
| ver. 1.6 |
Github
|
.
| PHP 8.3.30 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка