PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.4.2
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.4.2
4.0.8 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 All 149 releases
← All changes | classes/Visualizer/Gutenberg/src/Components/DataTable.js +49 -58 3.10.33.4.2 View file →
@@ -45,20 +45,21 @@
45 45 }
46 46
47 47 initDataTable( tableColumns, tableRow ) {
48 48 const settings = this.props.options;
49 +
49 50 const columns = tableColumns.map( ( i, index ) => {
50 51 let type = i.type;
51 52
52 53 switch ( i.type ) {
53 - case 'number':
54 - type = 'num';
55 - break;
56 - case 'date':
57 - case 'datetime':
58 - case 'timeofday':
59 - type = 'date';
60 - break;
54 + case 'number':
55 + type = 'num';
56 + break;
57 + case 'date':
58 + case 'datetime':
59 + case 'timeofday':
60 + type = 'date';
61 + break;
61 62 }
62 63
63 64 return {
64 65 title: i.label,
@@ -63,9 +64,9 @@
63 64 return {
64 65 title: i.label,
65 66 data: i.label,
66 67 type: type,
67 - render: this.dataRenderer( type, index )
68 + render: this.dataRenderer( data, type, index )
68 69 };
69 70 });
70 71
71 72 const data = tableRow.map( i => {
@@ -92,11 +93,11 @@
92 93 pageLength: settings.pageLength_int || 10,
93 94 pagingType: settings.pagingType,
94 95 ordering: 'false' === settings.ordering_bool ? false : true,
95 96 fixedHeader: 'true' === settings.fixedHeader_bool ? true : false,
96 - scrollCollapse: !! this.props.chartsScreen || 'true' === settings.scrollCollapse_bool ? true : false,
97 + scrollCollapse: this.props.chartsScreen && true || 'true' === settings.scrollCollapse_bool ? true : false,
97 98 scrollY: this.props.chartsScreen && 180 || ( 'true' === settings.scrollCollapse_bool && Number( settings.scrollY_int ) || false ),
98 - responsive: !! this.props.chartsScreen || 'true' === settings.responsive_bool ? true : false,
99 + responsive: this.props.chartsScreen && true || 'true' === settings.responsive_bool ? true : false,
99 100 searching: false,
100 101 select: false,
101 102 lengthChange: false,
102 103 bFilter: false,
@@ -103,60 +104,50 @@
103 104 bInfo: false
104 105 });
105 106 }
106 107
107 - dataRenderer( type, index ) {
108 + dataRenderer( data, type, index ) {
108 109 const settings = this.props.options;
109 110
110 - let renderer = null;
111 - if ( 'undefined' === typeof settings.series || 'undefined' === typeof settings.series[index] || 'undefined' === typeof settings.series[index].format ) {
112 - return renderer;
113 - }
111 + if ( undefined === settings.series[index]) {
112 + return data;
113 + }
114 114
115 - switch ( type ) {
116 - case 'date':
117 - case 'datetime':
118 - case 'timeofday':
119 - if ( settings.series[index].format && settings.series[index].format.from && settings.series[index].format.to ) {
120 - renderer = jQuery.fn.dataTable.render.moment( settings.series[index].format.from, settings.series[index].format.to );
121 - } else {
122 - renderer = jQuery.fn.dataTable.render.moment( 'MM-DD-YYYY' );
123 - }
124 - break;
125 - case 'num':
126 - const parts = [ '', '', '', '', '' ];
127 - if ( settings.series[index].format.thousands ) {
128 - parts[0] = settings.series[index].format.thousands;
129 - }
130 - if ( settings.series[index].format.decimal ) {
131 - parts[1] = settings.series[index].format.decimal;
132 - }
133 - if ( settings.series[index].format.precision && 0 < parseInt( settings.series[index].format.precision ) ) {
134 - parts[2] = settings.series[index].format.precision;
135 - }
136 - if ( settings.series[index].format.prefix ) {
137 - parts[3] = settings.series[index].format.prefix;
138 - }
139 - if ( settings.series[index].format.suffix ) {
140 - parts[4] = settings.series[index].format.suffix;
141 - }
142 - renderer = jQuery.fn.dataTable.render.number( ...parts );
143 - break;
144 - case 'boolean':
145 - jQuery.fn.dataTable.render.extra = function( data, type, row ) {
146 - if ( ( true === data || 'true' === data ) && '' !== settings.series[index].format.truthy ) {
147 - return settings.series[index].format.truthy.replace( /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '' );
148 - }
149 - if ( ( false === data || 'false' === data ) && '' !== settings.series[index].format.falsy ) {
150 - return settings.series[index].format.falsy.replace( /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '' );
151 - }
152 - return data;
153 - };
154 - renderer = jQuery.fn.dataTable.render.extra;
155 - break;
115 + if ( 'date' === type || 'datetime' === type || 'timeofday' === type ) {
116 + if ( settings.series[index].format && settings.series[index].format.from && settings.series[index].format.to ) {
117 + return jQuery.fn.dataTable.render.moment( settings.series[index].format.from, settings.series[index].format.to );
118 + }
119 +
120 + return jQuery.fn.dataTable.render.moment( 'MM-DD-YYYY' );
156 121 }
157 122
158 - return renderer;
123 + if ( 'num' === type ) {
124 + const parts = [ '', '', '', '', '' ];
125 +
126 + if ( settings.series[index].format.thousands ) {
127 + parts[0] = settings.series[index].format.thousands;
128 + }
129 +
130 + if ( settings.series[index].format.decimal ) {
131 + parts[1] = settings.series[index].format.decimal;
132 + }
133 +
134 + if ( settings.series[index].format.precision ) {
135 + parts[2] = settings.series[index].format.precision;
136 + }
137 +
138 + if ( settings.series[index].format.prefix ) {
139 + parts[3] = settings.series[index].format.prefix;
140 + }
141 +
142 + if ( settings.series[index].format.suffix ) {
143 + parts[4] = settings.series[index].format.suffix;
144 + }
145 +
146 + return jQuery.fn.dataTable.render.number( ...parts );
147 + }
148 +
149 + return data;
159 150 }
160 151
161 152 render() {
162 153 const settings = this.props.options;