plugin_url( 'assets/admin/js/jquery.sticky-sidebar.min.js' ), array( 'jquery' ), '3.2.0', true ); wp_register_script( 'jet-menu-admin', jet_menu()->plugin_url( 'assets/admin/js/admin.js' ), array( 'jet-sticky-sidebar', 'wp-util' ), jet_menu()->get_version(), true ); wp_localize_script( 'jet-menu-admin', 'jetMenuAdminSettings', apply_filters( 'jet-menu/assets/admin/localize', array( 'tabs' => jet_menu_settings_item()->get_tabs(), 'strings' => array( 'leaveEditor' => esc_html__( 'Do you want to leave the editor? Changes you made may not be saved.', 'jet-menu' ), 'saveLabel' => esc_html__( 'Save', 'jet-menu' ), 'triggerLabel' => esc_html__( 'JetMenu', 'jet-menu' ), ), 'optionPageMessages' => array( 'saveMessage' => esc_html__( 'Options have been saved', 'jet-menu' ), 'restoreMessage' => esc_html__( 'Settings have been restored, page will be reloaded', 'jet-menu' ), 'emptyImportFile' => esc_html__( 'Please select options file to import.', 'jet-menu' ), 'incorrectImportFile' => esc_html__( 'Options file must be only in .json format.', 'jet-menu' ), 'redirectUrl' => menu_page_url( 'jet-menu-options', false ), 'resetMessage' => esc_html__( 'All menu options will be reseted to defaults. Please export current options to prevent data lost. Are you sure you want to continue?', 'jet-menu' ), ), 'importUrl' => add_query_arg( array( 'jet-action' => 'import-options' ), esc_url( admin_url( 'admin.php' ) ) ), 'resetUrl' => add_query_arg( array( 'jet-action' => 'reset-options' ), esc_url( admin_url( 'admin.php' ) ) ), ) ) ); wp_register_style( 'jet-menu-admin', jet_menu()->plugin_url( 'assets/admin/css/admin.css' ), array(), jet_menu()->get_version() ); wp_register_style( 'font-awesome', jet_menu()->plugin_url( 'assets/public/css/font-awesome.min.css' ), array(), '4.7.0' ); wp_enqueue_script( 'jet-menu-admin' ); wp_enqueue_style( 'jet-menu-admin' ); wp_enqueue_style( 'font-awesome' ); } /** * Load editor styles * * @return void */ public function editor_styles() { if ( ! isset( $_REQUEST['context'] ) || 'jet-menu' !== $_REQUEST['context'] ) { return; } wp_enqueue_style( 'jet-menu-editor', jet_menu()->plugin_url( 'assets/admin/css/editor.css' ), array(), jet_menu()->get_version() ); } /** * Load public assets * * @param string $hook Current page hook. * @return void */ public function register_public_assets() { wp_register_style( 'font-awesome', jet_menu()->plugin_url( 'assets/public/css/font-awesome.min.css' ), array(), '4.7.0' ); wp_register_style( 'jet-menu-public', jet_menu()->plugin_url( 'assets/public/css/public.css' ), array( 'font-awesome' ), jet_menu()->get_version() ); wp_register_script( 'jet-menu-plugin', jet_menu()->plugin_url( 'assets/public/js/jet-menu-plugin.js' ), array( 'jquery' ), jet_menu()->get_version(), true ); wp_register_script( 'jet-menu-public', jet_menu()->plugin_url( 'assets/public/js/jet-menu-public-script.js' ), array( 'jquery', 'jet-menu-plugin' ), jet_menu()->get_version(), true ); $default_mobile_breakpoint = jet_menu_option_page()->get_default_mobile_breakpoint(); wp_localize_script( 'jet-menu-public', 'jetMenuPublicSettings', apply_filters( 'jet-menu/assets/public/localize', array( 'menuSettings' => array( 'jetMenuRollUp' => jet_menu_option_page()->get_option( 'jet-menu-roll-up', 'false' ), 'jetMenuMouseleaveDelay' => jet_menu_option_page()->get_option( 'jet-menu-mouseleave-delay', 500 ), 'jetMenuMegaWidthType' => jet_menu_option_page()->get_option( 'jet-mega-menu-width-type', 'container' ), 'jetMenuMegaWidthSelector' => jet_menu_option_page()->get_option( 'jet-mega-menu-selector-width-type', '' ), 'jetMenuMegaOpenSubType' => jet_menu_option_page()->get_option( 'jet-menu-open-sub-type', 'hover' ), 'jetMenuMobileBreakpoint' => jet_menu_option_page()->get_option( 'jet-menu-mobile-breakpoint', $default_mobile_breakpoint ), ), ) ) ); } /** * Enqueue public assets. * * @since 1.0.0 */ public function enqueue_public_assets() { wp_enqueue_style( 'jet-menu-public' ); wp_enqueue_script( 'jet-menu-public' ); } /** * Enqueue plugin scripts only with elementor scripts * * @return void */ public function enqueue_elementor_widget_scripts() { wp_enqueue_script( 'jet-menu-widgets-scripts', jet_menu()->plugin_url( 'assets/public/js/jet-menu-widgets-scripts.js' ), array( 'jquery', 'elementor-frontend' ), jet_menu()->get_version(), true ); } /** * Print admin templates * * @return void */ public function admin_templates() { $screen = get_current_screen(); if ( 'nav-menus' !== $screen->base ) { return; } $templates = array( 'menu-trigger' => 'admin/html/menu-trigger.html', 'popup-wrapper' => 'admin/html/popup-wrapper.html', 'popup-tabs' => 'admin/html/popup-tabs.html', 'editor-frame' => 'admin/html/editor-frame.html', ); $this->print_templates_array( $templates ); } /** * Print templates array * * @param array $templates List of templates to print. * @return [type] [description] */ public function print_templates_array( $templates = array() ) { if ( empty( $templates ) ) { return; } foreach ( $templates as $id => $file ) { $file = jet_menu()->get_template( $file ); if ( ! file_exists( $file ) ) { continue; } ob_start(); include $file; $content = ob_get_clean(); printf( '', $id, $content ); } } /** * Returns the instance. * * @since 1.0.0 * @return object */ public static function get_instance() { // If the single instance hasn't been set, set it now. if ( null == self::$instance ) { self::$instance = new self; } return self::$instance; } } } /** * Returns instance of Jet_Menu_Assets * * @return object */ function jet_menu_assets() { return Jet_Menu_Assets::get_instance(); }