Skip to content

Commit 61a795b

Browse files
3 more chart types #19
1 parent 18f2ccf commit 61a795b

File tree

9 files changed

+61
-78
lines changed

9 files changed

+61
-78
lines changed

classes/Visualizer/Module/Admin.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,8 @@ function visualizerAdminPointers( $p ) {
139139
* @access private
140140
* @return array The associated array of chart types with localized names.
141141
*/
142-
private static function _getChartTypesLocalized() {
143-
return array(
142+
public static function _getChartTypesLocalized() {
143+
$types = array(
144144
'all' => esc_html__( 'All', Visualizer_Plugin::NAME ),
145145
'pie' => esc_html__( 'Pie', Visualizer_Plugin::NAME ),
146146
'line' => esc_html__( 'Line', Visualizer_Plugin::NAME ),
@@ -150,8 +150,12 @@ private static function _getChartTypesLocalized() {
150150
'column' => esc_html__( 'Column', Visualizer_Plugin::NAME ),
151151
'gauge' => esc_html__( 'Gauge', Visualizer_Plugin::NAME ),
152152
'scatter' => esc_html__( 'Scatter', Visualizer_Plugin::NAME ),
153-
'candlestick' => esc_html__( 'Candelstick', Visualizer_Plugin::NAME ),
153+
'candlestick' => esc_html__( 'Candlestick', Visualizer_Plugin::NAME ),
154154
);
155+
156+
$types = apply_filters("visualizer_pro_chart_types", $types);
157+
158+
return $types;
155159
}
156160

157161
/**
@@ -169,7 +173,8 @@ public function enqueueMediaScripts() {
169173
if ( post_type_supports( $typenow, 'editor' ) ) {
170174
wp_enqueue_style( 'visualizer-media', VISUALIZER_ABSURL . 'css/media.css', array( 'media-views' ), Visualizer_Plugin::VERSION );
171175

172-
wp_enqueue_script( 'visualizer-google-jsapi', '//www.google.com/jsapi', array( 'media-editor' ), null, true );
176+
wp_enqueue_script( 'visualizer-google-jsapi-new', '//www.gstatic.com/charts/loader.js', array( 'media-editor' ), null, true );
177+
wp_enqueue_script( 'visualizer-google-jsapi-old', '//www.google.com/jsapi', array( 'visualizer-google-jsapi-new' ), null, true );
173178
wp_enqueue_script( 'visualizer-media-model', VISUALIZER_ABSURL . 'js/media/model.js', array( 'visualizer-google-jsapi' ), Visualizer_Plugin::VERSION, true );
174179
wp_enqueue_script( 'visualizer-media-collection', VISUALIZER_ABSURL . 'js/media/collection.js', array( 'visualizer-media-model' ), Visualizer_Plugin::VERSION, true );
175180
wp_enqueue_script( 'visualizer-media-controller', VISUALIZER_ABSURL . 'js/media/controller.js', array( 'visualizer-media-collection' ), Visualizer_Plugin::VERSION, true );
@@ -249,8 +254,9 @@ public function enqueueLibraryScripts( $suffix ) {
249254

250255
wp_enqueue_media();
251256
wp_enqueue_script( 'visualizer-library', VISUALIZER_ABSURL . 'js/library.js', array( 'jquery', 'media-views' ), Visualizer_Plugin::VERSION, true );
252-
wp_enqueue_script( 'google-jsapi', '//www.google.com/jsapi', array(), null, true );
253-
wp_enqueue_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'google-jsapi', 'visualizer-library' ), Visualizer_Plugin::VERSION, true );
257+
wp_enqueue_script( 'google-jsapi-new', '//www.gstatic.com/charts/loader.js', array(), null, true );
258+
wp_enqueue_script( 'google-jsapi-old', '//www.google.com/jsapi', array('google-jsapi-new'), null, true );
259+
wp_enqueue_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'google-jsapi-old', 'visualizer-library' ), Visualizer_Plugin::VERSION, true );
254260
}
255261
if ( get_bloginfo( 'version' ) < '3.3' )
256262
return;

classes/Visualizer/Module/Chart.php

Lines changed: 10 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,9 @@ public function renderChartPages() {
240240
wp_register_style( 'visualizer-frame', VISUALIZER_ABSURL . 'css/frame.css', array(), Visualizer_Plugin::VERSION );
241241

242242
wp_register_script( 'visualizer-frame', VISUALIZER_ABSURL . 'js/frame.js', array( 'jquery' ), Visualizer_Plugin::VERSION, true );
243-
wp_register_script( 'google-jsapi', '//www.google.com/jsapi', array(), null, true );
244-
wp_register_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'google-jsapi', 'visualizer-frame' ), Visualizer_Plugin::VERSION, true );
243+
wp_register_script( 'google-jsapi-new', '//www.gstatic.com/charts/loader.js', array(), null, true );
244+
wp_register_script( 'google-jsapi-old', '//www.google.com/jsapi', array('google-jsapi-new'), null, true );
245+
wp_register_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'google-jsapi-old', 'google-jsapi-new', 'visualizer-frame' ), Visualizer_Plugin::VERSION, true );
245246
wp_register_script( 'visualizer-preview', VISUALIZER_ABSURL . 'js/preview.js', array( 'wp-color-picker', 'visualizer-render' ), Visualizer_Plugin::VERSION, true );
246247

247248
// added by Ash/Upwork
@@ -350,68 +351,6 @@ private function _handleDataPage() {
350351
wp_iframe( array( $render, 'render') );
351352
}
352353

353-
/**
354-
* Handles chart settigns page.
355-
*
356-
* @since 1.0.0
357-
*
358-
* @access private
359-
*/
360-
private function _handleSettingsPage() {
361-
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ) ) ) {
362-
if ( $this->_chart->post_status == 'auto-draft' ) {
363-
$this->_chart->post_status = 'publish';
364-
wp_update_post( $this->_chart->to_array() );
365-
}
366-
367-
update_post_meta( $this->_chart->ID, Visualizer_Plugin::CF_SETTINGS, $_POST );
368-
369-
$render = new Visualizer_Render_Page_Send();
370-
$render->text = sprintf( '[visualizer id="%d"]', $this->_chart->ID );
371-
372-
wp_iframe( array( $render, 'render') );
373-
return;
374-
}
375-
376-
$data = $this->_getChartArray();
377-
378-
$sidebar = '';
379-
$sidebar_class = 'Visualizer_Render_Sidebar_Type_' . ucfirst( $data['type'] );
380-
if ( class_exists( $sidebar_class, true ) ) {
381-
$sidebar = new $sidebar_class( $data['settings'] );
382-
$sidebar->__series = $data['series'];
383-
$sidebar->__data = $data['data'];
384-
}
385-
386-
unset( $data['settings']['width'], $data['settings']['height'] );
387-
388-
wp_enqueue_style( 'wp-color-picker' );
389-
wp_enqueue_style( 'visualizer-frame' );
390-
391-
wp_enqueue_script( 'visualizer-preview' );
392-
wp_localize_script( 'visualizer-render', 'visualizer', array(
393-
'charts' => array(
394-
'canvas' => $data,
395-
),
396-
) );
397-
398-
$render = new Visualizer_Render_Page_Settings();
399-
400-
$render->sidebar = $sidebar;
401-
if ( filter_input( INPUT_GET, 'library', FILTER_VALIDATE_BOOLEAN ) ) {
402-
$render->button = filter_input( INPUT_GET, 'action' ) == Visualizer_Plugin::ACTION_EDIT_CHART
403-
? esc_html__( 'Save Chart', Visualizer_Plugin::NAME )
404-
: esc_html__( 'Create Chart', Visualizer_Plugin::NAME );
405-
} else {
406-
$render->button = esc_attr__( 'Insert Chart', Visualizer_Plugin::NAME );
407-
}
408-
409-
$this->_addAction( 'admin_head', 'renderFlattrScript' );
410-
411-
wp_iframe( array( $render, 'render') );
412-
}
413-
414-
415354
// changed by Ash/Upwork
416355
private function _handleDataAndSettingsPage(){
417356
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ) ) ) {
@@ -437,7 +376,13 @@ private function _handleDataAndSettingsPage(){
437376
$sidebar = new $sidebar_class( $data['settings'] );
438377
$sidebar->__series = $data['series'];
439378
$sidebar->__data = $data['data'];
440-
}
379+
} else {
380+
$sidebar = apply_filters("visualizer_pro_chart_type_sidebar", '', $data);
381+
if ($sidebar != '') {
382+
$sidebar->__series = $data['series'];
383+
$sidebar->__data = $data['data'];
384+
}
385+
}
441386

