John Blackbourn
acec5066f6
Switch to pointer tolerance for improved drag and drop behaviour when reordering widgets.
...
Props jkudish, MikeHansenMe.
Fixes #20791
Built from https://develop.svn.wordpress.org/trunk@32689
git-svn-id: http://core.svn.wordpress.org/trunk@32659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-03 22:59:25 +00:00
Dominik Schilling
fccc19b510
Customizer: Replace accordion behavior of sections with a slide-in navigation.
...
This allows users to focus on the contents of the active section more easily and separating the navigation from the content/controls in the Customizer.
props valendesigns, celloexpressions.
see #31336 .
Built from https://develop.svn.wordpress.org/trunk@32649
git-svn-id: http://core.svn.wordpress.org/trunk@32619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 13:57:26 +00:00
Helen Hou-Sandí
f861754016
Customizer: Better experience for widget filtering in desktop and iOS Safari.
...
Previously, the search field did not appear at all in desktop Safari, and the auto-focus keyboard fly-up in iOS rendered widget adding frustrating at best.
props dsmart, ocean90.
fixes #31987 .
Built from https://develop.svn.wordpress.org/trunk@32243
git-svn-id: http://core.svn.wordpress.org/trunk@32214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 14:15:26 +00:00
Dominik Schilling
6d2c70aa0d
Customizer: Refresh nonces when a session expires and the user logs in again.
...
This was broken since 4.0 and the introduction of user session tokens. The nonces are now tied to session tokens as opposed to user IDs, and thus they change with each re-login.
Custom nonces can be added through the `customize_refresh_nonces` filter. On a successful refresh request the JavaScript API will trigger a `nonce-refresh` event. See widget's update nonce as an example.
props westonruter for initial patch.
fixes #31294 .
Built from https://develop.svn.wordpress.org/trunk@32054
git-svn-id: http://core.svn.wordpress.org/trunk@32033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-06 15:10:27 +00:00
Dominik Schilling
4f3fb2315d
Customize Widgets: Improve sync logic for select[multiple] inputs.
...
The current logic doesn't account for the special case of `select[multiple]` inputs which lack a single value to synchronize: The value to synchronize is an array of zero or more values.
This change replaces `_getInputStatePropertyName()` with `_getInputState()`, which returns the state for an input depending on its type, and `_setInputState()`, which updates an input's state based on its type.
props westonruter.
fixes #31885 .
Built from https://develop.svn.wordpress.org/trunk@32012
git-svn-id: http://core.svn.wordpress.org/trunk@31991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-04 16:34:26 +00:00
Dominik Schilling
942c6a9edc
Customizer: Update selector, missed in [31984].
...
see #28784 .
Built from https://develop.svn.wordpress.org/trunk@31985
git-svn-id: http://core.svn.wordpress.org/trunk@31964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-02 17:18:25 +00:00
Dominik Schilling
ba7f53f029
Customizer: Make the available widgets overlay closable on narrow screens.
...
see #28784 .
Built from https://develop.svn.wordpress.org/trunk@31974
git-svn-id: http://core.svn.wordpress.org/trunk@31953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 22:25:28 +00:00
Dominik Schilling
c4a624aa22
Customizer: Remove a `throw error` call which prevents further actions, like `jqxhr.always()`.
...
props westonruter.
fixes #31501 .
Built from https://develop.svn.wordpress.org/trunk@31816
git-svn-id: http://core.svn.wordpress.org/trunk@31798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-18 19:29:27 +00:00
Dominik Schilling
9250d59e6a
Customizer: Prevent a race condition when attempting to publish too soon after updating widget form fields with multiple edits.
...
props westonruter.
fixes #31501 .
Built from https://develop.svn.wordpress.org/trunk@31706
git-svn-id: http://core.svn.wordpress.org/trunk@31687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 22:45:27 +00:00
Andrew Ozz
5e07bfdfd1
Add `wp.a11y.speak()` for audible alerts/updates in screen readers. Props afercia, GrahamArmfield (for the idea), iseulde. Fixes #31368 .
...
Built from https://develop.svn.wordpress.org/trunk@31594
git-svn-id: http://core.svn.wordpress.org/trunk@31575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-01 19:11:27 +00:00
Dominik Schilling
789cd2e824
Customize Widgets: Don't return undefined items in getWidgetFormControls method.
...
props westonruter.
fixes #31465 .
Built from https://develop.svn.wordpress.org/trunk@31570
git-svn-id: http://core.svn.wordpress.org/trunk@31551 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-27 10:35:24 +00:00
Dominik Schilling
70ca74b37b
Customizer: Don't focus new widgets if they are added programmatically.
...
props westonruter.
fixes #31295 .
Built from https://develop.svn.wordpress.org/trunk@31428
git-svn-id: http://core.svn.wordpress.org/trunk@31409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 23:32:27 +00:00
Dominik Schilling
6adb5c0618
Customizer: Improve [31252] to show the move-widget buttons only if there is more than one *rendered* sidebar.
...
fixes #30690 .
Built from https://develop.svn.wordpress.org/trunk@31419
git-svn-id: http://core.svn.wordpress.org/trunk@31400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 20:45:26 +00:00
Dominik Schilling
b4bb289b5d
Customizer: Hide the reorder-widgets button when a widget area is empty.
...
props celloexpressions.
fixes #27787 .
Built from https://develop.svn.wordpress.org/trunk@31255
git-svn-id: http://core.svn.wordpress.org/trunk@31236 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-20 22:45:22 +00:00
Dominik Schilling
0c0675627b
Customizer: If there's only one available sidebar, hide the move-widget button.
...
props celloexpressions.
fixes #30690 .
Built from https://develop.svn.wordpress.org/trunk@31252
git-svn-id: http://core.svn.wordpress.org/trunk@31233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-20 20:36:21 +00:00
Dominik Schilling
14abcecf81
Customizer: Use correct event variable when moving widgets to another widget area.
...
Fixes "ReferenceError: event is not defined error." in Firefox.
props tywayne.
fixes #30818 .
Built from https://develop.svn.wordpress.org/trunk@30992
git-svn-id: http://core.svn.wordpress.org/trunk@30974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-23 17:24:24 +00:00
Andrew Ozz
53d22ffb10
Customizer - Widgets: add feedback for screen readers when moving up or down. Props adamsilverstein, afercia. Fixes #28892 .
...
Built from https://develop.svn.wordpress.org/trunk@30760
git-svn-id: http://core.svn.wordpress.org/trunk@30750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 00:45:24 +00:00
Scott Taylor
097e4ede58
Add some inline JS docs for Customizer.
...
See #30469 .
Built from https://develop.svn.wordpress.org/trunk@30738
git-svn-id: http://core.svn.wordpress.org/trunk@30728 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-04 02:04:22 +00:00
Dominik Schilling
d187a5eeba
Customizer: Don't override `Section.isContextuallyActive()` in `SidebarSection`.
...
This fixes a bug where empty widget areas get deactivated in the Customizer.
fixes #30378 .
see #30235 .
props westonruter.
Built from https://develop.svn.wordpress.org/trunk@30552
git-svn-id: http://core.svn.wordpress.org/trunk@30541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 22:26:23 +00:00
Dominik Schilling
41197a7c31
Customizer: Improve ability to filter active state for widget area Customizer sections.
...
* Mark panels, sections, controls as active if preview explicitly indicates.
* Introduce `WP_Customize_Sidebar_Section` PHP class, and `SidebarSection` JS class.
* Move logic for determining whether a sidebar section is active from the `SidebarControl` to `SidebarSection`.
props westonruter.
fixes #30235 .
Built from https://develop.svn.wordpress.org/trunk@30329
git-svn-id: http://core.svn.wordpress.org/trunk@30328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-13 12:19:23 +00:00
Dominik Schilling
8b32164b67
Customizer: Trigger `widget-added` event when initializing.
...
Widget controls are now added to the pane dynamically via JavaScript, see #28709 .
Remove the event trigger from `SidebarControl.addWidget()` as it's covered by `WidgetControl.ready()`.
props westonruter.
fixes #30236 .
Built from https://develop.svn.wordpress.org/trunk@30308
git-svn-id: http://core.svn.wordpress.org/trunk@30307 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 22:46:23 +00:00
Dominik Schilling
d21799ee1f
Customizer: Use `jQuery.fn.toggle()` instead of `slideUp`/`slideDown` if panel/section/control is not inserted into DOM yet.
...
jQuery does nothing when calling `slideUp` on elements that are not inserted into the DOM yet, which can now be the case now when first loading the Customizer as the panels, sections and controls get dynamically inserted, see #28709 .
props westonruter.
fixes #30251 .
Built from https://develop.svn.wordpress.org/trunk@30307
git-svn-id: http://core.svn.wordpress.org/trunk@30306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 22:37:22 +00:00
Dominik Schilling
00845a6c3d
Customizer: Fix missing newly added widgets in the preview after [29905].
...
props westonruter.
fixes #29983 .
Built from https://develop.svn.wordpress.org/trunk@30104
git-svn-id: http://core.svn.wordpress.org/trunk@30104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-29 22:57:23 +00:00
Dominik Schilling
3c962ee5d8
Improve/introduce Customizer JavaScript models for Controls, Sections, and Panels.
...
* Introduce models for panels and sections.
* Introduce API to expand and focus a control, section or panel.
* Allow deep-linking to panels, sections, and controls inside of the Customizer.
* Clean up `accordion.js`, removing all Customizer-specific logic.
* Add initial unit tests for `wp.customize.Class` in `customize-base.js`.
https://make.wordpress.org/core/2014/10/27/toward-a-complete-javascript-api-for-the-customizer/ provides an overview of how to use the JavaScript API.
props westonruter, celloexpressions, ryankienstra.
see #28032 , #28579 , #28580 , #28650 , #28709 , #29758 .
fixes #29529 .
Built from https://develop.svn.wordpress.org/trunk@30102
git-svn-id: http://core.svn.wordpress.org/trunk@30102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-29 22:51:22 +00:00
Dominik Schilling
61819a36ea
Customizer: Change instances of "Theme Customizer" to just "Customizer", as the Customizer isn't necessarily theme-specific.
...
Also capitalize "Customizer".
See also https://make.wordpress.org/core/2014/07/08/customizer-improvements-in-4-0/ .
props studionashvegas, tareq1988.
fixes #29947 .
Built from https://develop.svn.wordpress.org/trunk@29903
git-svn-id: http://core.svn.wordpress.org/trunk@29658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-15 17:21:19 +00:00
Sergey Biryukov
81f912dd7a
Customizer: Remove "Add a Widget" button from tab order when reordering widgets.
...
fixes #28890 .
Built from https://develop.svn.wordpress.org/trunk@29243
git-svn-id: http://core.svn.wordpress.org/trunk@29027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 03:32:17 +00:00
Sergey Biryukov
37e51e558c
Customizer: When widget reorder button is actioned, transfer focus to the first Move control within the section.
...
fixes #28891 .
Built from https://develop.svn.wordpress.org/trunk@29242
git-svn-id: http://core.svn.wordpress.org/trunk@29026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 03:24:15 +00:00
Sergey Biryukov
9a02dabf34
Customizer: Add widget title to Move/Up/Down controls to provide context for screen readers when reordering or moving widgets.
...
fixes #28889 .
Built from https://develop.svn.wordpress.org/trunk@29238
git-svn-id: http://core.svn.wordpress.org/trunk@29022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 01:58:15 +00:00
Sergey Biryukov
53d2839324
Customizer: Avoid losing focus when adding widgets via keyboard.
...
props sathishn.
fixes #28835 .
Built from https://develop.svn.wordpress.org/trunk@29237
git-svn-id: http://core.svn.wordpress.org/trunk@29021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 01:19:14 +00:00
Sergey Biryukov
ad7bc20cb1
Customizer: Introduce WP_Customize_Control::active() method to determine whether the control is relevant to the current context (i.e. to the current URL being previewed).
...
Control can indicate its active state by a subclass overriding the 'active_callback' method, by supplying a callable 'active_callback' argument into the control's constructor, or by filtering 'customize_control_active'.
props westonruter.
see #27993 .
Built from https://develop.svn.wordpress.org/trunk@29051
git-svn-id: http://core.svn.wordpress.org/trunk@28839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-09 23:58:16 +00:00
Sergey Biryukov
3b291f7057
Customizer: Export Previewer instance to wp.customize.previewer, and utilize for Widget Customizer.
...
props westonruter.
fixes #27666 .
Built from https://develop.svn.wordpress.org/trunk@29048
git-svn-id: http://core.svn.wordpress.org/trunk@28836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-09 20:58:15 +00:00
Andrew Nacin
dbca0c5e15
Widgets: Remove create_function() from the customizer class.
...
props westonruter.
fixes #27805 .
Built from https://develop.svn.wordpress.org/trunk@28143
git-svn-id: http://core.svn.wordpress.org/trunk@27974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 00:11:35 +00:00
Andrew Nacin
6b579e0d59
Customizer: Properly handle widget settings when activating a previewed theme.
...
props westonruter, ocean90, gcorne.
fixes #27767 .
Built from https://develop.svn.wordpress.org/trunk@28124
git-svn-id: http://core.svn.wordpress.org/trunk@27955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-14 22:46:16 +00:00
Dominik Schilling
3f3a1380d2
Widget Customizer: Fix widget filtering.
...
props westonruter.
fixes #27451 .
Built from https://develop.svn.wordpress.org/trunk@28044
git-svn-id: http://core.svn.wordpress.org/trunk@27874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 08:12:15 +00:00
Andrew Nacin
5ea061ef8d
Widget Customizer: Fix incorrect replacement in [27995].
...
props westonruter.
fixes #27690 .
Built from https://develop.svn.wordpress.org/trunk@28034
git-svn-id: http://core.svn.wordpress.org/trunk@27864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 04:03:14 +00:00
Dominik Schilling
f69f3d3d18
Widget Customizer: Cleanup `wp.customize.Widgets.SidebarControl`.
...
see #27690 .
Built from https://develop.svn.wordpress.org/trunk@27995
git-svn-id: http://core.svn.wordpress.org/trunk@27825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 20:00:16 +00:00
Dominik Schilling
5bd1e16992
Widget Customizer: Cleanup `wp.customize.Widgets.WidgetControl`.
...
see #27690 .
Built from https://develop.svn.wordpress.org/trunk@27988
git-svn-id: http://core.svn.wordpress.org/trunk@27818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 16:32:15 +00:00
Dominik Schilling
5f76bf3b0d
Widget Customizer: Make the available widgets panel a Backbone view.
...
see #27690 .
Built from https://develop.svn.wordpress.org/trunk@27986
git-svn-id: http://core.svn.wordpress.org/trunk@27816 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 14:10:14 +00:00
Dominik Schilling
fabc65b787
Widget Customizer: Move `WidgetCustomizer` to `wp.customize.Widgets`. First pass.
...
see #27690 .
Built from https://develop.svn.wordpress.org/trunk@27985
git-svn-id: http://core.svn.wordpress.org/trunk@27815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 09:04:14 +00:00
Dominik Schilling
158597a5e3
Widget Customizer: Restore deferral of `previewer-loading` class removal until preview is synced.
...
props westonruter.
fixes #27635 .
Built from https://develop.svn.wordpress.org/trunk@27913
git-svn-id: http://core.svn.wordpress.org/trunk@27744 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 19:25:15 +00:00
Dominik Schilling
944fba8e2f
Widget Customizer: Improve support for dynamically-created inputs.
...
* Re-work how and when widget forms get updated.
* Replace ad hoc hooks system with jQuery events,
* Add `widget-updated`/`widget-synced` events for widget soft/hard updates.
* Enter into a non-live form update mode, where the Apply button is restored when a sanitized form does not have the same fields as currently in the form, and so the fields cannot be easily updated to their sanitized values without doing a complete form replacement. Also restores live update mode if sanitized fields are aligned with the existing fields again.
Note: jQuery events are *not* final yet, see #19675 .
props westonruter.
see #27491 .
Built from https://develop.svn.wordpress.org/trunk@27909
git-svn-id: http://core.svn.wordpress.org/trunk@27740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 18:20:16 +00:00
Dominik Schilling
cde6d602ea
Widget Customizer: Improve plugin compatibility.
...
Some plugins are using custom scripts and styles for there widgets. These are available on the Widgets screens, but not in the Customizer yet.
Scripts and styles can be enqueued via:
* `admin_enqueue_scripts`
* `admin_print_scripts` and `admin_print_scripts-widgets.php`
* `admin_print_styles` and `admin_print_styles-widgets.php`
* `admin_print_footer_scripts` and `admin_footer-widgets.php`
All this hooks are now called in the Customizer too.
Previously we have add the `#widgets-right` ID to a container div via jQuery. Remember: `#widgets-right` exists on the Widgets screen and is used by many plugins to do event delegation from that element.
But since our script files are loaded in the footer, the JavaScript way is a bit late for some plugins.
We have decided to add a `div#widgets-right` container element to customizer. "Less hacky hack."
props westonruter, ocean90. Thanks dpe415 for testing.
fixes #27619 .
Built from https://develop.svn.wordpress.org/trunk@27907
git-svn-id: http://core.svn.wordpress.org/trunk@27738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 17:04:14 +00:00
Dominik Schilling
dc5effa8cc
Cleanup [27892].
...
Built from https://develop.svn.wordpress.org/trunk@27893
git-svn-id: http://core.svn.wordpress.org/trunk@27724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 15:30:16 +00:00
Dominik Schilling
ae1f4e146f
Widget Customizer: Use postMessage to highlight widgets in preview or sections/controls in Customizer.
...
fixes #27622 .
Built from https://develop.svn.wordpress.org/trunk@27892
git-svn-id: http://core.svn.wordpress.org/trunk@27723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 15:26:15 +00:00
Dominik Schilling
404fe8710d
Widget Customizer: Remove WidgetCustomizer.showFirstSidebarIfRequested().
...
It's currently unused and needs another iteration.
see #27290 .
Built from https://develop.svn.wordpress.org/trunk@27891
git-svn-id: http://core.svn.wordpress.org/trunk@27722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 12:38:15 +00:00
Dominik Schilling
6528b7804b
Revert [27654] for strings.
...
props westonruter.
fixes #27485 .
Built from https://develop.svn.wordpress.org/trunk@27890
git-svn-id: http://core.svn.wordpress.org/trunk@27721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 11:08:16 +00:00
Dominik Schilling
c2f839b7b6
Widget Customizer: Simplify nonces.
...
see #27534 .
Built from https://develop.svn.wordpress.org/trunk@27819
git-svn-id: http://core.svn.wordpress.org/trunk@27653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 15:35:15 +00:00
Dominik Schilling
e1e09075d4
Widget Customizer: Improve behavior of bigger widgets.
...
* Support widgets which are higher than browsers viewport.
* Use widgets width as max-width.
* Don't animate the width of wide widgets to make them visible, instead fade them in/out.
* Fix Chrome flickerings while updating wide widgets.
props adamsilverstein, westonruter, ocean90.
see #27348 .
Built from https://develop.svn.wordpress.org/trunk@27798
git-svn-id: http://core.svn.wordpress.org/trunk@27633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-27 23:13:14 +00:00
Dominik Schilling
b7d77cd8bf
Widget Customizer: Fix shift+click issue in Firefox to open a widget.
...
props westonruter.
see #27358 .
Built from https://develop.svn.wordpress.org/trunk@27701
git-svn-id: http://core.svn.wordpress.org/trunk@27540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 11:23:15 +00:00
Scott Taylor
d85ac5b841
Let us pass `jshint:core`.
...
Built from https://develop.svn.wordpress.org/trunk@27693
git-svn-id: http://core.svn.wordpress.org/trunk@27532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-24 23:02:13 +00:00