WordPress/wp-admin/js
Weston Ruter 208330f2dc Customizer: Defer embedding widget controls to improve DOM performance and initial load time.
The Menu Customizer feature includes a performance technique whereby the controls for nav menu items are only embedded into the DOM once the containing menu section is expanded. This commit implements the same DOM deferral for widgets but goes a step further than just embedding the controls once the widget area's Customizer section is expanded: it also defers the embedding of the widget control's form until the widget is expanded, at which point the `widget-added` event also fires to allow any additional widget initialization to be done. The deferred DOM embedding can speed up initial load time by 10x or more. This DOM deferral also yields a reduction in overall memory usage in the browser process.

Includes changes to `wp_widget_control()` to facilitate separating out the widget form from the surrounding accordion container; also includes unit tests for this previously-untested function. Also included are initial QUnit tests (finally) for widgets in the Customizer.

Fixes #33901.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 21:02:27 +00:00
..
accordion.js Menu customizer: More clearly separate search results from available items. 2015-07-29 23:40:25 +00:00
accordion.min.js Menu customizer: More clearly separate search results from available items. 2015-07-29 23:40:25 +00:00
bookmarklet.js Press This: Check the embeds list against all of the oembed providers. 2015-06-18 00:12:26 +00:00
bookmarklet.min.js Press This: Check the embeds list against all of the oembed providers. 2015-06-18 00:12:26 +00:00
color-picker.js Color Picker: Allow to override `mode` and `width` values for Iris via wpColorPicker options. 2014-11-13 12:34:23 +00:00
color-picker.min.js Color Picker: Allow to override `mode` and `width` values for Iris via wpColorPicker options. 2014-11-13 12:34:23 +00:00
comment.js Comment status box: Move focus back to Edit link when changing the date. 2015-07-26 02:26:24 +00:00
comment.min.js Comment status box: Move focus back to Edit link when changing the date. 2015-07-26 02:26:24 +00:00
common.js Admin: when toggling select/deselect "all" via JS - `:visible` needs to be bound to not toggle disabled inputs. 2015-09-19 16:41:24 +00:00
common.min.js Admin: when toggling select/deselect "all" via JS - `:visible` needs to be bound to not toggle disabled inputs. 2015-09-19 16:41:24 +00:00
custom-background.js Fix JSHint errors in custom-header.js and custom-background.js. 2013-11-14 05:40:11 +00:00
custom-background.min.js Update the versions of several `devDependencies` in `package.json`. `grunt-cssjanus` has been updated to `0.2.2`, we no longer need the fork. Run `npm install` to receive updates for `node_modules` in the project root. 2014-01-29 04:43:30 +00:00
custom-header.js Fix JSHint errors in custom-header.js and custom-background.js. 2013-11-14 05:40:11 +00:00
customize-controls.js Customizer: Fix usage of `jQuery.contains()` allowing `active` state changes to again animate control visibility. 2015-09-25 19:54:50 +00:00
customize-controls.min.js Customizer: Fix usage of `jQuery.contains()` allowing `active` state changes to again animate control visibility. 2015-09-25 19:54:50 +00:00
customize-nav-menus.js Customizer: Prevent JS error during init when `nav_menus` panel is removed by plugin. 2015-08-26 06:43:22 +00:00
customize-nav-menus.min.js Customizer: Prevent JS error during init when `nav_menus` panel is removed by plugin. 2015-08-26 06:43:22 +00:00
customize-widgets.js Customizer: Defer embedding widget controls to improve DOM performance and initial load time. 2015-09-25 21:02:27 +00:00
customize-widgets.min.js Customizer: Defer embedding widget controls to improve DOM performance and initial load time. 2015-09-25 21:02:27 +00:00
dashboard.js Fix dragging to the bottom of the screen on the Dashboard. 2015-05-14 23:50:28 +00:00
dashboard.min.js Fix dragging to the bottom of the screen on the Dashboard. 2015-05-14 23:50:28 +00:00
edit-comments.js Comments List Table: after [34179], scope the `<th>`s and `<td>`s as direct descendants of their parent row. 2015-09-25 02:21:26 +00:00
edit-comments.min.js Comments List Table: after [34179], scope the `<th>`s and `<td>`s as direct descendants of their parent row. 2015-09-25 02:21:26 +00:00
editor-expand.js Emoji: rename the exclude class to wp-exclude-emoji. 2015-05-04 00:05:28 +00:00
editor-expand.min.js Update Grunt dev-dependencies 2015-06-28 14:51:30 +00:00
editor.js Fix creating of extra `<br />` tags in both PHP and JS variants of wpautop(). Add PHP tests to catch similar problems in the future. 2015-08-17 17:36:24 +00:00
editor.min.js Fix creating of extra `<br />` tags in both PHP and JS variants of wpautop(). Add PHP tests to catch similar problems in the future. 2015-08-17 17:36:24 +00:00
farbtastic.js Farbtastic 1.3u. Props flashingcursor. fixes #14707 2010-11-11 16:34:22 +00:00
gallery.js Fix JSHint errors in gallery.js. 2013-11-19 11:10:09 +00:00
gallery.min.js Update the versions of several `devDependencies` in `package.json`. `grunt-cssjanus` has been updated to `0.2.2`, we no longer need the fork. Run `npm install` to receive updates for `node_modules` in the project root. 2014-01-29 04:43:30 +00:00
image-edit.js Spinners: Toggle a class instead of show/hide. 2015-04-03 04:52:27 +00:00
image-edit.min.js Spinners: Toggle a class instead of show/hide. 2015-04-03 04:52:27 +00:00
inline-edit-post.js Quick Edit: fix the Tags auto-suggest tooltip visibility. 2015-09-11 23:34:25 +00:00
inline-edit-post.min.js Quick Edit: fix the Tags auto-suggest tooltip visibility. 2015-09-11 23:34:25 +00:00
inline-edit-tax.js Bulk/quick edit: Set the correct colspan. 2015-07-01 01:06:25 +00:00
inline-edit-tax.min.js Bulk/quick edit: Set the correct colspan. 2015-07-01 01:06:25 +00:00
iris.min.js Update the Iris color picker to version 1.0.7. 2014-11-30 11:44:22 +00:00
language-chooser.js Language chooser imporvements. 2014-08-04 20:47:16 +00:00
language-chooser.min.js Language chooser imporvements. 2014-08-04 20:47:16 +00:00
link.js Fix JSHint errors in 5 files. 2013-11-15 05:16:09 +00:00
link.min.js Temporarily remove CSS preprocessing until we can get our Ruby dependency sorted out. 2013-11-13 21:45:11 +00:00
list-table.js List Tables: add JS code to dynamically toggle the `disabled` attribute of the Bulk Actions dropdown and Apply button. 2015-09-24 01:07:24 +00:00
list-table.min.js List Tables: add JS code to dynamically toggle the `disabled` attribute of the Bulk Actions dropdown and Apply button. 2015-09-24 01:07:24 +00:00
media-gallery.js Fix JSHint errors in three files. 2013-11-15 23:19:09 +00:00
media-gallery.min.js Temporarily remove CSS preprocessing until we can get our Ruby dependency sorted out. 2013-11-13 21:45:11 +00:00
media-upload.js The "old iframe media modal" has some pretty busted styles. Although this is a "deprecated" feature, clean up some of the broken styles. 2014-06-25 17:39:15 +00:00
media-upload.min.js The "old iframe media modal" has some pretty busted styles. Although this is a "deprecated" feature, clean up some of the broken styles. 2014-06-25 17:39:15 +00:00
media.js Spinners: Toggle a class instead of show/hide. 2015-04-03 04:52:27 +00:00
media.min.js Spinners: Toggle a class instead of show/hide. 2015-04-03 04:52:27 +00:00
nav-menu.js Nav menus: Adjust redundant titles in accessibility helpers. 2015-08-04 04:53:44 +00:00
nav-menu.min.js Nav menus: Adjust redundant titles in accessibility helpers. 2015-08-04 04:53:44 +00:00
password-strength-meter.js Fix JSHint errors in 3 files. 2013-11-15 05:12:09 +00:00
password-strength-meter.min.js Fix JSHint errors in 3 files. 2013-11-15 05:12:09 +00:00
plugin-install.js Plugins list table: Make selector for Details links more specific to prevent the Description header from being announced as "clickable". 2015-07-28 14:50:25 +00:00
plugin-install.min.js Plugins list table: Make selector for Details links more specific to prevent the Description header from being announced as "clickable". 2015-07-28 14:50:25 +00:00
post.js Turn off `autocomplete` for the `new-post-slug` field. 2015-09-14 02:03:25 +00:00
post.min.js Turn off `autocomplete` for the `new-post-slug` field. 2015-09-14 02:03:25 +00:00
postbox.js Make post meta box toggles accessible. 2015-08-26 15:23:24 +00:00
postbox.min.js Make post meta box toggles accessible. 2015-08-26 15:23:24 +00:00
press-this.js Editor, Press This: force a page reload when the user publishes a post and then clicks the back button. 2015-08-31 23:08:22 +00:00
press-this.min.js Editor, Press This: force a page reload when the user publishes a post and then clicks the back button. 2015-08-31 23:08:22 +00:00
revisions.js Revisions: Fix initial state of `compareTwoMode`. 2014-12-12 09:54:25 +00:00
revisions.min.js Update Grunt dev-dependencies 2015-06-28 14:51:30 +00:00
set-post-thumbnail.js Revert a part of [32673] that caused a fatal error with `SCRIPT_DEBUG` disabled. 2015-06-01 04:14:25 +00:00
set-post-thumbnail.min.js Revert a part of [32673] that caused a fatal error with `SCRIPT_DEBUG` disabled. 2015-06-01 04:14:25 +00:00
svg-painter.js Final SVG painter fixes. 2013-12-05 22:01:10 +00:00
svg-painter.min.js Update Grunt dev-dependencies 2015-06-28 14:51:30 +00:00
tags-box.js When saving post, ensure that non-hierarchical taxonomy input is defined before attempting to parse it. 2015-03-26 01:23:28 +00:00
tags-box.min.js When saving post, ensure that non-hierarchical taxonomy input is defined before attempting to parse it. 2015-03-26 01:23:28 +00:00
tags.js Emoji: Instead of having custom hooks for Ajax callbacks, use MutationObserver to re-parse any changed elements in the DOM. 2015-03-12 12:52:26 +00:00
tags.min.js Emoji: Instead of having custom hooks for Ajax callbacks, use MutationObserver to re-parse any changed elements in the DOM. 2015-03-12 12:52:26 +00:00
theme.js Bump H3 headings to H2 on Themes screen for better accessibility. 2015-08-31 03:51:21 +00:00
theme.min.js Bump H3 headings to H2 on Themes screen for better accessibility. 2015-08-31 03:51:21 +00:00
updates.js Correct typo in JSDoc for `wp.updates.decrementCount` 2015-08-18 21:47:25 +00:00
updates.min.js Updates: When an update fails (and it's not during the credential form) allow further updates to continue, with the assumption that the error only affects a single plugin. 2015-06-15 04:28:25 +00:00
user-profile.js Profile: when clicking "Generate Password", toggling visibility, then canceling, ensure that the UI resets properly for when the "Generate Password" button is clicked again. 2015-09-25 13:54:24 +00:00
user-profile.min.js Profile: when clicking "Generate Password", toggling visibility, then canceling, ensure that the UI resets properly for when the "Generate Password" button is clicked again. 2015-09-25 13:54:24 +00:00
user-suggest.js Autocomplete for the new site admin email. Better than trying to remember which email address you used. 2014-01-27 23:10:12 +00:00
user-suggest.min.js Autocomplete for the new site admin email. Better than trying to remember which email address you used. 2014-01-27 23:10:12 +00:00
widgets.js Ensure that widget carets close when dragging an expanded widget. 2015-09-15 03:10:24 +00:00
widgets.min.js Ensure that widget carets close when dragging an expanded widget. 2015-09-15 03:10:24 +00:00
word-count.js Editor: word count: better names for types. 2015-07-27 11:19:26 +00:00
word-count.min.js Editor: word count: better names for types. 2015-07-27 11:19:26 +00:00
wp-fullscreen-stub.js Editor: 2015-06-01 17:38:29 +00:00
wp-fullscreen-stub.min.js Editor: 2015-06-01 17:38:29 +00:00
xfn.js JSHint and coding style fixes for xfn.js. 2013-11-14 21:58:10 +00:00
xfn.min.js JSHint and coding style fixes for xfn.js. 2013-11-14 21:58:10 +00:00