15 Commits

Author SHA1 Message Date
Weston Ruter
8bae522ea8 Customize: Prevent widget previewing logic from building invalid jQuery selectors when sidebars are registered without a class name in before_widget.
Fixes #37993.


git-svn-id: https://develop.svn.wordpress.org/trunk@38577 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-08 15:44:08 +00:00
Weston Ruter
3b28231001 Customize: Prevent customize-preview-widgets JS errors in preview if a sidebar is registered with empty before_widget/after_widget params.
Selective refresh will not be available for widgets when they lack these params, so previewing will fallback to full page refreshes. Sidebars registered as such should be rare so this accounts for an edge case.

Fixes #37478.


git-svn-id: https://develop.svn.wordpress.org/trunk@38166 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-27 16:26:22 +00:00
Weston Ruter
5989bc82ba Customize: Remove format placeholders from widget templates and selectors, fixing a jQuery selector syntax error and the broken highlight/shift-click behaviors.
The issues occur in themes that register sidebars that reference a single format placeholder (`%1$s` and `%2$s`) multiple times, such as in the `id` and `class` attributes for `$before_widget`.

Props martin.krcho, westonruter.
Fixes #36473.


git-svn-id: https://develop.svn.wordpress.org/trunk@37322 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-28 18:19:15 +00:00
Weston Ruter
4569f93d3e Customize: Require opt-in for selective refresh of widgets.
* Introduces `customize-selective-refresh-widgets` theme support feature and adds to themes.
* Introduces `customize_selective_refresh` arg for `WP_Widget::$widget_options` and adds to all core widgets.
* Remove `selective_refresh` from being a component that can be removed via `customize_loaded_components` filter.
* Add `WP_Customize_Widgets::get_selective_refreshable_widgets()` and `WP_Customize_Widgets::is_widget_selective_refreshable()`.
* Fix default `selector` for `Partial` instances.
* Implement and improve Masronry sidebar refresh logic in Twenty Thirteen and Twenty Fourteen, including preservation of initial widget position after refresh.
* Re-initialize ME.js when refreshing `Twenty_Fourteen_Ephemera_Widget`.

See #27355.
Fixes #35855.


git-svn-id: https://develop.svn.wordpress.org/trunk@37040 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-21 21:58:02 +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
Weston Ruter
1b2dae4668 Customizer: Re-use public api.preview instance in widgets preview instead of unnecessarily capturing in api.Preview constructor wrapper.
The preview instance is no longer private.

Props joshlevinson, westonruter.
Fixes #30890.
See #30726.


git-svn-id: https://develop.svn.wordpress.org/trunk@35783 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 18:38:45 +00:00
Sergey Biryukov
1477277b53 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29051 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 23:57:29 +00:00
Andrew Nacin
e164ec2461 Customizer: Account for a sidebar with no container to which classes can be added.
props ocean90.
fixes #27780.


git-svn-id: https://develop.svn.wordpress.org/trunk@28100 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-13 16:40:07 +00:00
Dominik Schilling (ocean90)
da677f34aa Widget Customizer: Move WidgetCustomizer to wp.customize.Widgets. First pass.
see #27690.

git-svn-id: https://develop.svn.wordpress.org/trunk@27985 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 09:03:18 +00:00
Dominik Schilling (ocean90)
11f6751d51 Widget Customizer: Use postMessage to highlight widgets in preview or sections/controls in Customizer.
fixes #27622.

git-svn-id: https://develop.svn.wordpress.org/trunk@27892 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-01 15:25:56 +00:00
Dominik Schilling (ocean90)
2a1899e319 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27653 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 21:03:18 +00:00
Dominik Schilling (ocean90)
5358f081be Widget Customizer: Remove unused vars.
see #27112.

git-svn-id: https://develop.svn.wordpress.org/trunk@27588 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 18:34:26 +00:00
Dominik Schilling (ocean90)
c2a4665966 Widget Customizer: Restore highlighting of widgets in preview.
props westonruter.
see #27358.

git-svn-id: https://develop.svn.wordpress.org/trunk@27584 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 15:20:38 +00:00
Scott Taylor
2862cb85d8 Make widget customizer code pass JSHint.
Fixes #27298.



git-svn-id: https://develop.svn.wordpress.org/trunk@27436 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 16:44:56 +00:00
Andrew Nacin
f12d7bb35c 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@27419 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 20:40:36 +00:00