Commit Graph

18 Commits

Author SHA1 Message Date
Daryl Koopersmith
220b3bfafb Theme Customizer: Prevent messengers from binding to the current window when a parent doesn't exist. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20897 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 16:19:18 +00:00
Daryl Koopersmith
acdce48f5c Theme Customizer: Check for CORS support when the preview and admin urls are cross-domain. Add a fallback to the customize control frame, and check support there as well. see #20582, #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20886 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 21:13:21 +00:00
Daryl Koopersmith
47d5d564b4 Theme Customizer: Make the wp.customize.Events methods chainable. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20801 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-16 05:17:26 +00:00
Daryl Koopersmith
b010685cd2 Theme Customizer: Add the wp.customize.Events mixin to wp.customize.Values. Provide 'add', 'remove', and 'change' events by default. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20799 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-15 22:43:49 +00:00
Daryl Koopersmith
1a2375b4ee Theme Customizer: Clarify wp.customize.Values API by removing Values.pass and all methods that passed through to the wp.customize.Value objects it contained. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20798 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-15 22:14:46 +00:00
Daryl Koopersmith
10cf296150 Theme Customizer: Make wp.customize.Values.when return a jQuery.Deferred.promise() object, to add additional flexibility. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20797 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-15 22:01:36 +00:00
Daryl Koopersmith
6ad7ce44d6 Theme Customizer: Add an Events mixin to wp.customize, used by default in wp.customize.Messenger. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20795 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-15 21:28:21 +00:00
Daryl Koopersmith
7739e9186d Theme Customizer: Maintain scrolled position when preview performs a full refresh. Allow wp.customize.Messenger to send/receive falsy values. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20745 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-09 00:23:05 +00:00
Daryl Koopersmith
3540b301af Theme Customizer: Migrate to an ajax-based solution for refreshing the preview and saving. see #20507, #19910.
* Use ajax-based saving, add saving indicator.
* Use ajax-based refreshing instead of form targets.
* Instead of using hidden inputs with prefixed names to track the canonical data, use the values stored in wp.customize. Encode the values as JSON before sending to avoid bugs with ids that contain square brackets (PHP mangles POST values with nested brackets).
* Use wp.customize.Previewer solely for the purpose of previewing; move the postMessage connection with the parent frame and other unrelated code snippets into the 'ready' handler.


git-svn-id: https://develop.svn.wordpress.org/trunk@20645 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-30 15:46:17 +00:00
Daryl Koopersmith
27c4bc7b41 Theme Customizer: Use native postMessage for wp.customize.Messenger. see #19910.
* Removes use of jquery.postmessage.js
* Fixes bug where Opera would attempt to use the hash transport and redirect to the dashboard.
* Fixes bug where multiple postMessage connections could not coexist in a single frame.



git-svn-id: https://develop.svn.wordpress.org/trunk@20517 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-18 20:25:31 +00:00
Daryl Koopersmith
a43958baeb Theme Customizer: Allow the customize iframe to be accessed directly (with full feature support). see #19910.
* Move the 'Return to Manage Themes' and 'Collapse Sidebar' actions from themes.php to customize-controls.php.
* Create a postMessage connection between themes.php and customize-controls.php.
* Allow the theme customizer to be accessed directly (independent of themes.php and the customize loader).
* Add wp_customize_href() and wp_customize_url().
* Remove wp_customize_loader(). To include the loader, use wp_enqueue_script( 'customize-loader' ).
* The theme customizer now requires postMessage browser support.
* Add .hide-if-customize and .hide-if-no-customize CSS classes.
* Clean up customize-preview.js.

git-svn-id: https://develop.svn.wordpress.org/trunk@20476 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-16 14:02:28 +00:00
Daryl Koopersmith
9218ead840 Theme Customizer: Improve data binding in wp.customize.Value and wp.customize.Values. see #19910.
* Replace the convoluted wp.customize.Value.link method with a simple shortcut for direct binding.
* Add wp.customize.Value.sync for bidirectional linking.
* Add wp.customize.Value.setter for handling compound values (instead of using wp.customize.Value.link).

git-svn-id: https://develop.svn.wordpress.org/trunk@20344 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-03 22:04:40 +00:00
Daryl Koopersmith
2ca07cdf2a Create WP_Customize_Control to separate the process of rendering a control from fetching, previewing, and saving its values. see #19910.
Many-to-many mapping between settings and controls.
* Settings and controls have been separated in both the PHP (WP_Customize_Setting, WP_Customize_Control) and the JS (wp.customize.Setting, wp.customize.Control).
* While most settings are tied to a single control, some require multiple controls. The 'header_textcolor' control is a good example: to hide the header text, header_textcolor is set to 'blank'.

Add 'Display Header Text' control.

A handful of miscellaneous bugfixes along the way.

Notes:
* Controls should be separated out a bit more; juggling type-specific arguments in the switch statement is rather inelegant.
* Page dropdowns are currently inactive and need to be re-linked.

git-svn-id: https://develop.svn.wordpress.org/trunk@20295 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-28 04:14:09 +00:00
Daryl Koopersmith
a2e813571e Theme Customizer: In JavaScript, add the ability to execute a callback once a set of values have been initialized. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20257 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-22 06:52:44 +00:00
Daryl Koopersmith
21e5a2e69e Theme Customizer: Add a Control object to better encapsulate different UI elements and make it easy to switch between hard refreshes and postMessage. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20128 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-06 22:48:07 +00:00
Daryl Koopersmith
e11e5445e9 Theme Customizer: First pass at using postMessage for background color. Fix instance where preview.targetWindow would become inaccurate. Initialize setting values in customize-preview.js. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20123 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-06 02:49:02 +00:00
Daryl Koopersmith
a9cafbf2e8 Theme Customizer: Trigger UI updates only when necessary.
git-svn-id: https://develop.svn.wordpress.org/trunk@20034 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 06:18:17 +00:00
Daryl Koopersmith
9f29c06954 Introduce new theme customizer to replace theme preview. Rough first pass. props koopersmith, ocean90. see #19910.
Merges in http://plugins.svn.wordpress.org/gandalf/branches/dev/ rev 510148.

git-svn-id: https://develop.svn.wordpress.org/trunk@19995 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-25 04:12:43 +00:00