Commit Graph

168 Commits

Author SHA1 Message Date
Weston Ruter
40f6779665 Customize: Fix image cropping when doing live preview of theme switches.
Ensure that the Customizer gets bootstrapped with the pre-activated `theme` supplied in the `custom-header-crop` admin ajax requests.

Props faishal, rittesh.patel.
Fixes #32783.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36833 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-06 01:45:27 +00:00
Weston Ruter
a8ca958d43 Customize: Eliminate unnecessary WP_Customize_Site_Logo_Control in favor of re-using WP_Customize_Image_Control.
* Removes double `margin-bottom` from all the media controls.
* All media controls now send `{settingId}-attachment-data` messages to the preview when a media setting is updated so that the preview has access to the attachment data.
* Fixes receiving of `attachment-data` message for `custom_logo` which resulted in instant JS-applied preview not working. See #36096.

See #33755.
Fixes #35941.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-04 23:47:26 +00:00
Konstantin Obenland
147d6d7d6c Customize: Site logos are custom logos.
Brings the nomenclature closer to custom headers and backgrounds.

See https://wordpress.slack.com/archives/core/p1456955151003150
See #35945. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@36804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 19:56:26 +00:00
Weston Ruter
ee85740365 Customize: Remove gap above section contained in panel when initially focusing on control.
Props mattwiebe.
Fixes #36050.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-02 18:37:26 +00:00
Weston Ruter
94b59e7f0d Customize: Ensure autofocus deep-linking applies for dynamically-created panels, sections, and controls.
Removes overly-zealous filtering of autofocus panels, sections, and controls which are unrecognized or for which the user doesn't have the capability to focus (in which case it would no-op anyway). Also defers autofocus logic until instances are created, even after initial `ready` event. This ensures that autofocus can apply for any panels, sections, or controls that get created via the loaded preview.

See #28650.
Fixes #36018.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36763 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-01 22:04:27 +00:00
Konstantin Obenland
237f6a0e58 Customize: Introduce Logo support for themes.
Allows a common theme feature to have a common implementation provided by core and available in a consistent location for users.
See https://make.wordpress.org/core/2016/02/24/theme-logo-support/

Props kwight, enejb, jeherve, bhubbard, samhotchkiss, zinigor, eliorivero, adamsilverstein, melchoyce, ryan, mikeschroder, westonruter, pento, karmatosed, celloexpressions, obenland. 
See #33755.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 22:10:26 +00:00
Weston Ruter
2214f69e43 Customize: Allow controls to be registered without any associated settings.
* Improves parity between partials and controls. A partial or control can be settingless if instantiated with `settings` param as empty array (otherwise, if null, then the partial/control ID is used). 
* Eliminate need to create dummy settings that serve no purpose except to place a control in the UI.
* Removes dummy settings for `create_new_menu` and `new_menu_name`.
* Introduces `WP_Customize_Control::$capability` and `WP_Customize_Partial::$capability`, and if set checks them in the respective `check_capabilities()` methods.
* Prevents PHP fatal error from happening when non-existing settings are provided to control: "Call to a member function `check_capabilities()` on a non-object".
* Fixes issue where nav menu items and widgets were no longer working with selective refresh because cap check was failing.

See #27355.
Fixes #35926.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 18:28:28 +00:00
Weston Ruter
6b775d4afe 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36553 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-19 18:41:28 +00:00
Weston Ruter
b5e18056e5 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36499 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-16 01:57:26 +00:00
Weston Ruter
c376477265 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-27 17:55:26 +00:00
Weston Ruter
c7923b2c9d 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 23:52:25 +00:00
Weston Ruter
57c2b5d192 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-23 23:15:27 +00:00
Dominik Schilling
b7df807589 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.
Built from https://develop.svn.wordpress.org/trunk@36287


git-svn-id: http://core.svn.wordpress.org/trunk@36254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-13 17:22:27 +00:00
Weston Ruter
f676fdcee3 Customizer: Fix margin-top calculation for Themes section.
Ensure that the Themes section calculates its `margin-top` as a panel, since the section behaves as one. Fixes regression caused by [35231].

See #33567.


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


git-svn-id: http://core.svn.wordpress.org/trunk@35217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-17 22:41:25 +00:00
Weston Ruter
6bcd8ad757 Customizer: Always show Widgets panel initially if sidebars are registered; show notice to users in panel if no widget areas are in current preview.
Widgets panel will not wait to display until the preview loads.

