Commit Graph
818 Commits
Author SHA1 Message Date
Weston Ruter fa4cd9d5e0 Customize: Fix nav menu item search after Backbone update.
Fixes regression introduced in [36546].

See #34350.


git-svn-id: https://develop.svn.wordpress.org/trunk@36675 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 05:37:04 +00:00
Weston Ruter 03360d143d Customize: Add selective refresh framework with implementation for widgets and re-implementation for nav menus.
See https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/.

Props westonruter, valendesigns, DrewAPicture, ocean90.
Fixes #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36586 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:40:06 +00:00
Dominik Schilling (ocean90) 57ebfc9b94 Themes: After [36546] restore theme search functionality.
* Correct several incorrect uses of `_.union`. Since Underscore 1.7.0 `_.union` supports only arrays and not variadic args.
* Use a namespaced event `themes:update`. Backbone 1.2 added a built in `update` event that triggers after any amount of models are added or removed from a collection.

Props adamsilverstein.
See #34350.

git-svn-id: https://develop.svn.wordpress.org/trunk@36580 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 21:20:33 +00:00
Dominik Schilling (ocean90) cc59bf5f3b Customizer: In nav menus show the location name instead of slug.
Props ryankienstra.
Fixes #34755.

git-svn-id: https://develop.svn.wordpress.org/trunk@36573 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 17:15:28 +00:00
Dominik Schilling (ocean90) 1d19617606 Updates: Prevent further actions if an update button is disabled.
Props adamsilverstein, afercia.
Fixes #35257.

git-svn-id: https://develop.svn.wordpress.org/trunk@36558 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:41:14 +00:00
Dominik Schilling (ocean90) 1750b09775 Update Backbone and Underscore to the latest versions.
Backbone, from 1.1.2 to 1.2.3. Underscore, from 1.6.0 to 1.8.3.

