/** * Enqueue the styles and scripts for the builder interface. * * @since 1.0 * @return void */ public static function styles_scripts() { if (FLBuilderModel::is_builder_active()) { $ver = FL_BUILDER_VERSION; $css_url = plugins_url('/css/', FL_BUILDER_FILE); $js_url = plugins_url('/js/', FL_BUILDER_FILE); /* We have a custom version of sortable that fixes a bug. */ wp_deregister_script('jquery-ui-sortable'); /* Frontend builder styles */ wp_enqueue_style('dashicons'); wp_enqueue_style('font-awesome'); wp_enqueue_style('foundation-icons'); wp_enqueue_style('jquery-nanoscroller', $css_url . 'jquery.nanoscroller.css', array(), $ver); wp_enqueue_style('jquery-autosuggest', $css_url . 'jquery.autoSuggest.min.css', array(), $ver); wp_enqueue_style('jquery-tiptip', $css_url . 'jquery.tiptip.css', array(), $ver); wp_enqueue_style('bootstrap-tour', $css_url . 'bootstrap-tour-standalone.min.css', array(), $ver); wp_enqueue_style('fl-color-picker', $css_url . 'fl-color-picker.css', array(), $ver); wp_enqueue_style('fl-lightbox', $css_url . 'fl-lightbox.css', array(), $ver); wp_enqueue_style('fl-icon-selector', $css_url . 'fl-icon-selector.css', array(), $ver); wp_enqueue_style('fl-builder', $css_url . 'fl-builder.css', array(), $ver); /* Custom Icons */ FLBuilderIcons::enqueue_all_custom_icons_styles(); /* RTL Support */ if (is_rtl()) { wp_enqueue_style('fl-builder-rtl', $css_url . 'fl-builder-rtl.css', array(), $ver); } /* Frontend builder scripts */ wp_enqueue_media(); wp_enqueue_script('heartbeat'); wp_enqueue_script('wpdialogs'); wp_enqueue_script('wpdialogs-popup'); wp_enqueue_script('wplink'); wp_enqueue_script('editor'); wp_enqueue_script('quicktags'); wp_enqueue_script('json2'); wp_enqueue_script('jquery-ui-droppable'); wp_enqueue_script('jquery-ui-draggable'); wp_enqueue_script('jquery-ui-slider'); wp_enqueue_script('jquery-ui-widget'); wp_enqueue_script('jquery-ui-position'); wp_enqueue_script('jquery-ui-sortable', $js_url . 'jquery.ui.sortable.js', array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse'), $ver, true); wp_enqueue_script('jquery-nanoscroller', $js_url . 'jquery.nanoscroller.min.js', array(), $ver, true); wp_enqueue_script('jquery-autosuggest', $js_url . 'jquery.autoSuggest.min.js', array(), $ver, true); wp_enqueue_script('jquery-tiptip', $js_url . 'jquery.tiptip.min.js', array(), $ver, true); wp_enqueue_script('jquery-simulate', $js_url . 'jquery.simulate.js', array(), $ver, true); wp_enqueue_script('jquery-validate', $js_url . 'jquery.validate.min.js', array(), $ver, true); wp_enqueue_script('bootstrap-tour', $js_url . 'bootstrap-tour-standalone.min.js', array(), $ver, true); wp_enqueue_script('ace', $js_url . 'ace/ace.js', array(), $ver, true); wp_enqueue_script('fl-color-picker', $js_url . 'fl-color-picker.js', array('jquery', 'jquery-ui-position'), $ver, true); wp_enqueue_script('fl-lightbox', $js_url . 'fl-lightbox.js', array(), $ver, true); wp_enqueue_script('fl-icon-selector', $js_url . 'fl-icon-selector.js', array(), $ver, true); wp_enqueue_script('fl-stylesheet', $js_url . 'fl-stylesheet.js', array(), $ver, true); wp_enqueue_script('fl-builder', $js_url . 'fl-builder.js', array(), $ver, true); wp_enqueue_script('fl-builder-preview', $js_url . 'fl-builder-preview.js', array(), $ver, true); wp_enqueue_script('fl-builder-services', $js_url . 'fl-builder-services.js', array(), $ver, true); wp_enqueue_script('fl-builder-tour', $js_url . 'fl-builder-tour.js', array(), $ver, true); /* Core template settings */ if (file_exists(FL_BUILDER_DIR . 'js/fl-builder-template-settings.js')) { wp_enqueue_script('fl-builder-template-settings', FL_BUILDER_URL . 'js/fl-builder-template-settings.js', array(), $ver, true); } /* Additional module styles and scripts */ foreach (FLBuilderModel::$modules as $module) { $module->enqueue_scripts(); foreach ($module->css as $handle => $props) { wp_enqueue_style($handle, $props[0], $props[1], $props[2], $props[3]); } foreach ($module->js as $handle => $props) { wp_enqueue_script($handle, $props[0], $props[1], $props[2], $props[3]); } } } }