Also fixes problems with `margin-top` in panels where other panels' `active` states change, as well as ensuring sections of deactivated panel collapse before panel is hidden to prevent the pane from becoming empty of controls.

Fixes #33052.
Fixes #33567.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35197 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-16 23:48:25 +00:00
Weston Ruter
885944f79f Customizer: Fix usage of jQuery.contains() allowing active state changes to again animate control visibility.
Aligns usage of `jQuery.contains()` in a control's `onChangeActive` method with the existing usage in the corresponding `onChangeActive` method for panels and sections.

Props nikeo.
Fixes #33509.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34521 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 19:54:50 +00:00
Scott Taylor
57d2420ae5 Similar to #33386, don't use guid when retrieving URL for a cropped header image in the Customizer.
Props polevaultweb.
Fixes #33319.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34156 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-15 14:46:32 +00:00
Dominik Schilling
d6f26e4c7c Site Icon: For preview fall back to full size URL when thumbnail size doesn't exist.
Prevents a JavaScript error for rare cases when cropping is skipped and the image is smaller than `thumbnail`.

Props tyxla.
Fixes #33417.
Built from https://develop.svn.wordpress.org/trunk@34056


git-svn-id: http://core.svn.wordpress.org/trunk@34024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 20:13:25 +00:00
Weston Ruter
7c6534fd4c Customize: Fix logic for determining the container element when focusing on a panel, section, or control.
Fixes #33695 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-07 05:59:24 +00:00
Weston Ruter
274373afc6 Customize: Fix clearing of a color control's setting by using proper empty value.
Props stevehenty.
Fixes #30280.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-07 05:48:23 +00:00
Sergey Biryukov
f0ce1f06ea Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/js/customize-controls.js.
fixes #33685. see #14530.
Built from https://develop.svn.wordpress.org/trunk@33902


git-svn-id: http://core.svn.wordpress.org/trunk@33871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-04 03:40:25 +00:00
Weston Ruter
1413f2edd5 Customizer: Collapse any expanded panel/sections before expanding other panel/sections
Fix removes need for workaround introduced in [33488] for direct link from nav menu widget to the customizer widgets panel. The todo is now implemented.

Props celloexpressions, westonruter.
Fixes #33396 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33805 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-31 23:08:42 +00:00
Weston Ruter
10503cd3af Customizer: Ensure persistence of unchanged active state for controls, sections, and panels.
Props nikeo, westonruter.
Fixes #33428 for trunk.
See also #33494.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-26 07:26:21 +00:00
Weston Ruter
7fcc3e50e1 Customize: Fix layout issues in panels and sections when resizing and autofocusing.
Also reverts [33157] which is no longer needed.

Props valendesigns, mattwiebe, westonruter, ocean90.
Fixes #33220.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-11 23:56:25 +00:00
Dominik Schilling
45b8634605 Customizer: Remove obsolete .control-panel-back and .customize-overlay-close buttons.
props afercia, ocean90.
see #31336.
fixes #33229.
Built from https://develop.svn.wordpress.org/trunk@33599


git-svn-id: http://core.svn.wordpress.org/trunk@33566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-09 19:00:24 +00:00
Dominik Schilling
04c21a0e3c Customizer: Restore Shift + Clicking on widgets to open the widgets panel.
Includes an alternative for jQuery UI's `:focusable` selector because it has an ancestor visibility requirement, see https://github.com/jquery/jquery-ui/pull/1583.

props westonruter.
fixes #33258.
Built from https://develop.svn.wordpress.org/trunk@33596


git-svn-id: http://core.svn.wordpress.org/trunk@33563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-08 09:37:26 +00:00
Dominik Schilling
8679a93f16 Themes: Remove legacy theme preview.
The pre-3.4 theme previewer doesn't work when using a static front page.
We kept the old theme preview for no-JS and some browsers that were less capable. But since browsers are doing a better job today we don't need to continue fixing/shipping this legacy code. Bye!

fixes #33178.
Built from https://develop.svn.wordpress.org/trunk@33492


git-svn-id: http://core.svn.wordpress.org/trunk@33459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 18:36:26 +00:00
Weston Ruter
a48604e32c Customizer: Hide empty space in footer on small screens since it is only populated on larger screens.
Props obenland.
Fixes #33138.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33421 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-28 03:43:24 +00:00
Konstantin Obenland
94aefe52dc Customizer: Use correct spelling when instantiating CustomizeImageCropper.
Introduced in [33329].

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


