admin_page, array( $this, 'render_page' ), 'data:image/svg+xml;base64,' . base64_encode('') ); } /** * Initialize dashboard components * * @return [type] [description] */ public function init_components() { if ( ! $this->is_dashboard() && ! wp_doing_ajax() ) { return; } require jet_engine()->plugin_path( 'includes/dashboard/skins-import.php' ); require jet_engine()->plugin_path( 'includes/dashboard/skins-export.php' ); require jet_engine()->plugin_path( 'includes/dashboard/presets.php' ); require jet_engine()->plugin_path( 'includes/dashboard/tab-manager.php' ); $this->import = new Jet_Engine_Skins_Import(); $this->export = new Jet_Engine_Skins_Export(); $this->presets = new Jet_Engine_Skins_Presets(); \Jet_Engine\Dashboard\Tab_Manager::instance(); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) ); } /** * Initialize interface builder * * @return [type] [description] */ public function enqueue_assets() { $module_data = jet_engine()->framework->get_included_module_data( 'cherry-x-vue-ui.php' ); $ui = new CX_Vue_UI( $module_data ); $ui->enqueue_assets(); wp_register_script( 'jet-engine-shortcode-generator', jet_engine()->plugin_url( 'assets/js/admin/dashboard/shortcode-generator.js' ), array( 'cx-vue-ui' ), jet_engine()->get_version(), true ); wp_register_script( 'jet-engine-macros-generator', jet_engine()->plugin_url( 'assets/js/admin/dashboard/macros-generator.js' ), array( 'cx-vue-ui' ), jet_engine()->get_version(), true ); wp_register_script( 'jet-engine-dashboard-skins', jet_engine()->plugin_url( 'assets/js/admin/dashboard/skins.js' ), array( 'cx-vue-ui' ), jet_engine()->get_version(), true ); wp_localize_script( 'jet-engine-dashboard-skins', 'JetEngineExportConfig', $this->export->export_config() ); do_action( 'jet-engine/dashboard/assets' ); wp_enqueue_script( 'jet-engine-dashboard', jet_engine()->plugin_url( 'assets/js/admin/dashboard/main.js' ), array( 'cx-vue-ui', 'jet-engine-dashboard-skins', 'jet-engine-shortcode-generator', 'jet-engine-macros-generator' ), jet_engine()->get_version(), true ); wp_localize_script( 'jet-engine-dashboard', 'JetEngineDashboardConfig', apply_filters( 'jet-engine/dashboard/config', array( 'internal_modules' => jet_engine()->modules->get_all_modules_for_js( true, 'internal' ), 'external_modules' => jet_engine()->modules->get_all_modules_for_js( true, 'external' ), 'active_modules' => jet_engine()->modules->get_active_modules(), 'modules_to_update' => jet_engine()->modules->updater->get_pluign_updates(), 'is_license_active' => jet_engine()->modules->installer->is_license_active(), 'components_list' => array( array( 'value' => 'meta_field', 'label' => __( 'Meta Field', 'jet-engine' ), ), array( 'value' => 'option', 'label' => __( 'Option', 'jet-engine' ), ), ), 'messages' => array( 'saved' => __( 'Saved!', 'jet-engine' ), 'saved_and_reload' => __( 'Saved! One of activated/deactivated modules requires page reloading. Page will be reloaded automatically in few seconds.', 'jet-engine' ), ), 'shortode_generator' => jet_engine()->shortcodes->get_generator_config(), 'macros_generator' => jet_engine()->listings->macros->get_macros_for_js(), '_nonce' => wp_create_nonce( $this->nonce_action ), ) ) ); wp_enqueue_style( 'jet-engine-dashboard', jet_engine()->plugin_url( 'assets/css/admin/dashboard.css' ), array(), jet_engine()->get_version() ); do_action( 'jet-engine/dashboard/assets-after' ); add_action( 'admin_footer', array( $this, 'print_dashboard_templates' ) ); } public function get_nonce_action() { return $this->nonce_action; } public function print_dashboard_templates() { ob_start(); include jet_engine()->get_template( 'admin/pages/dashboard/shortcode-generator.php' ); $content = ob_get_clean(); printf( '', $content ); ob_start(); include jet_engine()->get_template( 'admin/pages/dashboard/macros-generator.php' ); $content = ob_get_clean(); printf( '', $content ); } /** * Check if is dashboard page * * @return boolean [description] */ public function is_dashboard() { return ( isset( $_GET['page'] ) && jet_engine()->admin_page === $_GET['page'] ); } /** * Returns dashboard page URL * @return [type] [description] */ public function dashboard_url() { return add_query_arg( array( 'page' => jet_engine()->admin_page ), esc_url( admin_url( 'admin.php' ) ) ); } /** * Render main admin page * * @return void */ public function render_page() { include jet_engine()->get_template( 'admin/pages/dashboard/main.php' ); } /** * Get dashboard setting * * @return [type] [description] */ public function get_setting( $setting = null, $default = false ) { } } }