@@ -228,13 +228,17 @@ public function renderChartPages() {
228228 'focusTarget ' => 'datum ' ,
229229 )
230230 );
231+ do_action ( 'visualizer_pro_new_chart_defaults ' , $ chart_id );
231232 }
232233 wp_redirect ( add_query_arg ( 'chart ' , (int ) $ chart_id ) );
233234 defined ( 'WP_TESTS_DOMAIN ' ) ? wp_die () : exit ();
234235 }
235236 // enqueue and register scripts and styles
236- wp_register_style ( 'visualizer-frame ' , VISUALIZER_ABSURL . 'css/frame.css ' , array (), Visualizer_Plugin::VERSION );
237- wp_register_script ( 'visualizer-frame ' , VISUALIZER_ABSURL . 'js/frame.js ' , array ( 'jquery ' ), Visualizer_Plugin::VERSION , true );
237+ wp_register_script ( 'visualizer-chosen ' , VISUALIZER_ABSURL . 'js/lib/chosen.jquery.min.js ' , array ( 'jquery ' ), Visualizer_Plugin::VERSION );
238+ wp_register_style ( 'visualizer-chosen ' , VISUALIZER_ABSURL . 'css/lib/chosen.min.css ' , array (), Visualizer_Plugin::VERSION );
239+
240+ wp_register_style ( 'visualizer-frame ' , VISUALIZER_ABSURL . 'css/frame.css ' , array ( 'visualizer-chosen ' ), Visualizer_Plugin::VERSION );
241+ wp_register_script ( 'visualizer-frame ' , VISUALIZER_ABSURL . 'js/frame.js ' , array ( 'visualizer-chosen ' ), Visualizer_Plugin::VERSION , true );
238242 wp_register_script ( 'google-jsapi-new ' , '//www.gstatic.com/charts/loader.js ' , array (), null , true );
239243 wp_register_script ( 'google-jsapi-old ' , '//www.google.com/jsapi ' , array ( 'google-jsapi-new ' ), null , true );
240244 wp_register_script (
@@ -257,15 +261,19 @@ public function renderChartPages() {
257261 }
258262 // dispatch pages
259263 $ this ->_chart = get_post ( $ chart_id );
260- switch ( isset ( $ _GET ['tab ' ] ) ? $ _GET ['tab ' ] : '' ) {
264+ $ tab = isset ( $ _GET ['tab ' ] ) || empty ( $ _GET ['tab ' ] ) ? $ _GET ['tab ' ] : 'visualizer ' ;
265+ switch ( $ tab ) {
261266 case 'settings ' :
262267 // changed by Ash/Upwork
263268 $ this ->_handleDataAndSettingsPage ();
264269 break ;
265- case 'type ' :
266- default :
270+ case 'type ' : // fall through.
271+ case ' visualizer ' : // fall through.
267272 $ this ->_handleTypesPage ();
268273 break ;
274+ default :
275+ do_action ( 'visualizer_pro_handle_tab ' , $ tab , $ this ->_chart );
276+ break ;
269277 }
270278 defined ( 'WP_TESTS_DOMAIN ' ) ? wp_die () : exit ();
271279 }
@@ -313,11 +321,21 @@ private function _handleDataAndSettingsPage() {
313321 'visualizer-render ' , 'visualizer ' , array (
314322 'l10n ' => array (
315323 'invalid_source ' => esc_html__ ( 'You have entered invalid URL. Please, insert proper URL. ' , 'visualizer ' ),
324+ 'loading ' => esc_html__ ( 'Loading... ' , 'visualizer ' ),
316325 ),
317326 'charts ' => array (
318327 'canvas ' => $ data ,
319328 ),
320329 'map_api_key ' => get_option ( 'visualizer-map-api-key ' ),
330+ 'ajax ' => array (
331+ 'url ' => admin_url ( 'admin-ajax.php ' ),
332+ 'nonces ' => array (
333+ 'permissions ' => wp_create_nonce ( Visualizer_Plugin::ACTION_FETCH_PERMISSIONS_DATA ),
334+ ),
335+ 'actions ' => array (
336+ 'permissions ' => Visualizer_Plugin::ACTION_FETCH_PERMISSIONS_DATA ,
337+ ),
338+ ),
321339 )
322340 );
323341 $ render = new Visualizer_Render_Page_Data ();
@@ -412,6 +430,12 @@ public function uploadData() {
412430 if ( ! isset ( $ _POST ['vz-import-time ' ] ) ) {
413431 apply_filters ( 'visualizer_pro_remove_schedule ' , $ chart_id );
414432 }
433+
434+ if ( ! isset ( $ _POST ['chart_data_src ' ] ) || Visualizer_Plugin::CF_SOURCE_FILTER !== $ _POST ['chart_data_src ' ] ) {
435+ // delete the filters in case this chart is being uploaded from other data sources
436+ delete_post_meta ( $ chart_id , 'visualizer-filter-config ' );
437+ }
438+
415439 $ source = null ;
416440 $ render = new Visualizer_Render_Page_Update ();
417441 if ( isset ( $ _POST ['remote_data ' ] ) && filter_var ( $ _POST ['remote_data ' ], FILTER_VALIDATE_URL ) ) {
@@ -548,6 +572,7 @@ private function _handleDataPage() {
548572 'visualizer-render ' , 'visualizer ' , array (
549573 'l10n ' => array (
550574 'invalid_source ' => esc_html__ ( 'You have entered invalid URL. Please, insert proper URL. ' , 'visualizer ' ),
575+ 'loading ' => esc_html__ ( 'Loading... ' , 'visualizer ' ),
551576 ),
552577 'charts ' => array (
553578 'canvas ' => $ data ,
0 commit comments