git-svn-id: http://core.svn.wordpress.org/trunk@33412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-27 15:55:24 +00:00
Konstantin Obenland
0f61e187b6 Site Icon: Create custom sizes for images that don't need cropping.
This will duplicate an image that doesn't need cropping once and will skip
creating new images and custom sizes if the selected image has the `site-icon`
context.

Fixes #33011.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 02:30:25 +00:00
Konstantin Obenland
0ccb9c47cb Site Icon: Center initial crop position.
Starting out at the center of the image makes for a better user experience.

Props iseulde.
Fixes #33050.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33305 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-20 19:02:24 +00:00
Konstantin Obenland
3248497cf3 Site Icon: Add crop preview to the media modal.
* Monkey patches imgAreaSelect library to support touch events.
* Removes Settings version of Site Icon since it would have been the same flow.
* Removes default value for Customizer setting - there is no default favicon.

Fixes #16434.



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


git-svn-id: http://core.svn.wordpress.org/trunk@33301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-20 15:57:25 +00:00
Weston Ruter
0f37c66077 Customizer: Defer updating nav menu item tabIndex attributes until pane is reflowed.
Introduces `pane-contents-reflowed` Customizer event.

Props valendesigns, westonruter.
Fixes #32943.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-15 20:05:25 +00:00
Konstantin Obenland
f29e5044cd Site Icon: Add Customizer UI.
Second part of the Site Icon feature after [32994] introduced it for Settings.

Props celloexpressions.
See #16434.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-10 21:33:24 +00:00
Dominik Schilling
75d6c10b01 Customizer: Use a <button> for the collapse sidebar … button.
props afercia.
fixes #32819.
Built from https://develop.svn.wordpress.org/trunk@33153


git-svn-id: http://core.svn.wordpress.org/trunk@33125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-10 21:22:26 +00:00
Dominik Schilling
2ce8d2eea2 Customizer: Accessibility enhancements.
* Move tabindex/focus code into `onChangeExpanded` so that it works for cases where `expand()` is called directly.
* Use `visibility: hidden` to hide hidden elements from keyboard focus and screen readers.

props celloexpressions.
fixes #31336.
Built from https://develop.svn.wordpress.org/trunk@33069


git-svn-id: http://core.svn.wordpress.org/trunk@33040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 20:19:25 +00:00
Aaron Jorbin
c9307fc95a Update Grunt dev-dependencies
grunt-browserify : minor version update
grunt-contrib-cssmin : minor version update
grunt-contrib-imagemin : patch version update
grunt-contrib-jshint : patch version update
grunt-contrib-uglify : minor version update (causes some changes to minified JS)
grunt-includes : minor version update
grunt-sass : major version update ( underlying libsass update ).

Props wonderboymusic
See #31700


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


git-svn-id: http://core.svn.wordpress.org/trunk@32959 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 14:51:30 +00:00
Weston Ruter
e162bb8940 Customizer: Improve previewing setting changes for show_on_front, page_on_front, and page_for_posts.
When changing the `page_on_front` setting (with `show_on_front`), change the previewed URL to be the home URL so that the effect can be seen. When changing `page_for_posts`, change the previewed URL to be the selected page.

Props valendesigns, westonruter.
Fixes #30677.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 19:59:25 +00:00
Weston Ruter
40ad21b58b Fix regressions from [32649] wrt Customizer expanded and active state changes for sections.
The `args.completeCallback` was not always called when `onChangeExpanded()` was called. And when a section became inactive (`active` state goes to `false`) and it was currently `expanded`, the Customizer panel would then becomes blank as the section was hidden; it needed to `collapse()` the section first before hiding the element.

See #31336.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-12 22:28:25 +00:00
Dominik Schilling
974ca19e36 Customizer: Improve JS templates for Panels and Sections added in [32658].
* Always fall back to using the default template if no custom template exists.
* Provide a set of default params when constructing new `Section` and `Panel` objects.

Includes QUnit tests.

Props celloexpressions, westonruter, ocean90.
Fixes #30737.
Built from https://develop.svn.wordpress.org/trunk@32681


