Skip to content

Commit eb5b082

Browse files
Merge pull request #7 from Codeinwp/3.3.0
3.3.0
2 parents 89a21e3 + e5dd5f9 commit eb5b082

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+2622
-705
lines changed

classes/Visualizer/Gutenberg/Block.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ public function enqueue_gutenberg_scripts() {
7979

8080
// Enqueue the bundled block JS file
8181
wp_enqueue_script( 'handsontable', $handsontableJS );
82-
wp_enqueue_script( 'visualizer-gutenberg-block', $blockPath, array( 'wp-api', 'handsontable' ), $version, true );
82+
wp_enqueue_script( 'visualizer-gutenberg-block', $blockPath, array( 'wp-api', 'handsontable', 'visualizer-datatables', 'moment' ), $version, true );
8383

8484
$type = 'community';
8585

86-
if ( VISUALIZER_PRO ) {
86+
if ( Visualizer_Module::is_pro() ) {
8787
$type = 'pro';
8888
if ( apply_filters( 'visualizer_is_business', false ) ) {
8989
$type = 'developer';
@@ -94,12 +94,13 @@ public function enqueue_gutenberg_scripts() {
9494
'isPro' => $type,
9595
'proTeaser' => Visualizer_Plugin::PRO_TEASER_URL,
9696
'absurl' => VISUALIZER_ABSURL,
97+
'charts' => Visualizer_Module_Admin::_getChartTypesLocalized(),
9798
);
9899
wp_localize_script( 'visualizer-gutenberg-block', 'visualizerLocalize', $translation_array );
99100

100101
// Enqueue frontend and editor block styles
101102
wp_enqueue_style( 'handsontable', $handsontableCSS );
102-
wp_enqueue_style( 'visualizer-gutenberg-block', $stylePath, '', $version );
103+
wp_enqueue_style( 'visualizer-gutenberg-block', $stylePath, array( 'visualizer-datatables' ), $version );
103104
}
104105
/**
105106
* Hook server side rendering into render callback
@@ -221,7 +222,7 @@ public function get_visualizer_data( $post ) {
221222
$data['visualizer-chart-schedule'] = $schedule;
222223
}
223224

224-
if ( VISUALIZER_PRO ) {
225+
if ( Visualizer_Module::is_pro() ) {
225226
$permissions = get_post_meta( $post_id, Visualizer_PRO::CF_PERMISSIONS, true );
226227

227228
if ( ! empty( $permissions ) ) {
@@ -252,7 +253,7 @@ public function update_chart_data( $data ) {
252253
apply_filters( 'visualizer_pro_remove_schedule', $data['id'] );
253254
}
254255

255-
if ( VISUALIZER_PRO ) {
256+
if ( Visualizer_Module::is_pro() ) {
256257
update_post_meta( $data['id'], Visualizer_PRO::CF_PERMISSIONS, $data['visualizer-permissions'] );
257258
}
258259

classes/Visualizer/Gutenberg/build/block.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

classes/Visualizer/Gutenberg/build/block.js

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
66.3 KB
Loading

classes/Visualizer/Gutenberg/build/handsontable.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
66.3 KB
Loading

classes/Visualizer/Gutenberg/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"eslint-config-wordpress": "^2.0.0",
3434
"eslint-loader": "^2.1.1",
3535
"eslint-plugin-react": "^7.11.1",
36+
"file-loader": "^4.0.0",
3637
"mini-css-extract-plugin": "^0.4.4",
3738
"node-sass": "^4.10.0",
3839
"postcss-loader": "^3.0.0",

classes/Visualizer/Gutenberg/src/Components/ChartRender.js

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*/
44
import { Chart } from 'react-google-charts';
55

6+
import DataTable from './DataTable.js';
7+
68
import merge from 'merge';
79

810
import { compact, formatDate, isValidJSON } from '../utils.js';
@@ -34,13 +36,16 @@ class ChartRender extends Component {
3436
}
3537

3638
render() {
37-
3839
let chart;
3940

4041
let data = formatDate( JSON.parse( JSON.stringify( this.props.chart ) ) );
4142

42-
if ( 0 <= [ 'gauge', 'table', 'timeline' ].indexOf( this.props.chart['visualizer-chart-type']) ) {
43-
chart = startCase( this.props.chart['visualizer-chart-type']);
43+
if ( 0 <= [ 'gauge', 'table', 'timeline', 'dataTable' ].indexOf( this.props.chart['visualizer-chart-type']) ) {
44+
if ( 'dataTable' === data['visualizer-chart-type']) {
45+
chart = data['visualizer-chart-type'];
46+
} else {
47+
chart = startCase( this.props.chart['visualizer-chart-type']);
48+
}
4449
} else {
4550
chart = `${ startCase( this.props.chart['visualizer-chart-type']) }Chart`;
4651
}
@@ -66,17 +71,26 @@ class ChartRender extends Component {
6671
</Toolbar>
6772
</BlockControls>
6873

69-
<Chart
70-
chartType={ chart }
71-
rows={ data['visualizer-data'] }
72-
columns={ data['visualizer-series'] }
73-
options={
74-
isValidJSON( this.props.chart['visualizer-settings'].manual ) ?
75-
merge( compact( this.props.chart['visualizer-settings']), JSON.parse( this.props.chart['visualizer-settings'].manual ) ) :
76-
compact( this.props.chart['visualizer-settings'])
77-
}
78-
height="500px"
79-
/>
74+
{ ( 'dataTable' === chart ) ? (
75+
<DataTable
76+
id={ this.props.id }
77+
rows={ data['visualizer-data'] }
78+
columns={ data['visualizer-series'] }
79+
options={ data['visualizer-settings'] }
80+
/>
81+
) : (
82+
<Chart
83+
chartType={ chart }
84+
rows={ data['visualizer-data'] }
85+
columns={ data['visualizer-series'] }
86+
options={
87+
isValidJSON( this.props.chart['visualizer-settings'].manual ) ?
88+
merge( compact( this.props.chart['visualizer-settings']), JSON.parse( this.props.chart['visualizer-settings'].manual ) ) :
89+
compact( this.props.chart['visualizer-settings'])
90+
}
91+
height="500px"
92+
/>
93+
) }
8094

8195
</Fragment>
8296
}

classes/Visualizer/Gutenberg/src/Components/ChartSelect.js

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*/
44
import { Chart } from 'react-google-charts';
55

6+
import DataTable from './DataTable.js';
7+
68
import FileImport from './Import/FileImport.js';
79

810
import RemoteImport from './Import/RemoteImport.js';
@@ -57,8 +59,12 @@ class ChartSelect extends Component {
5759

5860
let data = formatDate( JSON.parse( JSON.stringify( this.props.chart ) ) );
5961

60-
if ( 0 <= [ 'gauge', 'table', 'timeline' ].indexOf( this.props.chart['visualizer-chart-type']) ) {
61-
chart = startCase( this.props.chart['visualizer-chart-type']);
62+
if ( 0 <= [ 'gauge', 'table', 'timeline', 'dataTable' ].indexOf( this.props.chart['visualizer-chart-type']) ) {
63+
if ( 'dataTable' === data['visualizer-chart-type']) {
64+
chart = data['visualizer-chart-type'];
65+
} else {
66+
chart = startCase( this.props.chart['visualizer-chart-type']);
67+
}
6268
} else {
6369
chart = `${ startCase( this.props.chart['visualizer-chart-type']) }Chart`;
6470
}
@@ -120,17 +126,27 @@ class ChartSelect extends Component {
120126
<div className="visualizer-settings__chart">
121127

122128
{ ( null !== this.props.chart ) &&
123-
<Chart
124-
chartType={ chart }
125-
rows={ data['visualizer-data'] }
126-
columns={ data['visualizer-series'] }
127-
options={
128-
isValidJSON( this.props.chart['visualizer-settings'].manual ) ?
129-
merge( compact( this.props.chart['visualizer-settings']), JSON.parse( this.props.chart['visualizer-settings'].manual ) ) :
130-
compact( this.props.chart['visualizer-settings'])
131-
}
132-
height="500px"
133-
/>
129+
130+
( 'dataTable' === chart ) ? (
131+
<DataTable
132+
id={ this.props.id }
133+
rows={ data['visualizer-data'] }
134+
columns={ data['visualizer-series'] }
135+
options={ data['visualizer-settings'] }
136+
/>
137+
) : (
138+
<Chart
139+
chartType={ chart }
140+
rows={ data['visualizer-data'] }
141+
columns={ data['visualizer-series'] }
142+
options={
143+
isValidJSON( this.props.chart['visualizer-settings'].manual ) ?
144+
merge( compact( this.props.chart['visualizer-settings']), JSON.parse( this.props.chart['visualizer-settings'].manual ) ) :
145+
compact( this.props.chart['visualizer-settings'])
146+
}
147+
height="500px"
148+
/>
149+
)
134150
}
135151

136152
</div>

classes/Visualizer/Gutenberg/src/Components/Charts.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*/
44
import { Chart } from 'react-google-charts';
55

6+
import DataTable from './DataTable.js';
7+
68
import { formatDate, filterCharts } from '../utils.js';
79

810
/**
@@ -80,7 +82,6 @@ class Charts extends Component {
8082
<div className="visualizer-settings__charts-grid">
8183

8284
{ ( Object.keys( charts ) ).map( i => {
83-
8485
const data = formatDate( charts[i]['chart_data']);
8586

8687
let title, chart;
@@ -107,23 +108,29 @@ class Charts extends Component {
107108
}
108109
}
109110

110-
if ( 'dataTable' === chart ) {
111-
return;
112-
}
113-
114111
return (
115112
<div className="visualizer-settings__charts-single">
116113

117114
<div className="visualizer-settings__charts-title">
118115
{ title }
119116
</div>
120117

121-
<Chart
122-
chartType={ chart }
123-
rows={ data['visualizer-data'] }
124-
columns={ data['visualizer-series'] }
125-
options={ filterCharts( data['visualizer-settings']) }
126-
/>
118+
{ ( 'dataTable' === chart ) ? (
119+
<DataTable
120+
id={ charts[i].id }
121+
rows={ data['visualizer-data'] }
122+
columns={ data['visualizer-series'] }
123+
chartsScreen={ true }
124+
options={ filterCharts( data['visualizer-settings']) }
125+
/>
126+
) : (
127+
<Chart
128+
chartType={ chart }
129+
rows={ data['visualizer-data'] }
130+
columns={ data['visualizer-series'] }
131+
options={ filterCharts( data['visualizer-settings']) }
132+
/>
133+
) }
127134

128135
<div
129136
className="visualizer-settings__charts-controls"
@@ -138,7 +145,7 @@ class Charts extends Component {
138145
}) }
139146
</div>
140147

141-
{ ! chartsLoaded && (
148+
{ ! chartsLoaded && 5 < charts.length && (
142149
<Button
143150
isPrimary
144151
isLarge

0 commit comments

Comments
 (0)