/home/crealab/pueblito.brainware.com.co/wp-content/plugins/jetgridbuilder/includes/assets.php
<?php
namespace Posts_Grid_Builder;
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Define Assets class
*/
class Assets {
public $script_suffix = '.min';
/**
* Constructor for the class
*/
public function __construct() {
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
$script_suffix = '';
}
add_action( 'wp_enqueue_scripts', array( $this, 'plugin_assets' ) );
add_action( 'elementor/editor/after_enqueue_scripts', array( $this, 'editor_assets' ) );
add_action( 'enqueue_block_editor_assets', array( $this, 'block_editor_assets' ) );
}
/**
* Register plugin assets
*
* @return void
*/
public function plugin_assets() {
// enqueue script polyfills for IE
global $is_IE;
wp_register_script(
'jgb-polyfills',
$is_IE ? Plugin::instance()->assets_url( 'js/polyfills.js' ) : false,
array(),
JET_GRID_BUILDER_VERSION
);
wp_register_style(
'jgb-styles',
Plugin::instance()->assets_url( 'css/jgb-styles.css' ),
false,
JET_GRID_BUILDER_VERSION
);
wp_register_script(
'cx-vue',
Plugin::instance()->assets_url( 'js/vendors/vue' . $this->script_suffix . '.js' ),
array(),
'2.6.10',
true
);
if ( class_exists( '\Elementor\Plugin' ) ) {
wp_register_script(
'jgb-widgets-grid-builder-script',
\Elementor\Plugin::$instance->preview->is_preview_mode()
? Plugin::instance()->assets_url( 'js/widgets-grid-builder-editor.js' )
: Plugin::instance()->assets_url( 'js/widgets-grid-builder-front.js' ),
array(
'elementor-frontend',
'cx-vue'
),
JET_GRID_BUILDER_VERSION,
true
);
if ( class_exists( 'Jet_Engine' ) ) {
wp_enqueue_script( 'jquery-slick' );
wp_enqueue_script( 'imagesloaded' );
}
wp_localize_script( 'jgb-widgets-grid-builder-script', 'jgbSettings', array(
'api' => array(
'endpoints' => Plugin::instance()->api->get_endpoints_urls(),
),
) );
}
wp_register_script(
'jgb-blocks-grid-builder-script',
Plugin::instance()->assets_url( 'js/blocks-grid-builder-front.js' ),
array(
'wp-blocks',
'wp-editor',
'jgb-polyfills',
'cx-vue',
),
JET_GRID_BUILDER_VERSION,
true
);
wp_localize_script( 'jgb-blocks-grid-builder-script', 'jgbSettings', array(
'api' => array(
'endpoints' => Plugin::instance()->api->get_endpoints_urls(),
),
) );
}
/**
* Enqueue plugin assets only for elementor editor
*
* @return void
*/
public function editor_assets() {
wp_enqueue_style(
'jgb-editor-styles',
Plugin::instance()->assets_url( 'css/jgb-editor-styles.css' ),
false,
JET_GRID_BUILDER_VERSION
);
wp_register_script(
'cx-vue',
Plugin::instance()->assets_url( 'js/vendors/vue' . $this->script_suffix . '.js' ),
array(),
'2.6.10',
true
);
wp_enqueue_script(
'jgb-editor',
Plugin::instance()->assets_url( 'js/editor.js' ),
array(
'elementor-editor',
'cx-vue'
),
JET_GRID_BUILDER_VERSION,
true
);
wp_localize_script( 'jgb-editor', 'jgbSettings', array(
'api' => array(
'endpoints' => Plugin::instance()->api->get_endpoints_urls(),
),
) );
}
/**
* Register blocks assets
*
* @return false
*/
public function block_editor_assets() {
if ( Plugin::instance()->has_elementor() ) {
$direction_suffix = is_rtl() ? '-rtl' : '';
wp_enqueue_style(
'elementor-frontend-legacy',
ELEMENTOR_ASSETS_URL . 'css/frontend-legacy' . $direction_suffix . '.min.css',
false,
ELEMENTOR_VERSION
);
wp_enqueue_style(
'elementor-frontend',
ELEMENTOR_ASSETS_URL . 'css/frontend' . $direction_suffix . '.min.css',
false,
ELEMENTOR_VERSION
);
}
wp_enqueue_style(
'jgb-editor-styles',
Plugin::instance()->assets_url( 'css/jgb-editor-styles.css' ),
false,
JET_GRID_BUILDER_VERSION
);
wp_enqueue_style(
'jgb-styles',
Plugin::instance()->assets_url( 'css/jgb-styles.css' ),
false,
JET_GRID_BUILDER_VERSION
);
wp_register_script(
'cx-vue',
Plugin::instance()->assets_url( 'js/vendors/vue' . $this->script_suffix . '.js' ),
array(),
'2.6.10',
true
);
wp_enqueue_script(
'jgb-blocks-grid-builder-script',
Plugin::instance()->assets_url( 'js/blocks-grid-builder-editor.js' ),
array('wp-blocks','wp-editor', 'wp-components', 'wp-i18n', 'cx-vue'),
JET_GRID_BUILDER_VERSION,
true
);
$localized_data = array(
'api' => array(
'endpoints' => Plugin::instance()->api->get_endpoints_urls(),
),
'plugins_exist' => array(
'jetengine' => class_exists( 'Jet_Engine' ),
'woocommerce' => class_exists( 'WooCommerce' ),
'jetwoobuilder' => class_exists( 'Jet_Woo_Builder' ),
),
'blocks_options' => array(
'items_type' => Plugin::instance()->get_items_type_options(),
'thumbnail_sizes' => Plugin::instance()->get_img_sizes()
)
);
if ( class_exists( 'Jet_Engine' ) ) {
$localized_data['blocks_options']['jetengine_listings'] = Plugin::instance()->get_jet_engine_listings_options();
}
if ( Plugin::instance()->has_elementor() && class_exists( 'WooCommerce' ) && class_exists( 'Jet_Woo_Builder' ) ) {
$localized_data['blocks_options']['woo_items_types'] = Plugin::instance()->get_woo_items_type_options();
$localized_data['blocks_options']['jetwoobuilder_listings'] = Plugin::instance()->get_jet_woo_builder_archive_options();
}
wp_localize_script( 'jgb-blocks-grid-builder-script', 'jgbSettings', $localized_data );
}
}