git-svn-id: http://core.svn.wordpress.org/trunk@32651 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-01 22:47:25 +00:00
Weston Ruter
98b03d376e Add JS templates for Customizer Panels and Sections.
This extends the approach taken for Customizer Controls in #29572.

Props celloexpressions, westonruter, ocean90.
See #30737.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-30 00:03:30 +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
Dominik Schilling
7b24017cdb Customizer Theme Switcher: Don't re-render a theme control if it has already been rendered.
Move initialization of `$customizeSidebar` to `api.ThemesSection.initialize()` to prevent cases where the result can be undefined.

props westonruter, ocean90.
fixes #31793.
Built from https://develop.svn.wordpress.org/trunk@32119


git-svn-id: http://core.svn.wordpress.org/trunk@32098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-13 22:10:29 +00:00
Dominik Schilling
d43d1503f7 Customize Headers: Improve handling of the initial header model.
Headers are currently keyed by the basename of the image, see #31786. When two images have the same key only one image will be listed and the current image can be empty in the header control.
To prevent this we now fall back to the raw current header image if the image isn't in `_wpCustomizeHeader.uploads`.

props sirbrillig.
fixes #31742.
Built from https://develop.svn.wordpress.org/trunk@32091


git-svn-id: http://core.svn.wordpress.org/trunk@32070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-08 22:28:27 +00:00
Dominik Schilling
755d44736a Customizer Theme Switcher: Lazy load theme screenshots.
props westonruter, ocean90.
fixes #31793.
Built from https://develop.svn.wordpress.org/trunk@32088


git-svn-id: http://core.svn.wordpress.org/trunk@32067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-08 20:52:29 +00:00
Dominik Schilling
15f24a7730 Customizer Theme Switcher: Fix tabbing order if section is open.
see #31289.
Built from https://develop.svn.wordpress.org/trunk@32087


git-svn-id: http://core.svn.wordpress.org/trunk@32066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-08 19:03:25 +00:00
Dominik Schilling
79eee23a29 Customizer Theme Switcher: Don't deactivate section on empty search results.
props westonruter.
fixes #31889.
Built from https://develop.svn.wordpress.org/trunk@32083


git-svn-id: http://core.svn.wordpress.org/trunk@32062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-08 17:53:28 +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
59c586e5ad Customizer Theme Switcher: Remove "Add New" reference from customize-controls.js.
see #31837.
Built from https://develop.svn.wordpress.org/trunk@32004


git-svn-id: http://core.svn.wordpress.org/trunk@31983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-04 14:14:26 +00:00
Dominik Schilling
254b9e3264 Customizer Theme Switcher: Navigation streamlining.
* Detach Themes section from other controls
* Move to buttons to navigate back and forth
* Change titles based on current theme status, active/previewing
* Hide the active/previewing theme from the list of available themes

props folletto for the design concepts.
props designsimply, celloexpressions for initial patches.
props Team Gandalf.
see #31289.
Built from https://develop.svn.wordpress.org/trunk@31975


git-svn-id: http://core.svn.wordpress.org/trunk@31954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 22:51:27 +00:00
Dominik Schilling
8ab7c076d6 Customizer Theme Switcher: Switch the details/live preview buttons.
props celloexpressions, ocean90.
fixes #31791.
Built from https://develop.svn.wordpress.org/trunk@31954


git-svn-id: http://core.svn.wordpress.org/trunk@31933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 12:36:26 +00:00
Dominik Schilling
79a29b077e Customizer: Defer rendering theme controls until the section is displayed.
see #31793.
Built from https://develop.svn.wordpress.org/trunk@31944


git-svn-id: http://core.svn.wordpress.org/trunk@31923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 22:21:25 +00:00
Dominik Schilling
b07e3e2de7 Customizer: Fix calculation of panel positions when accessing via deep-links.
Make sure that the parent `li` is shown before attempting to calculate its position.
Improve also the logic for focusing on a panel to prevent focusing hidden elements.

props westonruter.
fixes #31014.
see #31794.
Built from https://develop.svn.wordpress.org/trunk@31920


git-svn-id: http://core.svn.wordpress.org/trunk@31899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-29 11:17:28 +00:00
Dominik Schilling
96b88a391b Theme Switcher: Use the global panel back button instead of adding a new one.
This ensures the back button is visible on iOS devices. Same as in [29610].

see #31794.
Built from https://develop.svn.wordpress.org/trunk@31918


