PageSourceSearch

https://synovatech.com/wp-content/plugins/graphina-divi-charts-and…/scripts/graphina-divi-common.js?ver=1.1.2

js synovatech.com collected 2026-10-07 23:11:23 UTC 12,507 bytes, 273 lines download raw bytes

1const googleDiviChartList = ['gauge_google','geo_google'];
2if (typeof graphinaDiviIsInit === "undefined") {
3    var graphinaDiviIsInit = {};
4}
5
6function graphinaBuilderGoogleChartInit(ele,options,type,id){
7    graphinaDiviResetVars();
8    if (id in graphina_divi_localize.graphinaAllGraphs) {
9        graphina_divi_localize.graphinaAllGraphs[id].clearChart();
10        delete graphina_divi_localize.graphinaAllGraphs[id];
11        delete graphina_divi_localize.graphinaBlockCharts[id];
12    }
13    graphinaDiviIsInit[id] = false;
14    graphina_divi_localize.graphinaAllGraphsOptions[id] = options;
15    if( ele !== null){
16        if(graphina_divi_localize.is_view_port_disable !== undefined && graphina_divi_localize.is_view_port_disable === 'on'){
17            graphinaBuilderGoogleChartRender(id,type);
18        }else{
19            const observer = new IntersectionObserver(enteries => {
20                enteries.forEach(entry =>{
21                    if(entry.isIntersecting){
22                        if (graphinaDiviIsInit[id] === false) {
23                            graphinaBuilderGoogleChartRender(id,type);
24                        }
25                    }
26                })
27            })
28            observer.observe(ele);
29        }
30    }
31}
32
33function graphinaBuilderGoogleChartRender(id,type){
34    if(graphinaDiviIsInit[id] !== true){
35        graphina_divi_localize.graphinaAllGraphs[id] = new window.google.visualization[graphina_divi_localize.graphinaAllGraphsOptions[id].renderType](graphina_divi_localize.graphinaAllGraphsOptions[id].ele);
36        graphina_divi_localize.graphinaAllGraphs[id].draw(graphina_divi_localize.graphinaAllGraphsOptions[id].series, graphina_divi_localize.graphinaAllGraphsOptions[id].options);
37        graphinaDiviIsInit[id] = true;
38    }
39}
40
41function graphinaDiviRenderChart(ele,data,type,id){
42    graphinaDiviResetVars();
43    if (id in graphina_divi_localize.graphinaAllGraphs) {
44        graphina_divi_localize.graphinaAllGraphs[id].destroy();
45        delete graphina_divi_localize.graphinaAllGraphs[id];
46        delete graphina_divi_localize.graphinaAllGraphsOptions[id];
47        delete graphina_divi_localize.graphinaBlockCharts[id];
48    }
49    graphinaDiviIsInit[id] = false;
50    graphina_divi_localize.graphinaAllGraphsOptions[id] = data;
51    graphinaDiviGetChart(id);
52}
53
54function graphinaDiviGetChart(id){
55    if (typeof ApexCharts === 'function' && graphina_divi_localize.graphinaAllGraphsOptions[id].ele !== null
56        && (id in graphinaDiviIsInit) && graphinaDiviIsInit[id] === false) {
57        if(graphina_divi_localize.is_view_port_disable !== undefined && graphina_divi_localize.is_view_port_disable === 'on'){
58            graphinaDiviInitORUpdateGraphinaCharts(id);
59        }else{
60            const observer = new IntersectionObserver(enteries => {
61                enteries.forEach(entry =>{
62                    if(entry.isIntersecting && graphinaDiviIsInit[id] === false){
63                        graphinaDiviInitORUpdateGraphinaCharts(id);
64                    }
65                })
66            })
67            observer.observe(graphina_divi_localize.graphinaAllGraphsOptions[id].ele);
68        }
69    }
70}
71
72function graphinaDiviInitORUpdateGraphinaCharts(id,type='area'){
73    if(Object.keys(graphina_divi_localize.graphinaBlockCharts).includes(id)){
74        if (graphinaDiviIsInit[id] === true){
75            graphina_divi_localize.graphinaAllGraphs[id].destroy();
76        }
77        if(googleDiviChartList.includes(type)){
78            if (graphinaDiviIsInit[id] === true){
79                graphina_divi_localize.graphinaAllGraphs[id].clearChart();
80            }
81        }
82        graphina_divi_localize.graphinaAllGraphsOptions[id].ele.innerHTML='';
83        graphina_divi_localize.graphinaAllGraphsOptions[id].ele.innerHTML = graphina_divi_localize.graphinaBlockCharts[id];
84    }else {
85        if (graphinaDiviIsInit[id] === true || graphina_divi_localize.graphinaAllGraphs[id]) {
86            if(googleDiviChartList.includes(type)){
87                if (graphinaDiviIsInit[id] === true){
88                    graphina_divi_localize.graphinaAllGraphs[id].draw(graphina_divi_localize.graphinaAllGraphsOptions[id].series,graphina_divi_localize.graphinaAllGraphsOptions[id].options);
89                }
90            }else{
91                graphina_divi_localize.graphinaAllGraphsOptions[id].options.series = graphina_divi_localize.graphinaAllGraphsOptions[id].series;
92                if(['line','bar','column','area','scatter','bubble','heatmap','radar','mixed','distributed_column'].includes(type)){
93                    graphina_divi_localize.graphinaAllGraphsOptions[id].options.xaxis.categories = graphina_divi_localize.graphinaAllGraphsOptions[id].category
94                }else {
95                    graphina_divi_localize.graphinaAllGraphsOptions[id].options.labels = graphina_divi_localize.graphinaAllGraphsOptions[id].category;
96                }
97                graphina_divi_localize.graphinaAllGraphs[id].updateOptions(graphina_divi_localize.graphinaAllGraphsOptions[id].options);
98            }
99
100        } else {
101            if(googleDiviChartList.includes(type)){
102                graphinaBuilderGoogleChartRender(id,type)
103            }else{
104                graphinaDiviChartsFirstTimeInit(id)
105            }
106        }
107    }
108}
109
110function graphinaDiviChartsFirstTimeInit(id){
111    graphina_divi_localize.graphinaAllGraphsOptions[id].options.chart.animations.enabled = graphina_divi_localize.graphinaAllGraphsOptions[id].animation
112    graphina_divi_localize.graphinaAllGraphs[id] = new ApexCharts(graphina_divi_localize.graphinaAllGraphsOptions[id].ele, graphina_divi_localize.graphinaAllGraphsOptions[id].options);
113    graphina_divi_localize.graphinaAllGraphs[id].render();
114    graphinaDiviIsInit[id] = true;
115}
116function graphinaDiviResetVars(){
117    if(typeof graphina_divi_localize.graphinaAllGraphs === "undefined"){
118        graphina_divi_localize.graphinaAllGraphs = {};
119    }
120    if(typeof graphina_divi_localize.graphinaAllGraphsOptions === "undefined"){
121        graphina_divi_localize.graphinaAllGraphsOptions = {};
122    }
123}
124
125function graphinaDiviGetDataForChartAjax(setting,type,id){
126    jQuery.ajax({
127        url: graphina_divi_localize.ajaxurl,
128        type: "post",
129        data: {
130            type:type,
131            id:id,
132            action:'graphina_divi_get_dynamic_data',
133            security: window.graphina_divi_localize.nonce ,  // Add nonce here
134            dataType:'simple',
135            setting:setting,
136        },
137        success: function (response) {
138            if(document.getElementById(id).length === 0) {
139                return 0;
140            }
141            if (response.status === true) {
142                if(googleDiviChartList.includes(type)){
143                    jQuery('#loader-chart-icon'+id).css('display','none')
144                    jQuery('#'+id).removeClass('d-none')
145                    let row = graphina_divi_localize.graphinaAllGraphsOptions[id].series.getNumberOfRows();
146                    if(row > 0){
147                        graphina_divi_localize.graphinaAllGraphsOptions[id].series.removeRows(0,row)
148                    }
149                    graphina_divi_localize.graphinaAllGraphsOptions[id].series.addRows(response.googlechart_data)
150                    if(type === 'geo_google'){
151
152                        let existingOptions = graphina_divi_localize.graphinaAllGraphsOptions[id].options;
153                        let colorAxisOptions = existingOptions.colorAxis || {}; // In case colorAxis is not defined
154
155                        graphina_divi_localize.graphinaAllGraphsOptions[id].options = Object.assign(
156                        {},
157                        existingOptions,
158                        {
159                            colorAxis: Object.assign({}, colorAxisOptions, {
160                            colors: response.color
161                            })
162                        }
163                        );
164
165                    }
166                }else{
167                    graphina_divi_localize.graphinaAllGraphsOptions[id].series = response.data.series;
168                    graphina_divi_localize.graphinaAllGraphsOptions[id].category = response.data.category;
169                }
170                if(type === 'radar'){
171                    graphina_divi_localize.graphinaAllGraphsOptions[id].options.xaxis.labels.style.colors = new Array(response.data.category.length).fill(setting.xaxis_label_color !== undefined ? setting.xaxis_label_color : '#000000' )
172                }
173                if (response.instant_init === true) {
174                    graphinaDiviChartsFirstTimeInit(id);
175                    graphina_divi_localize.graphinaAllGraphsOptions[id].animation = false;
176                }
177
178                graphinaDiviInitORUpdateGraphinaCharts(id,type);
179
180            }else{
181                if(googleDiviChartList.includes(type)){
182                    jQuery('#loader-chart-icon'+id).css('display','none')
183                    jQuery('#'+id).removeClass('d-none')
184                    let row = graphina_divi_localize.graphinaAllGraphsOptions[id].series.getNumberOfRows();
185                    if(row > 0){
186                        graphina_divi_localize.graphinaAllGraphsOptions[id].series.removeRows(0,row)
187                    }
188                    graphina_divi_localize.graphinaAllGraphsOptions[id].series.addRows(response.googlechart_data)
189                    if(type === 'geo_google'){
190                        let existingOptions = graphina_divi_localize.graphinaAllGraphsOptions[id].options;
191                        let colorAxisOptions = existingOptions.colorAxis || {}; // In case colorAxis is not defined
192
193                        graphina_divi_localize.graphinaAllGraphsOptions[id].options = Object.assign(
194                        {},
195                        existingOptions,
196                        {
197                            colorAxis: Object.assign({}, colorAxisOptions, {
198                            colors: response.colors
199                            })
200                        }
201                        );
202
203                    }
204                }
205                if(typeof response.fail_message !== 'undefined' ){
206                    graphina_divi_localize.graphinaBlockCharts[id] = response.fail_message;
207                }else{
208                    graphina_divi_localize.graphinaAllGraphsOptions[id].options.noData.text = 'No data Found'
209                }
210                graphinaDiviInitORUpdateGraphinaCharts(id);
211            }
212        },
213        error: function () {
214            console.log('fail');
215        }
216    });
217}
218
219function graphinaDiviDynamicData(setting,type,id,ajaxReload,ajaxReloadTime){
220    
221    if (window['ajaxIntervalGraphina_' + id] !== undefined) {
222        clearInterval(window['ajaxIntervalGraphina_' + id]);
223    }
224
225    if(setting.data_type !== undefined && setting.data_type !== 'manual'
226        && typeof graphinaDiviGetDataForChartAjax !== "undefined"){
227        if(googleDiviChartList.includes(type)){
228            jQuery('#loader-chart-icon'+id).css('display','flex')
229            jQuery('#'+id).addClass('d-none')
230        }
231        graphinaDiviGetDataForChartAjax(setting, type, id);
232        if (ajaxReload === 'true') {
233            window['ajaxIntervalGraphina_' + id] = setInterval(function () {
234                graphinaDiviGetDataForChartAjax(setting, type, id);
235            }, parseInt(ajaxReloadTime) * 1000);
236        }
237    }
238    if(setting.data_type !== undefined && setting.data_type !== 'manual'
239        && typeof elementordataAjax !== "undefined"){
240        if(googleDiviChartList.includes(type)){
241            jQuery('#loader-chart-icon'+id).css('display','flex')
242            jQuery('#'+id).addClass('d-none')
243        }
244        elementordataAjax(setting, type, id);
245        if (ajaxReload === 'true') {
246            window['ajaxIntervalGraphina_' + id] = setInterval(function () {
247                elementordataAjax(setting, type, id);
248            }, parseInt(ajaxReloadTime) * 1000);
249        }
250    }
251}
252
253window.graphinaDiviNumberThousandSeperate = function(x, decimal = -1) {
254    let separator = graphina_divi_localize.thousand_seperator;
255    if(separator.trim === ''){
256        return x
257    }
258    if ( isNaN(x)) {
259        return x;
260    }
261    var parts = x.toString().split(".");
262    let val = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, separator);
263
264    if (parts[1]) {
265        if (decimal === -1) {
266            val = val + '.' + parts[1]
267        }else if (decimal !== 0) {
268            val = val + '.' + parts[1].substring(0, decimal)
269        }
270    }
271
272    return val;
273}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.