WordPress/wp-admin
Weston Ruter 9546303342 Customize: Improve handling of active state for dynamically-created controls/sections/panels.
When a customizer construct (panel, section, control) is not added in PHP, the JS has interpreted this to mean that a given construct should be deactivated (because it is gone). This is problematic for dynamically-created constructs in JS, as it has meant that the construct would also have to be created in PHP to ensure the `active` callback is called, or else a hack would be required to add a `construct.active.validate = function() { return true };` to forcibly prevent the construct from getting deactivated. 

These workarounds can be eliminated by treating constructs differently when they are created dynamically in JS (after page load) as opposed to being created statically in PHP (on the server). Namely, if a construct is dynamically-created then its absence in a preview refresh should not signal that the construct should be deactivated. Rather, a dynamic construct should only have its activation state toggled if it has a corresponding construct created in PHP when the preview refreshes to explicitly indicate its `active` state. Otherwise, the management of the `active` state for a construct created in JS should also be the responsibility of client-side code.

Props westonruter, sayedwp.
Fixes #37270.

Built from https://develop.svn.wordpress.org/trunk@38464


git-svn-id: http://core.svn.wordpress.org/trunk@38405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 06:22:23 +00:00
..
css Customize: Allow users to more seamlessly create page-based nav menus during customization. 2016-08-29 22:59:28 +00:00
images Customize: Add a RTL version of "browser.png" for the site icon preview. 2016-07-05 11:32:29 +00:00
includes Press This: in `get_shortcut_link()`, just check a class constant on `WP_Press_This` instead of instantiating the object and reading an instance prop. 2016-08-31 06:08:00 +00:00
js Customize: Improve handling of active state for dynamically-created controls/sections/panels. 2016-08-31 06:22:23 +00:00
maint I18N: Make the translator comment added in [37858] more explicit and consistent with other similar instances. 2016-07-04 13:10:30 +00:00
network I18N: Replace unnecessary context with a translator comment for `%s KB` string on Network Settings screen. 2016-08-23 00:11:28 +00:00
user Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP. 2016-05-22 18:01:30 +00:00
about.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
admin-ajax.php TinyMCE, inline link: 2016-07-26 23:24:28 +00:00
admin-footer.php Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation. 2016-08-22 18:25:31 +00:00
admin-functions.php Docs: Use 3-digit, x.x.x-style semantic versioning for `_doing_it_wrong()`, `_deprecated_function()`, `_deprecated_argument()`, and `_deprecated_file()` throughout core. 2016-07-06 12:40:29 +00:00
admin-header.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
admin-post.php Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective). 2016-02-25 12:53:27 +00:00
admin.php Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation. 2016-08-22 18:25:31 +00:00
async-upload.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
comment.php I18N: Correct various instances of incorrect usage of `esc_attr_e()`. 2016-08-28 18:06:30 +00:00
credits.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
custom-background.php Docs: Standardize capitalization of Ajax throughout core documentation per the core spelling guide. 2016-07-10 00:51:30 +00:00
custom-header.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
customize.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
edit-comments.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
edit-form-advanced.php Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation. 2016-08-22 18:25:31 +00:00
edit-form-comment.php DOCS: Replace HTTP links with HTTPS. 2016-06-10 04:50:33 +00:00
edit-link-form.php Bump H3 headings to H2 on the legacy Link Manager screen for better accessibility. 2015-10-14 17:32:24 +00:00
edit-tag-form.php I18N: Add context and translator comments to `Back to %s` strings. 2016-06-14 21:51:28 +00:00
edit-tags.php Text Changes: Add a full stop to "Invalid taxonomy" and "Invalid term ID" strings, for consistency with similar post-related messages. 2016-07-17 16:15:34 +00:00
edit.php I18N: Combine two duplicate "Invalid post type" strings. 2016-07-17 16:05:31 +00:00
export.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
freedoms.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
import.php Import: Enhance accessibility on the Import screen. 2016-07-17 15:32:30 +00:00
index.php Update/Install: Fix plugin updates from the details modal on the Dashboard. 2016-07-05 15:37:28 +00:00
install-helper.php Docs: Add missing descriptions for the `$wpdb` global in DocBlocks all the places. 2015-10-14 23:44:25 +00:00
install.php Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399. 2016-08-27 22:32:37 +00:00
link-add.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
link-manager.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
link-parse-opml.php Add `@global` annotations for `wp-admin/*`. 2015-05-28 21:41:30 +00:00
link.php Docs: Standardize capitalization of Ajax throughout core documentation per the core spelling guide. 2016-07-10 00:51:30 +00:00
load-scripts.php Script Loader: autoload in `load-{scripts|styles}.php`. 2016-08-28 00:07:33 +00:00
load-styles.php Script Loader: autoload in `load-{scripts|styles}.php`. 2016-08-28 00:07:33 +00:00
media-new.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
media-upload.php Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation. 2016-08-22 18:25:31 +00:00
media.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
menu-header.php Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP. 2016-05-22 18:01:30 +00:00
menu.php Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs. 2016-05-13 18:41:31 +00:00
moderation.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-admin.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-delete-site.php Multisite: Use `hash_equals()` when comparing hashes to mitigate timing attacks. 2016-07-10 19:43:28 +00:00
ms-edit.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-options.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-sites.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-themes.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-upgrade-network.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
ms-users.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
my-sites.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
nav-menus.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
network.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
options-discussion.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
options-general.php Multisite: Add a nonce to the "Cancel" URL when changing a site's admin email. 2016-07-07 17:13:27 +00:00
options-head.php Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs. 2016-05-13 18:41:31 +00:00
options-media.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
options-permalink.php Permalinks: Rename `$usingpi` to `$using_index_permalinks` for clarity. 2016-07-16 12:46:29 +00:00
options-reading.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
options-writing.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
options.php Multisite: Use `hash_equals()` when comparing hashes to mitigate timing attacks. 2016-07-10 19:43:28 +00:00
plugin-editor.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
plugin-install.php I18N: Allow for WordPress Plugin/Theme Directory URLs to be localized. 2016-08-23 01:19:39 +00:00
plugins.php I18N: Allow for WordPress Plugin/Theme Directory URLs to be localized. 2016-08-23 01:19:39 +00:00
post-new.php I18N: Combine two duplicate "Invalid post type" strings. 2016-07-17 16:05:31 +00:00
post.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
press-this.php Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399. 2016-08-27 22:32:37 +00:00
profile.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
revision.php Revisions: Allow autosaves to be restored when revisions are disabled. 2016-07-08 01:16:31 +00:00
setup-config.php I18N: Correct various instances of incorrect usage of `esc_attr_e()`. 2016-08-28 18:06:30 +00:00
term.php On term.php, use `$taxnow` when fetching currently edited term. 2016-07-16 18:37:30 +00:00
theme-editor.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
theme-install.php I18N: After [38057], consistently use a context for other instances of `Activate %s`, `Network Activate %s`, and `Delete %s` strings. 2016-07-16 23:20:29 +00:00
themes.php I18N: Allow for WordPress Plugin/Theme Directory URLs to be localized. 2016-08-23 01:19:39 +00:00
tools.php Bump H3 headings to H2 on Tools screen for better accessibility. 2015-08-31 03:32:21 +00:00
update-core.php General: use `get_bloginfo( 'version' )` instead of `global $wp_version` in several locations - excluding those locations which reload `version.php` mid-flight. 2016-08-31 05:49:37 +00:00
update.php Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399. 2016-08-27 22:32:37 +00:00
upgrade-functions.php Docs: Use 3-digit, x.x.x-style semantic versioning for `_doing_it_wrong()`, `_deprecated_function()`, `_deprecated_argument()`, and `_deprecated_file()` throughout core. 2016-07-06 12:40:29 +00:00
upgrade.php Install/Upgrade: Keep indexing bots away until a site is ready to be seen. 2015-12-08 21:56:27 +00:00
upload.php Text Changes: Remove duplicate string, use the one we already have. 2016-07-04 21:48:28 +00:00
user-edit.php Users: Check zxcvbn is defined before calling. 2016-07-01 12:45:29 +00:00
user-new.php I18N: Remove unnecessary context for two strings on "Add New User" screen. 2016-08-23 12:54:31 +00:00
users.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00
widgets.php Text Changes: Unify permission error messages. 2016-06-29 15:16:29 +00:00