git-svn-id: http://core.svn.wordpress.org/trunk@31897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-28 22:09:26 +00:00
Dominik Schilling
80972b7ecd Customizer: Fix selector for container which includes the controls. Broken since [30102].
see #31794, #31014.
Built from https://develop.svn.wordpress.org/trunk@31916


git-svn-id: http://core.svn.wordpress.org/trunk@31895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-28 20:47:30 +00:00
Dominik Schilling
ee2829959a Theme Switcher: Opening themes details modal shouldn't require two clicks on touch devices.
Inspired by [26838].

see #31794.
Built from https://develop.svn.wordpress.org/trunk@31914


git-svn-id: http://core.svn.wordpress.org/trunk@31893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-27 22:54:29 +00:00
Dominik Schilling
de7ecc80d3 Customizer: [31885] actually hasn't fixed the SecurityErrors. This one does.
props mattwiebe.
fixes #31687.
Built from https://develop.svn.wordpress.org/trunk@31893


git-svn-id: http://core.svn.wordpress.org/trunk@31872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-25 23:36:27 +00:00
Dominik Schilling
7925e4c912 Customizer: Avoid SecurityErrors when the Customizer is embedded in an origin other than wp-admin.
props mattwiebe.
fixes #31687.
Built from https://develop.svn.wordpress.org/trunk@31885


git-svn-id: http://core.svn.wordpress.org/trunk@31864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-25 17:26:26 +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
Dominik Schilling
b96a624cb9 Customizer: Fix previewing and applying widgets when previewing another theme.
* Unset `wp_get_sidebars_widgets()`' non-admin cache var `$_wp_sidebars_widgets` in Customize theme preview.
* Add `WP_Customize_Setting::$dirty` so that settings can be initially-dirty when the Customizer loads.
* Mark `old_sidebars_widgets_data` setting initially-dirty.
* Mark all `sidebars_widgets` settings as initially-dirty during theme switch.

props westonruter.
see #31484.
Built from https://develop.svn.wordpress.org/trunk@31705


git-svn-id: http://core.svn.wordpress.org/trunk@31686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 22:39:28 +00:00
Dominik Schilling
2ae3dfa119 Customizer: Add title attributes to iframes.
props afercia.
fixes #31202.
Built from https://develop.svn.wordpress.org/trunk@31704


git-svn-id: http://core.svn.wordpress.org/trunk@31685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 21:20:26 +00:00
Dominik Schilling
f9180e1b4b Customizer: Introduce WP_Customize_Media_Control.
`WP_Customize_Media_Control` is a new base class for all Customizer media controls. If used directly it supports the ID of an attachment instead of an URL like `WP_Customize_Upload_Control`.

props celloexpressions.
fixes #29215.
Built from https://develop.svn.wordpress.org/trunk@31698


git-svn-id: http://core.svn.wordpress.org/trunk@31679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 18:02:28 +00:00
Dominik Schilling
3349b7d25b Customizer: Add loading indicators for the Customizer preview.
props Fab1en, westonruter.
fixes #31196.
Built from https://develop.svn.wordpress.org/trunk@31697


git-svn-id: http://core.svn.wordpress.org/trunk@31678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 15:56:26 +00:00
Dominik Schilling
08f0376f91 Customizer: Add audio/video previews for upload controls.
props celloexpressions, Fab1en, wonderboymusic.
fixes #30850.
Built from https://develop.svn.wordpress.org/trunk@31661


git-svn-id: http://core.svn.wordpress.org/trunk@31642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 11:06:29 +00:00
Andrew Ozz
d84eda9f35 Grunt precommit cleanup. See [31533], [31535].
Built from https://develop.svn.wordpress.org/trunk@31538


git-svn-id: http://core.svn.wordpress.org/trunk@31519 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 04:17:27 +00:00
Mark Jaquith
8b180b9a46 Add theme browsing and theme switching to the Customizer
* Brings into core the Customizer Theme Switcher feature plugin
* You can now browse, preview, and activate themes right from the Customizer

fixes #31303.
props celloexpressions, afercia, westonruter, folletto, designsimply
Built from https://develop.svn.wordpress.org/trunk@31533


git-svn-id: http://core.svn.wordpress.org/trunk@31514 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-24 20:31:24 +00:00
Dominik Schilling
941075c8ca Improve the Customize experience on mobile.
Before: https://make.wordpress.org/flow/2015/02/02/a-peek-at-the-customizer-on-an-iphone-6/
After: https://make.wordpress.org/flow/2015/02/03/vizrec-for-28784-improve-the-customize-experience-on-mobile-iphone-6-28784-diff-4-2-alpha-31325/