442387
unset( $data['settings']['width'], $data['settings']['height'] );
443388

classes/Visualizer/Module/Frontend.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,9 @@ public function __construct( Visualizer_Plugin $plugin ) {
7777
* @access public
7878
*/
7979
public function enqueueScripts() {
80-
wp_register_script( 'visualizer-google-jsapi', '//www.google.com/jsapi', array(), null, true );
81-
wp_register_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'visualizer-google-jsapi', 'jquery' ), Visualizer_Plugin::VERSION, true );
80+
wp_register_script( 'visualizer-google-jsapi-new', '//www.gstatic.com/charts/loader.js', array(), null, true );
81+
wp_register_script( 'visualizer-google-jsapi-old', '//www.google.com/jsapi', array('visualizer-google-jsapi-new'), null, true );
82+
wp_register_script( 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( 'visualizer-google-jsapi-old', 'jquery' ), Visualizer_Plugin::VERSION, true );
8283
}
8384

8485
/**

classes/Visualizer/Plugin.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,9 @@ public function setModule( $class ) {
166166
* @return array
167167
*/
168168
public static function getChartTypes() {
169-
return array( 'line', 'area', 'bar', 'column', 'pie', 'geo', 'scatter', 'candlestick', 'gauge' );
169+
$array = array_keys(Visualizer_Module_Admin::_getChartTypesLocalized());
170+
unset($array[0]); // all
171+
return $array;
170172
}
171173

