PluginProbe
Gutenberg / 19.3.0
Gutenberg v19.3.0
23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 7.4.0 All 402 releases
gutenberg / lib / interactivity-api.php

interactivity-api.php in Gutenberg 19.3.0, at lib/interactivity-api.php

65 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Interactivity API functions specific for the Gutenberg editor plugin.
4 *
5 * @package gutenberg
6 */
7
8 /**
9 * Deregisters the Core Interactivity API Modules and replace them
10 * with the ones from the Gutenberg plugin.
11 */
12 function gutenberg_reregister_interactivity_script_modules() {
13 $default_version = defined( 'GUTENBERG_VERSION' ) && ! SCRIPT_DEBUG ? GUTENBERG_VERSION : time();
14 wp_deregister_script_module( '@wordpress/interactivity' );
15 wp_deregister_script_module( '@wordpress/interactivity-router' );
16
17 wp_register_script_module(
18 '@wordpress/interactivity',
19 gutenberg_url( '/build-module/' . ( SCRIPT_DEBUG ? 'interactivity/debug.min.js' : 'interactivity/index.min.js' ) ),
20 array(),
21 $default_version
22 );
23
24 wp_register_script_module(
25 '@wordpress/interactivity-router',
26 gutenberg_url( '/build-module/interactivity-router/index.min.js' ),
27 array(
28 array(
29 'id' => '@wordpress/a11y',
30 'import' => 'dynamic',
31 ),
32 '@wordpress/interactivity',
33 ),
34 $default_version
35 );
36 }
37 add_action( 'init', 'gutenberg_reregister_interactivity_script_modules' );
38
39 /**
40 * Adds script data to the interactivity-router script module.
41 *
42 * This filter is registered conditionally anticipating a WordPress Core change to add the script module data.
43 * The filter runs on 'after_setup_theme' (when Core registers Interactivity and Script Modules hooks)
44 * to ensure that the conditional registration happens after Core and correctly determine whether
45 * the filter should be added.
46 *
47 * @see https://github.com/WordPress/wordpress-develop/pull/7304
48 */
49 function gutenberg_register_interactivity_script_module_data_hooks() {
50 if ( ! has_filter( 'script_module_data_@wordpress/interactivity-router', array( wp_interactivity(), 'filter_script_module_interactivity_router_data' ) ) ) {
51 add_filter(
52 'script_module_data_@wordpress/interactivity-router',
53 function ( $data ) {
54 if ( ! isset( $data['i18n'] ) ) {
55 $data['i18n'] = array();
56 }
57 $data['i18n']['loading'] = __( 'Loading page, please wait.', 'default' );
58 $data['i18n']['loaded'] = __( 'Page Loaded.', 'default' );
59 return $data;
60 }
61 );
62 }
63 }
64 add_action( 'after_setup_theme', 'gutenberg_register_interactivity_script_module_data_hooks', 20 );
65