props celloexpressions.
see #28784.
Built from https://develop.svn.wordpress.org/trunk@31384


git-svn-id: http://core.svn.wordpress.org/trunk@31365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 12:36:28 +00:00
Dominik Schilling
56981c7143 Customizer: Send JSON success for customize_save and allow response to be filtered.
props westonruter.
fixes #29098.
Built from https://develop.svn.wordpress.org/trunk@31062


git-svn-id: http://core.svn.wordpress.org/trunk@31043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-06 21:47:23 +00:00
Dominik Schilling
93605deef5 Customizer: Improve IE 8 compatibility.
* Use square bracket notation for `default` keywords.
* Use Underscores `indexOf` for arrays.

props westonruter, ocean90.
fixes #30781 for trunk.
Built from https://develop.svn.wordpress.org/trunk@30991


git-svn-id: http://core.svn.wordpress.org/trunk@30973 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-23 17:05:26 +00:00
Dominik Schilling
fcb00b75e2 Customizer: Add _wp_attachment_is_custom_background meta to uploaded background images.
Adds `$type` property to `WP_Customize_Background_Image_Control` (PHP) and introduces `wp.customize.BackgroundControl` (JS).

see #30707.
Built from https://develop.svn.wordpress.org/trunk@30885


git-svn-id: http://core.svn.wordpress.org/trunk@30873 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-15 23:28:23 +00:00
Dominik Schilling
4652717828 Customizer: Remove date filter from the Header/Background Image upload frames.
Adds an option to `wp.media.view.AttachmentsBrowser` to hide the date filter added in [29813].

see #30689.
Built from https://develop.svn.wordpress.org/trunk@30872


git-svn-id: http://core.svn.wordpress.org/trunk@30862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-15 20:27:22 +00:00
Dominik Schilling
d5914fc1c8 Customizer: Import missing wp.customize.Control.prototype._toggleActive.
Check also if `completeCallback` is set before calling it.

props westonruter.
see #30701.
Built from https://develop.svn.wordpress.org/trunk@30871


git-svn-id: http://core.svn.wordpress.org/trunk@30861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-15 19:54:21 +00:00
Dominik Schilling
858a51273a Customizer: Move private helper functions to wp.customize.utils so they can be unit tested.
Includes unit tests.

props ryankienstra, westonruter.
see #28709.
Built from https://develop.svn.wordpress.org/trunk@30716


git-svn-id: http://core.svn.wordpress.org/trunk@30706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 22:56:45 +00:00
Dominik Schilling
3db8b08686 Customizer: Enhance Background Image/Upload controls.
* Adopt the Header Image layout to the Background Image/Upload control.
* Remove templates for interactive audio/video previews. They haven't worked yet.
* Don't show a "Remove" button when the default value is set.
* Avoid calculating of container/placeholder heights which are unrelated to custom headers.

see #21483.
Built from https://develop.svn.wordpress.org/trunk@30712


git-svn-id: http://core.svn.wordpress.org/trunk@30702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 21:55: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
6d83c8c29e Customizer: Add support for the media library in Background Image controls.
`WP_Customize_Upload_Control` (PHP) and `api.UploadControl` (JS) can now open the media modal.

props celloexpressions, and ericlewis for docs.
see #21483.
Built from https://develop.svn.wordpress.org/trunk@30309


git-svn-id: http://core.svn.wordpress.org/trunk@30308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 23:52:22 +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
b250062311 Customizer: When navigating around the site within the Customizer preview, update the document title.
props westonruter.
fixes #28542.
Built from https://develop.svn.wordpress.org/trunk@30306


git-svn-id: http://core.svn.wordpress.org/trunk@30305 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 22:29:23 +00:00
Dominik Schilling
73b4f6f449 Customizer: Add stable sorting for panels, sections and controls in JS. Improve sorting in PHP.
props westonruter.
fixes #30225.
Built from https://develop.svn.wordpress.org/trunk@30214


git-svn-id: http://core.svn.wordpress.org/trunk@30214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 21:35:23 +00:00
Dominik Schilling
461507452a Customizer: Improve ColorControl's wpColorPicker to update UI based on setting changes.
Update Twenty Fifteen's `colorScheme` control to properly interact with the API, using `wp.customize.control()` instead of traversing DOM for other controls' container elements and stop manually updating color control UIs.

