/** * Enqueues required assets for the field type. * * The function also generates script vars to be applied in `wp_localize_script()`. * * @since 0.5.0 * @return array array which can (possibly) contain a 'dependencies' array and a 'script_vars' array */ public function enqueue_assets() { if (self::is_enqueued(__CLASS__)) { return array(); } $assets_url = ComponentManager::get_base_url() . '/assets'; $version = ComponentManager::get_dependency_info('datetimepicker', 'version'); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('datetimepicker', $assets_url . '/vendor/datetimepicker/jquery.datetimepicker.css', array(), $version); wp_enqueue_script('datetimepicker', $assets_url . '/vendor/datetimepicker/build/jquery.datetimepicker.full' . $min . '.js', array('jquery'), $version, true); return array('dependencies' => array('datetimepicker'), 'script_vars' => array('language' => substr(get_locale(), 0, 2), 'date_format' => get_option('date_format'), 'time_format' => get_option('time_format'), 'start_of_week' => get_option('start_of_week'))); }
/** * Enqueues required assets for the field type. * * The function also generates script vars to be applied in `wp_localize_script()`. * * @since 0.5.0 * @return array array which can (possibly) contain a 'dependencies' array and a 'script_vars' array */ public function enqueue_assets() { global $post; if (self::is_enqueued(__CLASS__)) { return array(); } $assets_url = ComponentManager::get_base_url() . '/assets'; $version = ComponentManager::get_dependency_info('wp-media-picker', 'version'); if ($post) { wp_enqueue_media(array('post' => $post->ID)); } else { wp_enqueue_media(); } $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('wp-media-picker', $assets_url . '/vendor/wp-media-picker/wp-media-picker' . $min . '.css', array(), $version); wp_enqueue_script('wp-media-picker', $assets_url . '/vendor/wp-media-picker/wp-media-picker' . $min . '.js', array('jquery', 'jquery-ui-widget', 'media-editor'), $version, true); return array('dependencies' => array('media-editor', 'wp-media-picker'), 'script_vars' => array('media_i18n_add' => __('Choose a File', 'wpdlib'), 'media_i18n_replace' => __('Choose another File', 'wpdlib'), 'media_i18n_remove' => __('Remove', 'wpdlib'), 'media_i18n_modal' => __('Choose a File', 'wpdlib'), 'media_i18n_button' => __('Insert File', 'wpdlib'))); }
/** * Enqueues assets for one or more fields. * * This function should be used from all places in the WordPress admin that contain field types from WPDLib. * All fields active on the screen should be passed to the function. * * @since 0.5.0 * @param array $fields the field type objects to enqueue assets for */ public static function enqueue_assets($fields = array()) { $assets_url = ComponentManager::get_base_url() . '/assets'; $version = ComponentManager::get_info('version'); list($dependencies, $script_vars) = self::get_dependencies_and_script_vars($fields); if (!in_array('jquery', $dependencies)) { $dependencies[] = 'jquery'; } $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('wpdlib-fields', $assets_url . '/dist/css/fields' . $min . '.css', array(), $version); wp_enqueue_script('wpdlib-fields', $assets_url . '/dist/js/fields' . $min . '.js', $dependencies, $version, true); wp_localize_script('wpdlib-fields', '_wpdlib_data', $script_vars); }
/** * Enqueues required assets for the field type. * * The function also generates script vars to be applied in `wp_localize_script()`. * * @since 0.5.0 * @return array array which can (possibly) contain a 'dependencies' array and a 'script_vars' array */ public function enqueue_assets() { if (self::is_enqueued(__CLASS__)) { return array(); } $assets_dir = ComponentManager::get_base_dir() . '/assets'; $assets_url = ComponentManager::get_base_url() . '/assets'; $version = ComponentManager::get_dependency_info('select2', 'version'); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('select2', $assets_url . '/vendor/select2/dist/css/select2' . $min . '.css', array(), $version); wp_enqueue_script('select2', $assets_url . '/vendor/select2/dist/js/select2' . $min . '.js', array('jquery'), $version, true); $dependencies = array('select2'); $locale = str_replace('_', '-', get_locale()); $language = substr($locale, 0, 2); if (file_exists($assets_dir . '/vendor/select2/dist/js/i18n/' . $locale . '.js')) { wp_enqueue_script('select2-locale', $assets_url . '/vendor/select2/dist/js/i18n/' . $locale . '.js', array('select2'), $version, true); $dependencies[] = 'select2-locale'; } elseif (file_exists($assets_dir . '/vendor/select2/dist/js/i18n/' . $language . '.js')) { wp_enqueue_script('select2-locale', $assets_url . '/vendor/select2/dist/js/i18n/' . $language . '.js', array('select2'), $version, true); $dependencies[] = 'select2-locale'; } return array('dependencies' => $dependencies); }
/** * Enqueues required assets for the field type. * * The function also generates script vars to be applied in `wp_localize_script()`. * * @since 0.6.0 * @return array array which can (possibly) contain a 'dependencies' array and a 'script_vars' array */ public function enqueue_assets() { if (self::is_enqueued(__CLASS__)) { return array(); } $assets_url = ComponentManager::get_base_url() . '/assets'; $version = ComponentManager::get_dependency_info('wp-map-picker', 'version'); $gmaps_url = 'https://maps.google.com/maps/api/js'; $gmaps_args = array('language' => str_replace('_', '-', get_locale())); if ($api_key = self::get_api_key()) { $gmaps_args['key'] = $api_key; } $gmaps_url = add_query_arg($gmaps_args, $gmaps_url); wp_enqueue_script('google-maps', $gmaps_url, array(), false, true); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('wp-map-picker', $assets_url . '/vendor/wp-map-picker/wp-map-picker' . $min . '.css', array(), $version); wp_enqueue_script('wp-map-picker', $assets_url . '/vendor/wp-map-picker/wp-map-picker' . $min . '.js', array('jquery', 'jquery-ui-widget', 'jquery-ui-autocomplete', 'google-maps'), $version, true); return array('dependencies' => array('wp-map-picker')); }