| @@ -227,15 +227,19 @@ | ||
| 227 | 227 | $chart_id, Visualizer_Plugin::CF_SETTINGS, array( |
| 228 | 228 | 'focusTarget' => 'datum', |
| 229 | 229 | ) |
| 230 | 230 | ); |
| 231 | + do_action( 'visualizer_pro_new_chart_defaults', $chart_id ); | |
| 231 | 232 | } |
| 232 | 233 | wp_redirect( add_query_arg( 'chart', (int) $chart_id ) ); |
| 233 | 234 | defined( 'WP_TESTS_DOMAIN' ) ? wp_die() : exit(); |
| 234 | 235 | } |
| 235 | 236 | // 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 ); | |
| 238 | 242 | wp_register_script( 'google-jsapi-new', '//www.gstatic.com/charts/loader.js', array(), null, true ); |
| 239 | 243 | wp_register_script( 'google-jsapi-old', '//www.google.com/jsapi', array( 'google-jsapi-new' ), null, true ); |
| 240 | 244 | wp_register_script( |
| 241 | 245 | 'visualizer-render', VISUALIZER_ABSURL . 'js/render.js', array( |
| @@ -256,16 +260,20 @@ | ||
| 256 | 260 | $Visualizer_Pro->_addScriptsAndStyles(); |
| 257 | 261 | } |
| 258 | 262 | // dispatch pages |
| 259 | 263 | $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 ) { | |
| 261 | 266 | case 'settings': |
| 262 | 267 | // changed by Ash/Upwork |
| 263 | 268 | $this->_handleDataAndSettingsPage(); |
| 264 | 269 | break; |
| 265 | - case 'type': | |
| 270 | + case 'type': // fall through. | |
| 271 | + case 'visualizer': // fall through. | |
| 272 | + $this->_handleTypesPage(); | |
| 273 | + break; | |
| 266 | 274 | default: |
| 267 | - $this->_handleTypesPage(); | |
| 275 | + do_action( 'visualizer_pro_handle_tab', $tab, $this->_chart ); | |
| 268 | 276 | break; |
| 269 | 277 | } |
| 270 | 278 | defined( 'WP_TESTS_DOMAIN' ) ? wp_die() : exit(); |
| 271 | 279 | } |
| @@ -312,13 +320,23 @@ | ||
| 312 | 320 | wp_localize_script( |
| 313 | 321 | 'visualizer-render', 'visualizer', array( |
| 314 | 322 | 'l10n' => array( |
| 315 | 323 | 'invalid_source' => esc_html__( 'You have entered invalid URL. Please, insert proper URL.', 'visualizer' ), |
| 324 | + 'loading' => esc_html__( 'Loading...', 'visualizer' ), | |
| 316 | 325 | ), |
| 317 | 326 | 'charts' => array( |
| 318 | 327 | 'canvas' => $data, |
| 319 | 328 | ), |
| 320 | 329 | '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 | + ), | |
| 321 | 339 | ) |
| 322 | 340 | ); |
| 323 | 341 | $render = new Visualizer_Render_Page_Data(); |
| 324 | 342 | $render->chart = $this->_chart; |
| @@ -411,8 +429,14 @@ | ||
| 411 | 429 | } |
| 412 | 430 | if ( ! isset( $_POST['vz-import-time'] ) ) { |
| 413 | 431 | apply_filters( 'visualizer_pro_remove_schedule', $chart_id ); |
| 414 | 432 | } |
| 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 | + | |
| 415 | 439 | $source = null; |
| 416 | 440 | $render = new Visualizer_Render_Page_Update(); |
| 417 | 441 | if ( isset( $_POST['remote_data'] ) && filter_var( $_POST['remote_data'], FILTER_VALIDATE_URL ) ) { |
| 418 | 442 | $source = new Visualizer_Source_Csv_Remote( $_POST['remote_data'] ); |
| @@ -547,8 +571,9 @@ | ||
| 547 | 571 | wp_localize_script( |
| 548 | 572 | 'visualizer-render', 'visualizer', array( |
| 549 | 573 | 'l10n' => array( |
| 550 | 574 | 'invalid_source' => esc_html__( 'You have entered invalid URL. Please, insert proper URL.', 'visualizer' ), |
| 575 | + 'loading' => esc_html__( 'Loading...', 'visualizer' ), | |
| 551 | 576 | ), |
| 552 | 577 | 'charts' => array( |
| 553 | 578 | 'canvas' => $data, |
| 554 | 579 | ), |