props westonruter.
fixes #30031.
Built from https://develop.svn.wordpress.org/trunk@30126


git-svn-id: http://core.svn.wordpress.org/trunk@30126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-31 20:45:22 +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
ef00815a3a Fix JSHint errors introduced in [30014].
props adamsilverstein.
see #29572.
Built from https://develop.svn.wordpress.org/trunk@30024


git-svn-id: http://core.svn.wordpress.org/trunk@30024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-26 12:06:19 +00:00
John Blackbourn
905b6a9d67 Add the ability for a customizer control to render its controls via a JavaScript template. Switches the default color picker control to a JavaScript template. See #29572. Props celloexpressions
Built from https://develop.svn.wordpress.org/trunk@30014


git-svn-id: http://core.svn.wordpress.org/trunk@30014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-24 16:32:18 +00:00
Dominik Schilling
4020eacd8b Customizer: Only POST dirty settings to preview to improve performance.
props westonruter.
fixes #29983.
Built from https://develop.svn.wordpress.org/trunk@29905


git-svn-id: http://core.svn.wordpress.org/trunk@29660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-15 17:50:18 +00:00
Sergey Biryukov
187e23b3d6 Customizer: Don't hide controls the preview frame has no information about.
props kovshenin.
see #27993.
Built from https://develop.svn.wordpress.org/trunk@29329


git-svn-id: http://core.svn.wordpress.org/trunk@29109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-30 16:24:18 +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
Helen Hou-Sandí
c2a3f4fab5 Customizer info section:
* Only show the theme info when doing a live preview of another theme.
* Replace with helper text about what you are customizing and what the Customizer is for.
* Fix focus styling.

props celloexpressions, westonruter. fixes #28550.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 19:53:15 +00:00
Helen Hou-Sandí
b90b64bf9e More consistent icons in place of some buttons for the Customizer and theme install preview.
* Use a single close icon instead of a context-changing cancel/close button in the Customizer. In user testing, this small distinction in language was overlooked, and we use an AYS now instead. This also makes it consistent with the back arrow in Customizer panels.
* Use the same close icon as well as the previous/next arrows from the theme details browser in the theme install preview.

props celloexpressions. fixes #28655.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 18:19:14 +00:00
Helen Hou-Sandí
b6d3c0841e Prompt the user before leaving the Customizer if they have unsaved changes. props westonruter. fixes #25439.
Built from https://develop.svn.wordpress.org/trunk@29025


git-svn-id: http://core.svn.wordpress.org/trunk@28813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 17:04:15 +00:00
Andrew Nacin
962e8113ab Customizer: Only tie header button action events to the header controls.
props danielbachhuber.
fixes #28046. see #27848.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 04:30:23 +00:00
Andrew Nacin
a2924c6be0 Custom header: Fix image ordering.
props ehg.
see #21785. fixes #27791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-13 18:22:14 +00:00
Andrew Nacin
c870767d98 Header Images: Add suggested dimensions to the media workflow.
This updates [28030] to the latest patch.

props gcorne.
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 01:57:16 +00:00
Andrew Nacin
6b41f728d4 Header Images: Add suggested dimensions to the media workflow.
props ehg, gcorne.
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 01:55:15 +00:00
Andrew Nacin
5e79b94d81 Header images: Handle cropping failures.
props ehg.
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27776 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-04 15:48:16 +00:00
Dominik Schilling
d67790d44e Customizer: Improve accessibility.
Prevent the form only from saving when enter is pressed on a select element or an input, which hasn't the button type.

props westonruter, ocean90.
fixes #26633.
Built from https://develop.svn.wordpress.org/trunk@27757


git-svn-id: http://core.svn.wordpress.org/trunk@27594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-26 22:56:29 +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
Andrew Nacin
a589d9d757 Add header image uploads with cropping to the customizer.
props mcsf, ehg, gcorne.
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-11 04:13:16 +00:00
Scott Taylor
0347a8944e 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.
Props yoavf, TobiasBg.
Fixes #26073.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-29 04:43:30 +00:00
Andrew Nacin
4e72213373 Fix JSHint errors in customize-controls.js.
props jorbin.
fixes #25917.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 06:08:10 +00:00