The new versions of Backbone and Underscore offer numerous small bug fixes and some optimizations and other improvements. Check the [http://backbonejs.org/#changelog Backbone changelog] and [http://underscorejs.org/#changelog Underscore changelog] for the full details. 

The new versions include some significant changes that may break existing code. Plugins or themes that rely on the bundled Backbone and/or Underscore libraries should carefully check functionality with the latest versions and run any available unit tests to ensure compatibility.

Some changes of note that were addressed in core as part of this upgrade:

* `_.flatten` no longer works with objects since Underscore.js 1.7. `_.flatten()` working with objects was an unintended side-affect of the implementation, see [https://github.com/jashkenas/underscore/issues/1904#issuecomment-60241576 underscore#1904]. Check any `_flatten` usage and only flatten arrays.
* As of Backbone 1.2.0, you can no longer modify the `events` hash or your view's `el` property in `initialize`, so don't try to modify them there. 
* Since Underscore 1.7, Underscore templates no longer accept an initial data object. `_.template` always returns a function now so make sure you use it that way.

Props adamsilverstein.
Fixes #34350.

git-svn-id: https://develop.svn.wordpress.org/trunk@36546 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:21:09 +00:00
Weston Ruter 6dd1dd61a1 Customize: Add a user-friendly way to preview site responsiveness for desktop, tablet, and mobile.
Introduces `WP_Customize_Manager::get_previewable_devices()` with a `customize_previewable_devices` filter to change the default device and which devices are available for previewing. This is a feature that was first pioneered on WordPress.com.

Props celloexpressions, folletto, valendesigns, westonruter, welcher, adamsilverstein, michaelarestad, Fab1en.
Fixes #31195.


git-svn-id: https://develop.svn.wordpress.org/trunk@36532 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:56:13 +00:00
Weston Ruter b5a54ae692 Customize: Hide widgets re-order button when no re-ordering is possible.
Hide the re-order button if there are no widgets in the sidebar, or if there is there is only one sidebar and there is only one widget in the sidebar.

Props rabmalin, westonruter.
Fixes #35533.


git-svn-id: https://develop.svn.wordpress.org/trunk@36522 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 23:51:16 +00:00
Eric Andrew Lewis e8ed3fcbf1 Menus: Allow larger menus to be created in the Edit Menu screen.
In the Edit Menu screen, each menu item creates 11 form input elements. In menus with more than 71 menu items, often items after the 71st weren't saved. This was because PHP's runtime configuration `max_input_vars` default value is 1000. Large menus exceed this, so PHP didn't populate the `$_POST` superglobal for the latter menu items.

The entire form is now JSON-encoded into a single input which populates `$_POST` manually on form submission.

This was attempted previously in [36506] which was reverted in [36507]. Some form fields were not being slurped into the form's JSON representation, and it did not scale for a site with many posts. This approach fixes those problems.

Props ocean90, afercia.
See #14134.


git-svn-id: https://develop.svn.wordpress.org/trunk@36510 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-11 19:07:30 +00:00
Eric Andrew Lewis 44159f1afa Menus: Revert larger menu support in Edit Menus screen in [36506].
JSON encoding the form as it exists on the page will not scale. 

See #14134.


git-svn-id: https://develop.svn.wordpress.org/trunk@36507 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-10 14:10:17 +00:00
Eric Andrew Lewis afe521a466 Menus: Allow larger menus to be created in the Edit Menu screen.
In the Edit Menu screen, each menu item creates 11 form input elements. In menus with more than 71 menu items, often items after the 71st weren't saved. This was because PHP's runtime configuration `max_input_vars` default value is 1000. Large menus exceed this, so PHP didn't populate the `$_POST` superglobal for the latter menu items.

The entire form is now JSON-encoded into a single input which populates `$_POST` manually on form submission.

See #14134.


git-svn-id: https://develop.svn.wordpress.org/trunk@36506 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-10 03:31:31 +00:00
Weston Ruter 15002741b5 Customizer: Fix searching for available nav menu items by updating reference to nonce.
Fixes regression introduced in [36414] where the nonce for listing available nav menu items was updated to use the new centralized location at `wp.customize.settings.nonce`, but the nonce for search did not get updated.

See #35617.


git-svn-id: https://develop.svn.wordpress.org/trunk@36432 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-01 21:35:27 +00:00
Andrea Fercia 2635b3dadb Menus: Avoid displaying two spinners when adding selected menu items.
Fixes #35682.

git-svn-id: https://develop.svn.wordpress.org/trunk@36427 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-31 18:05:45 +00:00
Andrea Fercia 66cb522610 Menus: after [36379] prevent "Quick Search" form submission when pressing Enter.
Fixes #35374.

git-svn-id: https://develop.svn.wordpress.org/trunk@36426 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-31 14:02:18 +00:00
Weston Ruter 304ab7c0e4 Customizer: Export nonce, theme, and url app settings in preview as exported in pane.
* Introduce `WP_Customize_Manager::get_nonces()` to consolidate logic for retrieving nonces.
* Export nonces centrally in `wp.customize.settings.nonce` with each request and update nav menus preview to utilize.
* Send updated nonces to preview upon `nonce-refresh`.
* Request full preview refresh if Nav Menu selective refresh request fails (e.g. due to bad nonce).
* Update nav menus and widgets in Customizer to utilize `customize_refresh_nonces` for exporting nonces and keeping them up to date.

See #27355.
Fixes #35617.


git-svn-id: https://develop.svn.wordpress.org/trunk@36414 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-27 17:54:39 +00:00
Weston Ruter 3560d4b3f5 Customizer: Improve parity between JS Setting models in preview with JS Setting models in pane.
* Ensure that Setting `Value` objects in preview get initial `_dirty` flag set if values among POST data.
* Upon `saved` event, send `saved` message to preview with the `response` to trigger `saved` event there.
* Reset `_dirty` flag for all setting `Value` objects in preview upon `saved`.
* Continue to create settings synced from pane even after initial bootstrap, and create them as dirty.
* Ensure that `id` property is set for setting `Value` objects in preview.

See #27355.
Fixes #35616.


git-svn-id: https://develop.svn.wordpress.org/trunk@36407 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-26 23:51:17 +00:00
Weston Ruter b07466c2bf Customizer: Use "(Untitled)" as site title if blogname is empty.
Fixes a layout issue in the Customizer UI. Also de-duplicate title display logic, outputting "Loading..." as site title in PHP with actual title being set upon Customizer `ready`. Also update the site title in response to a `blogname` setting change as opposed to `input` DOM events on the control.

Fixes #35579.


git-svn-id: https://develop.svn.wordpress.org/trunk@36388 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-23 23:14:10 +00:00
Weston Ruter 0e46055d5b Customizer: Add shift-click on nav menu items in preview to focus on corresponding nav menu item controls in pane.
Add missing `params.completeCallback` to `MenuItemControl.focus()` for parity with `Control.focus()`. Also adds `params` to `MenuItemControl.expandForm`, `MenuItemControl.collapseForm()`, and `MenuItemControl.toggleForm()`.

Props MattGeri, westonruter.
Fixes #32681.


git-svn-id: https://develop.svn.wordpress.org/trunk@36383 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-22 21:20:26 +00:00
Andrea Fercia e23986bdb3 Accessibility: Remove title attributes from the Menus screen.
Also, adds missing labels and improves the existing ones. 
Updates the "custom links" labels and inputs in the Customizer too.
Introduces a generic, reusable, `.wp-initial-focus` CSS class to be used for
the sole purpose of setting the initial focus.
"Quick Search": uniform the attached events and avoids new AJAX requests to
be triggered when the pressed key doesn't change the searched term.

Fixes #35374.

git-svn-id: https://develop.svn.wordpress.org/trunk@36379 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-22 14:25:58 +00:00
Andrea Fercia 710f2593cc Quick/Bulk Edit: Remove a no more used jQuery loop for unsupported post formats.
See #23426.
See #24096.
Fixes #35564.

git-svn-id: https://develop.svn.wordpress.org/trunk@36375 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-21 22:49:43 +00:00
Andrea Fercia a165561dde Accessibility: Improve focus handling on the Taxonomies Quick Edit.
Moves focus back to a proper place when saving or closing the form.

Fixes #35460.

git-svn-id: https://develop.svn.wordpress.org/trunk@36304 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-14 23:02:05 +00:00
Andrea Fercia 78adbe0bd0 Accessibility: Improve focus handling and audible feedback on the Posts Quick-Bulk Edit.
Avoids a focus loss when saving or closing the form moving focus back to a proper place.
Uses `wp.a11y.speak()` to dispatch successful edits and error messages to screen readers.

Fixes #34756.

git-svn-id: https://develop.svn.wordpress.org/trunk@36303 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-14 22:57:09 +00:00
Pascal Birchler 038668d5ec Administration: After [36295], mark postBoxL10n as a global to please JSHint.
See #26399.

git-svn-id: https://develop.svn.wordpress.org/trunk@36296 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-14 08:39:37 +00:00
John Blackbourn 2e6fb68b2a Administration: Add a "Drag boxes here" message to empty dashboard meta boxes so it's clear to users that it's possible to drag meta boxes into empty spaces.
Props xavortm
Fixes #26399


git-svn-id: https://develop.svn.wordpress.org/trunk@36295 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-14 04:12:16 +00:00
Dominik Schilling (ocean90) e5223b57b4 jQuery: Replace use of the .load() method for the "load" event with .on( 'load', handler ).
The shortcut is deprecated since jQuery 1.8.

See http://api.jquery.com/load-event/.
See #35380.

git-svn-id: https://develop.svn.wordpress.org/trunk@36287 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-13 17:21:36 +00:00
Dominik Schilling (ocean90) ceb892533f jQuery: Replace the use of the .size() method with the .length property.
The `.size()` method is deprecated since jQuery 1.8. The `.length` property is preferred because it doesn't have the overhead of a function call.

See https://api.jquery.com/size/.
See #35380.

git-svn-id: https://develop.svn.wordpress.org/trunk@36286 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-13 16:16:15 +00:00
Konstantin Obenland 12ac7b2998 Themes: Clear floated theme cards on Themes page.
Also maintains visual separation for Broken Themes table on searches that
return no results.

See [36171] for `.wp-clearfix`.

Props 5um17, obenland, valendesigns, afercia.
Fixes #26646.



git-svn-id: https://develop.svn.wordpress.org/trunk@36270 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-12 17:12:17 +00:00
Andrea Fercia 68d4b23608 Quick Edit: on the Taxonomies screens, prevent a page reload when pressing Enter on a focused field.
Fixes #35401 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@36260 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-11 13:14:18 +00:00
Boone Gorges ca642a8562 Use a more generous selector when setting up tag suggestion.
This allows taxonomy metaboxes to be registered in a greater variety of
locations on the Dashboard.

Props johnjamesjacoby..
Fixes #35349.

git-svn-id: https://develop.svn.wordpress.org/trunk@36227 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-08 23:17:21 +00:00
Andrea Fercia 05934ebd87 Media: make the Image Editor usable with a keyboard.
For accessibility, all interactive controls must be operable from the keyboard.
Replaces `<div>`s used as UI controls with buttons. Groups some logically-related
form elements.

Fixes #28864.

git-svn-id: https://develop.svn.wordpress.org/trunk@36223 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-08 19:12:11 +00:00
Konstantin Obenland e4b8679d17 Plugins: Use plugin file rather than slug as identifier
The plugin file is unique while there can be more than one plugin with the
same slug. This also allows us to simplify the way updates from the plugin
detail iframe are executed.

See [36205].
Fixes #35350.



git-svn-id: https://develop.svn.wordpress.org/trunk@36221 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-08 17:47:18 +00:00
Konstantin Obenland 58b35571bb Themes: Avoid changing the count of themes with updates in network admin.
Makes the count bubble selector a little more specific to avoid interfering
with the admin menu, but not too specific for installed theme searches not to
update the bubble.

See [29786], [31495].
Fixes #35332.



git-svn-id: https://develop.svn.wordpress.org/trunk@36204 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-06 22:31:46 +00:00
Andrea Fercia a12087bf0f Media: set the image editor spinner on the smallest possible area.
When using spinners as background images, the re-painted area should be the smallest
possible one. See similar performance issue in #31196, #33311, #33322, and #34951.

Fixes #35296.

git-svn-id: https://develop.svn.wordpress.org/trunk@36162 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-03 16:48:47 +00:00
Andrea Fercia 93e3093a0a Admin: Restore the "Show advanced menu properties" checkboxes IDs.
These checkboxes are used on the Menus screen options and the Customizer Menus options.
Their IDs were removed in [34991] but they're needed to get the checkboxes to be saved
via AJAX. Also, avoids a useless AJAX call.

Fixes #35112 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@36137 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-31 11:51:09 +00:00
Andrea Fercia b2b14848d6 Admin: fix repositioning of notices when the first header is not an immediate children of .wrap.
Props DvanKooten for the initial patch.
Fixes #35047 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@36134 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-31 11:04:38 +00:00
Pascal Birchler e7417c56ce Editor: Correctly indent definition lists when switching from the visual to the text editor.
Props ocean90, katieburch.
Fixes #23299.

git-svn-id: https://develop.svn.wordpress.org/trunk@35999 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-17 23:05:09 +00:00
Andrea Fercia 8da5918fbc Accessibility: Add an ARIA role button to links that behave like buttons when JavaScript is on.
Introduces a simple way to give a proper semantics of `button` to links that behave
like UI controls when JavaScript is on and behave like actual links when JavaScript
is off. First implementation on the Terms list table.

Patch prepared during WordCamp US 2015 Contributor Day.

Props mcapybara, garusky, takayukister.

See #26504.
Fixes #34867.

git-svn-id: https://develop.svn.wordpress.org/trunk@35947 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-15 13:24:13 +00:00
Pascal Birchler 410aa27b1d Passwords: Hide weak password confirmation checkbox when password strength improves.
Props subharanjan for initial patch.
Fixes #34950.

git-svn-id: https://develop.svn.wordpress.org/trunk@35870 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-11 21:53:29 +00:00
Michael Adams (mdawaffe) 0eb87d02c5 Meta Boxes: Preserve radio inputs' state when sorting metaboxes.
When sorting a metabox, a clone of that metabox is created as a drag/drop "helper".
Previously, any checked radio input in the original metabox would become unchecked, when its clone "helper" was inserted into the DOM
(since only one radio within a set of radios of the same name can be checked).

Continued use of the clone helper is important so that the element being dragged isn't subject to the click and other event handlers attached to the real metabox,
so we can't just switch to dragging around the real metabox.  See, for example, comment:10:ticket:16972.

Preserve the radios' state via some name attribute trickery.

Fixes #16972


git-svn-id: https://develop.svn.wordpress.org/trunk@35809 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 22:22:44 +00:00
Gary Pendergast 3025e87fa2 The the Docs: Fix the the dittography
Sometimes, it's easy to to type the the same word twice, especially if if it's a simple word. We probably shouldn't do do do (do do do doo) it, though.

(I've excluded external libs from this change.)

Fixes #34885.



git-svn-id: https://develop.svn.wordpress.org/trunk@35793 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:22:10 +00:00
Dominik Schilling (ocean90) a32d38c9f0 Passwords: Re-enable password fields before submitting the form.
Avoids an PHP undefined notice when creating new users.

Fixes #33699.

git-svn-id: https://develop.svn.wordpress.org/trunk@35733 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-24 21:16:02 +00:00
Andrew Ozz fdde197d93 TinyMCE: fix the regexp used to protect line breaks inside script and pre tags to match <script> that load external scripts.
Fixes #34760.

git-svn-id: https://develop.svn.wordpress.org/trunk@35727 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-22 19:12:21 +00:00
Scott Taylor af97ffd81c Plugins: add dismissible notices to update failures.
Adds unit test.

Props afercia, mehulkaklotar.
Fixes #33465.


git-svn-id: https://develop.svn.wordpress.org/trunk@35681 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 20:09:21 +00:00
Dominik Schilling (ocean90) 774cf7f0d3 Passwords: Only disable hidden password fields if they are really hidden.
Makes the password field on install and for password resets editable again. Both fields were accidentally set to disabled in [35603].

Props adamsilverstein, flixos90.
Fixes #33699.

git-svn-id: https://develop.svn.wordpress.org/trunk@35649 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-16 20:48:51 +00:00
Dominik Schilling (ocean90) aff0065f28 Themes: Hide the favorites form when performing a search.
The search is global and ignores the user setting. Same for filters.

See #34206.

git-svn-id: https://develop.svn.wordpress.org/trunk@35647 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-16 19:49:38 +00:00
Gary Pendergast 6911ff1130 Pinking Shears: Remove some errant non-breaking spaces from a few JavaScript files.
Props francoisb.

Fixes #34658.



git-svn-id: https://develop.svn.wordpress.org/trunk@35627 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-12 12:03:51 +00:00
Dominik Schilling (ocean90) 4d5fbe29f4 Comments: Dynamically update the document title text for all languages, not only English.
See [33821].
Fixes #33414.

git-svn-id: https://develop.svn.wordpress.org/trunk@35615 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-11 20:59:56 +00:00
Andrea Fercia 80569cc816 Accessibility: improvements for the taxonomies Quick Edit form.
Changes the "Cancel" and "Update" controls in buttons for better semantics and
accessibility. On cancel and successful saving, moves focus back to the term title
to avoid a focus loss. Dispatches error and success messages to `wp.a11y.speak`
to give assistive technologies users an audible feedback.

Patch prepared at #wpcdit, first Italian WordPress Contributor Day.

Props garusky, chiara_09.
Fixes #34613.

git-svn-id: https://develop.svn.wordpress.org/trunk@35605 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-11 00:23:15 +00:00
Dominik Schilling (ocean90) 66db054bae Passwords: Disable hidden input fields on profile/user edit page.
Prevents an issue where password helpers would autofill the hidden password fields and inadvertently causing password changes when editing other fields on the profile page.

Props adamsilverstein.
Fixes #33699.

git-svn-id: https://develop.svn.wordpress.org/trunk@35603 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-10 20:40:18 +00:00
Weston Ruter 01b19a6345 Customize: Fix focus and autofocus on nav_menu_item controls.
Embed the `nav_menu_item` control not only when the contained `nav_menu` section expands, but also if the control was autofocused (via the `autofocus[control]` query param). Also applies change from [33596] to work-around a broken `:focusable` selector in jQuery UI.

See #33258.
Fixes #34629.


git-svn-id: https://develop.svn.wordpress.org/trunk@35584 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-09 03:13:09 +00:00