Editor.php
59 lines
| 1 | <?php |
| 2 | |
| 3 | namespace WPDesk\FCF\Free\Blocks; |
| 4 | |
| 5 | use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable; |
| 6 | use FcfVendor\WPDesk\PluginBuilder\Plugin\HookablePluginDependant; |
| 7 | use FcfVendor\WPDesk\PluginBuilder\Plugin\PluginAccess; |
| 8 | |
| 9 | class Editor implements Hookable, HookablePluginDependant { |
| 10 | |
| 11 | use PluginAccess; |
| 12 | |
| 13 | private const HANDLE_CSS = 'fcf-block-editor-css'; |
| 14 | private const HANDLE_JS = 'fcf-block-editor-js'; |
| 15 | |
| 16 | public function hooks() { |
| 17 | add_action( 'enqueue_block_editor_assets', [ $this, 'load_assets_for_blocks' ] ); |
| 18 | } |
| 19 | |
| 20 | public function load_assets_for_blocks(): void { |
| 21 | $is_debug = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ); |
| 22 | $version = $is_debug ? time() : $this->plugin->get_script_version(); |
| 23 | $assets = trailingslashit( $this->plugin->get_plugin_assets_url() ); |
| 24 | $suffix = $is_debug ? '.js' : '.min.js'; |
| 25 | |
| 26 | add_thickbox(); |
| 27 | |
| 28 | wp_register_style( |
| 29 | self::HANDLE_CSS, |
| 30 | $assets . 'css/admin-blocks.css', |
| 31 | [ 'wp-edit-blocks' ], |
| 32 | $version |
| 33 | ); |
| 34 | wp_enqueue_style( self::HANDLE_CSS ); |
| 35 | |
| 36 | wp_register_script( |
| 37 | self::HANDLE_JS, |
| 38 | $assets . 'js/admin-blocks' . $suffix, |
| 39 | [ 'wp-blocks', 'wp-element', 'wp-components', 'wp-compose', 'wp-hooks', 'wp-i18n', 'wp-block-editor' ], |
| 40 | $version, |
| 41 | true |
| 42 | ); |
| 43 | |
| 44 | wp_localize_script( |
| 45 | self::HANDLE_JS, |
| 46 | 'fcf_block_data', |
| 47 | [ |
| 48 | 'message' => __( 'The plugin does not work with the default WooCommerce checkout. Install Checkout Fields for Blocks to handle blocks.', 'flexible-checkout-fields' ), |
| 49 | 'button_text' => __( 'Plugin Details', 'flexible-checkout-fields' ), |
| 50 | |
| 51 | 'plugin_slug' => 'checkout-fields-for-blocks', |
| 52 | 'admin_url' => admin_url( 'plugin-install.php' ), |
| 53 | ] |
| 54 | ); |
| 55 | |
| 56 | wp_enqueue_script( self::HANDLE_JS ); |
| 57 | } |
| 58 | } |
| 59 |