-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Epic: Interactivity API - public 1.0 version #56803
Copy link
Copy link
Closed
Labels
[Feature] Interactivity APIAPI to add frontend interactivity to blocks.API to add frontend interactivity to blocks.[Type] IterationScoped iteration of an effort from a tracking issue or overview issue ideally for a major release.Scoped iteration of an effort from a tracking issue or overview issue ideally for a major release.
Metadata
Metadata
Assignees
Labels
[Feature] Interactivity APIAPI to add frontend interactivity to blocks.API to add frontend interactivity to blocks.[Type] IterationScoped iteration of an effort from a tracking issue or overview issue ideally for a major release.Scoped iteration of an effort from a tracking issue or overview issue ideally for a major release.
Type
Fields
Give feedbackNo fields configured for issues without a type.
In More core blocks and new
store()API, we first worked on preparing Core blocks for WP 6.4, including the new enhanced pagination of the Query block, and after the release of WP 6.4, we also worked on the migration of the newstore()API.For this iteration of the Interactivity API, we want to focus on the preparation of a 1.0 version that can be released publicly in WordPress Core and serve as the base for future enhancements.
We also want to consolidate here the work of the Tracking Issue: Server Directive Processing to keep all the implementation work under the same issue, but we will keep tracking the documentation-related tasks in the Documentation Tracking Issue.
Tasks
This is the list of initial tasks, although we will edit this post as we progress and discover other things that we need to do.
wp-rundirectivewp-rundirective anduseInit&useWatchhooks #57805useInitanduseWatchhookswp-rundirective anduseInit&useWatchhooks #57805data-wp-on-windowanddata-wp-on-documentdirectiveswp-data-on-windowandwp-data-on-documentdirectives #57931navigation-linkdirectivewp-slotandwp-filldirectives if we don't finally need themdata-wp-slotanddata-wp-fill#57854data-wp-text, only stringswp-text#57879stateand renamepropstoattributesingetElement()#57974stateand renamepropstoattributesingetElement()#57974rolelogic in our codebasepreact,@preact/signalsanddeepsignaldependencies #57891withScopeand add support for async functions (generators)withScope()and allow to use it with asynchronous operations. #58013wp-eachwp-eachdirective #57859wp-contextsuffixdata-wp-interactive="namespace"data-wp-interactive#58743@wordpress/interactivityexportswp-bodydirectivedata-wp-body#58835wp_storeaswp_initial_statewp_initial_state()#57556navigate()issues related to initial state merges #57134core/routerstore and move thenavigateandprefecthactions there@wordpress/interactivity-routermodule #57924core/routerstore in@wordpress/interactivity/router@wordpress/interactivity-routermodule #57924data-wp-navigation-idtodata-wp-router-regiondata-wp-navigation-idwithdata-wp-router-region#58191state.urlin thecore/routerstorePopulatestate.urlfrom the servercore/routerstore in JS.config['core/router'].regionNavigation = falsedata-wp-keyto the page numbersdata-wp-keyto pagination numbers if enhanced pagination is enabled #58189clientNavigationandinteractiveto block supports metadata.block supportsforclientNavigationandinteractiveproperties onblock.jsonschema. #58132render_callbackand usewp_scripts_get_suffixdata-wp-interactive='{ "namespace": "..." }'wp_initial_state()#57556wp_initial_state()#57556wp_interactivity_process_directives()wp-eachdata-wp-each#58498data-wp-contexton PHP