From 7f850e24be0ee50f6f7481b29aa3f7723a414117 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Fri, 5 Jan 2024 12:58:54 +0100 Subject: [PATCH] Revert "Squash merge of #57437 for testing viewModule" This reverts commit 9e6dfedfedf9ab805ded41d14045091304755e34. --- .../modules/class-gutenberg-modules.php | 168 ------------------ 1 file changed, 168 deletions(-) diff --git a/lib/experimental/modules/class-gutenberg-modules.php b/lib/experimental/modules/class-gutenberg-modules.php index 2a575b28556c7..0a2da03545776 100644 --- a/lib/experimental/modules/class-gutenberg-modules.php +++ b/lib/experimental/modules/class-gutenberg-modules.php @@ -274,171 +274,3 @@ function gutenberg_dequeue_module( $module_identifier ) { // Prints the script that loads the import map polyfill in the footer. add_action( 'wp_footer', array( 'Gutenberg_Modules', 'print_import_map_polyfill' ), 11 ); - -function gutenberg_filter_block_type_metadata_settings_register_modules( $settings, $metadata = null ) { - $module_fields = array( - 'editorModule' => 'editor_module_handles', - 'module' => 'module_handles', - 'viewModule' => 'view_module_handles', - ); - foreach ( $module_fields as $metadata_field_name => $settings_field_name ) { - - if ( ! empty( $settings[ $metadata_field_name ] ) ) { - $metadata[ $metadata_field_name ] = $settings[ $metadata_field_name ]; - } - if ( ! empty( $metadata[ $metadata_field_name ] ) ) { - $modules = $metadata[ $metadata_field_name ]; - $processed_modules = array(); - if ( is_array( $modules ) ) { - for ( $index = 0; $index < count( $modules ); $index++ ) { - $processed_modules[] = gutenberg_register_block_module_handle( - $metadata, - $metadata_field_name, - $index - ); - } - } else { - $processed_modules[] = gutenberg_register_block_module_handle( - $metadata, - $metadata_field_name - ); - } - $settings[ $settings_field_name ] = $processed_modules; - } - } - - return $settings; -} - -add_filter( 'block_type_metadata_settings', 'gutenberg_filter_block_type_metadata_settings_register_modules', 10, 2 ); - -function gutenberg_filter_render_block_enqueue_view_modules( $block_content, $parsed_block, $block_instance ) { - $block_type = $block_instance->block_type; - - if ( ! empty( $block_type->module_handles ) ) { - foreach ( $block_type->module_handles as $module_id ) { - gutenberg_enqueue_module( $module_id ); - } - } - - if ( ! empty( $block_type->view_module_handles ) ) { - foreach ( $block_type->view_module_handles as $module_id ) { - gutenberg_enqueue_module( $module_id ); - } - } - - return $block_content; -} - -add_filter( 'render_block', 'gutenberg_filter_render_block_enqueue_view_modules', 10, 3 ); - -/** - * Finds a module ID for the selected block metadata field. It detects - * when a path to file was provided and finds a corresponding asset file - * with details necessary to register the module under an automatically - * generated module ID. - * - * @param array $metadata Block metadata. - * @param string $field_name Field name to pick from metadata. - * @param int $index Optional. Index of the script to register when multiple items passed. - * Default 0. - * @return string Module ID. - */ -function gutenberg_register_block_module_handle( $metadata, $field_name, $index = 0 ) { - if ( empty( $metadata[ $field_name ] ) ) { - return false; - } - - $module_id = $metadata[ $field_name ]; - if ( is_array( $module_id ) ) { - if ( empty( $module_id[ $index ] ) ) { - return false; - } - $module_id = $module_id[ $index ]; - } - - $module_path = remove_block_asset_path_prefix( $module_id ); - if ( $module_id === $module_path ) { - return $module_id; - } - - $path = dirname( $metadata['file'] ); - $module_asset_raw_path = $path . '/' . substr_replace( $module_path, '.asset.php', - strlen( '.js' ) ); - $module_id = gutenberg_generate_block_asset_module_id( $metadata['name'], $field_name, $index ); - $module_asset_path = wp_normalize_path( - realpath( $module_asset_raw_path ) - ); - - if ( empty( $module_asset_path ) ) { - _doing_it_wrong( - __FUNCTION__, - sprintf( - // This is a translation from core. See `register_block_script_handle`jk. - __( 'The asset file (%1$s) for the "%2$s" defined in "%3$s" block definition is missing.', 'default' ), - $module_asset_raw_path, - $field_name, - $metadata['name'] - ), - '6.5.0' - ); - return false; - } - - $module_path_norm = wp_normalize_path( realpath( $path . '/' . $module_path ) ); - $module_uri = get_block_asset_url( $module_path_norm ); - $module_asset = require $module_asset_path; - $module_dependencies = isset( $module_asset['dependencies'] ) ? $module_asset['dependencies'] : array(); - - gutenberg_register_module( - $module_id, - $module_uri, - $module_dependencies, - isset( $module_asset['version'] ) ? $module_asset['version'] : false - ); - - // @todo This in_array may not work with module_dependencies. - // @todo @wordpress/i18n isn't module compatible anyways… - // if ( ! empty( $metadata['textdomain'] ) && in_array( '@wordpress/i18n', $module_dependencies, true ) ) { - // wp_set_script_translations( $module_id, $metadata['textdomain'] ); - // } - - return $module_id; -} - -/** - * Generates the module ID for an asset based on the name of the block - * and the field name provided. - * - * @param string $block_name Name of the block. - * @param string $field_name Name of the metadata field. - * @param int $index Optional. Index of the asset when multiple items passed. - * Default 0. - * @return string Generated module ID for the block's field. - */ -function gutenberg_generate_block_asset_module_id( $block_name, $field_name, $index = 0 ) { - if ( str_starts_with( $block_name, 'core/' ) ) { - $asset_handle = str_replace( 'core/', 'wp-block-', $block_name ); - if ( str_starts_with( $field_name, 'editor' ) ) { - $asset_handle .= '-editor'; - } - if ( str_starts_with( $field_name, 'view' ) ) { - $asset_handle .= '-view'; - } - if ( $index > 0 ) { - $asset_handle .= '-' . ( $index + 1 ); - } - return $asset_handle; - } - - $field_mappings = array( - 'editorModule' => 'editor-module', - 'module' => 'module', - 'viewModule' => 'view-module', - ); - $asset_handle = str_replace( '/', '-', $block_name ) . - '-' . $field_mappings[ $field_name ]; - if ( $index > 0 ) { - $asset_handle .= '-' . ( $index + 1 ); - } - return $asset_handle; -}