PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.3.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.3.4
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
← All changes | classes/Visualizer/Gutenberg/src/utils.js +0 -100 3.10.153.3.4 View file →
@@ -14,14 +14,8 @@
14 14 return data;
15 15 };
16 16
17 17 // A fork of deep-compact package as it had some issues
18 -// NOTE: This method is likely to create problems.
19 -// Problem Scenario #1:
20 -// - A table has 5 columns (series). Say the 1st column is Date and others are Numbers.
21 -// - If the 1st columns format (series.format) is provided, DataTable.js gets 6 (0-5) series.
22 -// - BUT if the 1st columns format (series.format) is empty, DataTable.js gets 5 (1-4) series.
23 -// That is why when sending options to DataTable.js, filterChart method has not been used.
24 18 const notEmpty = value => {
25 19 let key;
26 20
27 21 if ( Array.isArray( value ) ) {
@@ -97,98 +91,4 @@
97 91 }
98 92
99 93 return ( arrData );
100 94 };
101 -
102 -
103 -export const isChecked = ( settings, param ) => {
104 - return true === settings[param] || 'true' === settings[param] || '1' === settings[param] || 1 === settings[param];
105 -};
106 -
107 -
108 -export const formatData = ( chart ) => {
109 - let library = chart['visualizer-chart-library'];
110 -
111 - switch ( library ) {
112 - case 'GoogleCharts':
113 - return formatDataForGoogleCharts( chart );
114 - }
115 -};
116 -
117 -export const formatDataForGoogleCharts = ( chart ) => {
118 - let settings = chart['visualizer-settings'];
119 - let type = chart['visualizer-chart-type'];
120 - let series = chart['visualizer-series'];
121 -
122 - let formatters = [];
123 -
124 - if ( settings.series ) {
125 - switch ( type ) {
126 - case 'tabular':
127 - for ( let i in settings.series ) {
128 - i = parseInt( i );
129 - if ( ! series[i + 1]) {
130 - continue;
131 - }
132 - if ( settings.series[i].format && '' !== settings.series[i].format ) {
133 - let col = i + 1;
134 - let formatter = getFormatterForGoogle( series[i + 1].type );
135 - if ( formatter ) {
136 - formatters.push({ type: formatter, options: { pattern: settings.series[i].format }, column: col });
137 - }
138 - }
139 - }
140 - break;
141 - default:
142 - for ( let i = 0; i < settings.series.length; i++ ) {
143 - if ( ! series[i + 1] || 'undefined' === typeof settings.series[i]) {
144 - continue;
145 - }
146 - if ( settings.series[i].format && '' !== settings.series[i].format ) {
147 - let col = i + 1;
148 - let formatter = getFormatterForGoogle( series[i + 1].type );
149 - if ( formatter ) {
150 - formatters.push({ type: formatter, options: { pattern: settings.series[i].format }, column: col });
151 - }
152 - }
153 - }
154 - break;
155 - }
156 - } else if ( 'pie' === type && settings.format && '' !== settings.format ) {
157 - formatters.push({ type: getFormatterForGoogle( 'number' ), options: { pattern: settings.format }, column: 1 });
158 - }
159 -
160 - if ( settings.hAxis && series[0]) {
161 - let formatter = getFormatterForGoogle( series[0].type );
162 - if ( formatter ) {
163 - formatters.push({ type: formatter, options: { pattern: settings.hAxis.format }, column: 0 });
164 - }
165 - }
166 -
167 - return formatters;
168 -};
169 -
170 -export const getFormatterForGoogle = ( dataType ) => {
171 - switch ( dataType ) {
172 - case 'number':
173 - return 'NumberFormat';
174 - case 'date':
175 - case 'datetime':
176 - case 'timeofday':
177 - return 'DateFormat';
178 - }
179 - return null;
180 -};
181 -
182 -export const getColorCode = ( color ) => {
183 - if ( -1 === color.indexOf( '#' ) ) {
184 - let getCssVar = color.match( /\((.*)\)/ ).pop();
185 - if ( getCssVar ) {
186 - let style = getComputedStyle( document.body );
187 - return style.getPropertyValue( getCssVar );
188 - }
189 - }
190 - return color;
191 -};
192 -
193 -// Google Chart Packages
194 -export const googleChartPackages = [ 'corechart', 'geochart', 'gauge', 'table', 'timeline', 'controls' ];