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
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
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
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
Dominik Schilling
290e5e5271
Widget Customizer: Use Underscores `indexOf` for IE8 compatibility.
...
props adamsilverstein.
see #27485 .
Built from https://develop.svn.wordpress.org/trunk@27654
git-svn-id: http://core.svn.wordpress.org/trunk@27497 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-22 21:22:13 +00:00
Dominik Schilling
21158f33f7
Widget Customizer: Fix 'WidgetCustomizerPreview' is undefined error in IE8/9.
...
* Move `WidgetCustomizerPreview` to `wp.customize.WidgetCustomizerPreview`
* Move `WidgetCustomizerPreview_exports` to export_preview_data()
* Use `_wpWidgetCustomizerPreviewSettings` to transfer settings to `wp.customize.WidgetCustomizerPreview`
see #27485 .
Built from https://develop.svn.wordpress.org/trunk@27653
git-svn-id: http://core.svn.wordpress.org/trunk@27496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-22 21:04:15 +00:00
Dominik Schilling
9b0ec406d1
Widget Customizer: Improve error handling. First pass.
...
* Replace Widget_Customizer_Exception with WP_Error
* Call Previewer.cheatin() to show the cheating message if a user can't change widgets
* Call Previewer.login() to show the login form if a user is logged out
* Show a generic error message on failures
see #27419 .
Built from https://develop.svn.wordpress.org/trunk@27652
git-svn-id: http://core.svn.wordpress.org/trunk@27495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-22 20:55:18 +00:00
Dominik Schilling
3da04163cf
Widget Customizer: Improve widget search.
...
* Removes jQuery.liveFilter dependency
* Filters widget collection directly
* Widget's name, ID and description will be searched
fixes #27451 .
Built from https://develop.svn.wordpress.org/trunk@27650
git-svn-id: http://core.svn.wordpress.org/trunk@27493 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-21 21:13:15 +00:00
Dominik Schilling
64af78ca43
Widget Customizer: Restore highlighting of widgets in preview.
...
props westonruter.
see #27358 .
Built from https://develop.svn.wordpress.org/trunk@27584
git-svn-id: http://core.svn.wordpress.org/trunk@27427 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 15:21:15 +00:00
Dominik Schilling
574c2967b5
Customizer: Introduce a processing state.
...
The processing state will prevent a save when it doesn't return 0.
Widget Customizer will use the state to prevent a save while a widget is updating, which is an asynchronous process.
props westonruter.
fixes #27390 .
Built from https://develop.svn.wordpress.org/trunk@27540
git-svn-id: http://core.svn.wordpress.org/trunk@27383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 19:16:14 +00:00
Dominik Schilling
f46a085f7c
Widget Customizer: Use ?wp_customize=on.
...
Let _wp_customize_include() handle customizer initialisation.
Sets also the priority for the Add Widget and Reorder buttons and removes debug cruft.
props westonruter.
fixes #27291 .
Built from https://develop.svn.wordpress.org/trunk@27524
git-svn-id: http://core.svn.wordpress.org/trunk@27367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 18:38:14 +00:00
Scott Taylor
01c0b48822
Make widget customizer code pass JSHint.
...
Fixes #27298 .
Built from https://develop.svn.wordpress.org/trunk@27436
git-svn-id: http://core.svn.wordpress.org/trunk@27283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 16:45:15 +00:00
Andrew Nacin
e853a9cc57
Add widget management to the customizer.
...
This brings in the Widget Customizer plugin: https://wordpress.org/plugins/widget-customizer/ .
props westonruter, shaunandrews, michael-arestad, johnregan3, akeda, topher1kenobe, topquarky, bobbravo2, ricardocorreia. And for good measure, props westonruter.
see #27112 .
Built from https://develop.svn.wordpress.org/trunk@27419
git-svn-id: http://core.svn.wordpress.org/trunk@27266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 20:41:14 +00:00