Skip to content

Commit

Permalink
Plugin: Move the logic for iframed editor to WP 6.0 compat (#40278)
Browse files Browse the repository at this point in the history
  • Loading branch information
gziolo authored Apr 13, 2022
1 parent eb61ff9 commit 3a69baa
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 73 deletions.
73 changes: 0 additions & 73 deletions lib/client-assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -446,76 +446,3 @@ function gutenberg_register_packages_styles( $styles ) {
$styles->add_data( 'wp-widgets', 'rtl', 'replace' );
}
add_action( 'wp_default_styles', 'gutenberg_register_packages_styles' );

/**
* Sets the editor styles to be consumed by JS.
*/
function gutenberg_resolve_assets() {
global $pagenow;

$script_handles = array();
$style_handles = array(
'wp-block-editor',
'wp-block-library',
'wp-block-library-theme',
'wp-edit-blocks',
);

if ( 'widgets.php' === $pagenow || 'customize.php' === $pagenow ) {
$style_handles[] = 'wp-widgets';
$style_handles[] = 'wp-edit-widgets';
}

$block_registry = WP_Block_Type_Registry::get_instance();

foreach ( $block_registry->get_all_registered() as $block_type ) {
if ( ! empty( $block_type->style ) ) {
$style_handles[] = $block_type->style;
}

if ( ! empty( $block_type->editor_style ) ) {
$style_handles[] = $block_type->editor_style;
}

if ( ! empty( $block_type->script ) ) {
$script_handles[] = $block_type->script;
}
}

$style_handles = array_unique( $style_handles );
$done = wp_styles()->done;

ob_start();

// We do not need reset styles for the iframed editor.
wp_styles()->done = array( 'wp-reset-editor-styles' );
wp_styles()->do_items( $style_handles );
wp_styles()->done = $done;

$styles = ob_get_clean();

$script_handles = array_unique( $script_handles );
$done = wp_scripts()->done;

ob_start();

wp_scripts()->done = array();
wp_scripts()->do_items( $script_handles );
wp_scripts()->done = $done;

$scripts = ob_get_clean();

return array(
'styles' => $styles,
'scripts' => $scripts,
);
}

add_filter(
'block_editor_settings_all',
function( $settings ) {
// In the future we can allow WP Dependency handles to be passed.
$settings['__unstableResolvedAssets'] = gutenberg_resolve_assets();
return $settings;
}
);
73 changes: 73 additions & 0 deletions lib/compat/wordpress-6.0/client-assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,76 @@ function gutenberg_register_vendor_scripts( $scripts ) {
);
}
add_action( 'wp_default_scripts', 'gutenberg_register_vendor_scripts' );

/**
* Sets the editor styles to be consumed by JS.
*/
function gutenberg_resolve_assets() {
global $pagenow;

$script_handles = array();
$style_handles = array(
'wp-block-editor',
'wp-block-library',
'wp-block-library-theme',
'wp-edit-blocks',
);

if ( 'widgets.php' === $pagenow || 'customize.php' === $pagenow ) {
$style_handles[] = 'wp-widgets';
$style_handles[] = 'wp-edit-widgets';
}

$block_registry = WP_Block_Type_Registry::get_instance();

foreach ( $block_registry->get_all_registered() as $block_type ) {
if ( ! empty( $block_type->style ) ) {
$style_handles[] = $block_type->style;
}

if ( ! empty( $block_type->editor_style ) ) {
$style_handles[] = $block_type->editor_style;
}

if ( ! empty( $block_type->script ) ) {
$script_handles[] = $block_type->script;
}
}

$style_handles = array_unique( $style_handles );
$done = wp_styles()->done;

ob_start();

// We do not need reset styles for the iframed editor.
wp_styles()->done = array( 'wp-reset-editor-styles' );
wp_styles()->do_items( $style_handles );
wp_styles()->done = $done;

$styles = ob_get_clean();

$script_handles = array_unique( $script_handles );
$done = wp_scripts()->done;

ob_start();

wp_scripts()->done = array();
wp_scripts()->do_items( $script_handles );
wp_scripts()->done = $done;

$scripts = ob_get_clean();

return array(
'styles' => $styles,
'scripts' => $scripts,
);
}

add_filter(
'block_editor_settings_all',
function( $settings ) {
// In the future we can allow WP Dependency handles to be passed.
$settings['__unstableResolvedAssets'] = gutenberg_resolve_assets();
return $settings;
}
);

0 comments on commit 3a69baa

Please sign in to comment.