172174
}

classes/Visualizer/Render/Sidebar.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,4 +545,13 @@ protected function _renderFormatField( $index = 0 ) {
545545
}
546546
}
547547

548+
protected static function _renderCheckboxItem( $title, $name, $value, $default, $desc ) {
549+
echo '<div class="section-item">';
550+
echo '<a class="more-info" href="javascript:;">[?]</a>';
551+
echo '<b>', $title, '</b>';
552+
echo '<input type="checkbox" class="control-check" value="', $default, '" name="', $name, '" ', ($value == $default ? "checked" : ""), '>';
553+
echo '<p class="section-description">', $desc, '</p>';
554+
echo '</div>';
555+
}
556+
548557
}

css/frame.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,13 @@ div.group-content .group-description {
250250
width: 100%;
251251
}
252252

253+
.control-check {
254+
float: right;
255+
}
256+
.control-check::after {
257+
clear: both;
258+
}
259+
253260
.section-description ul {
254261
margin: 0 0 0 25px;
255262
list-style: circle;

js/media.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
wpmvtv = wpmv.toolbar.visualizer;
55
mediaFrame = wpmv.MediaFrame.Post;
66

7-
g.load("visualization", "1", { packages: ["corechart", "geochart", "gauge"] });
7+
g.charts.load("current", { packages: ["corechart", "geochart", "gauge", "table"] });
88

99
wpmv.MediaFrame.Post = mediaFrame.extend({
1010
initialize: function() {

js/render.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
if (!render) {
1919
render = chart.type == 'gauge'
2020
? 'Gauge'
21-
: chart.type.charAt(0).toUpperCase() + chart.type.slice(1) + 'Chart';
21+
: (chart.type == 'table' ? 'Table' : chart.type.charAt(0).toUpperCase() + chart.type.slice(1) + 'Chart');
2222

2323
render = new gv[render](container);
2424
}
@@ -54,6 +54,12 @@
5454
break;
5555
case 'gauge':
5656
break;
57+
case 'table':
58+
if (parseInt(settings['pagination']) != 1)
59+
{
60+
delete settings['pageSize'];
61+
}
62+
break;
5763
default:
5864
return;
5965
}
@@ -139,8 +145,8 @@
139145
}
140146
};
141147

142-
g.load("visualization", "1", {packages: ["corechart", "geochart", "gauge"]});
143-
g.setOnLoadCallback(function() {
148+
g.charts.load("current", {packages: ["corechart", "geochart", "gauge", "table"]});
149+
g.charts.setOnLoadCallback(function() {
144150
gv = g.visualization;
145151
v.render();
146152
});

samples/table.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Month,Bolivia,Ecuador,Madagascar,Papua New Guinea,Rwanda
2+
date,number,number,number,number,number
3+
2004/05,165,938,522,998,450
4+
2005/06,135,1120,599,1268,288
5+
2006/07,157,1167,587,807,397
6+
2007/08,139,1110,615,968,215
7+
2008/09,136,691,629,1026,366

0 commit comments

Comments
 (0)