Commit Graph

80 Commits

Author SHA1 Message Date
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 eb0dbc8cb5 Customizer: Increase default priority for a section to 160.
props celloexpressions.
fixes #29172.
Built from https://develop.svn.wordpress.org/trunk@29508


git-svn-id: http://core.svn.wordpress.org/trunk@29285 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-15 19:36:16 +00:00
Andrew Nacin ba9ee74028 Separate WP_Customize_Panel from WP_Customize_Section.
props celloexpressions.
fixes #29197.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29265 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 04:40:17 +00:00
Dominik Schilling d062663180 Customizer: Fix ID attribute for a panel.
props celloexpressions.
fixes #29174.
Built from https://develop.svn.wordpress.org/trunk@29482


git-svn-id: http://core.svn.wordpress.org/trunk@29260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 18:26:15 +00:00
Sergey Biryukov 440be3565d Customizer: Add screen reader text to announce that panels and sections are expandable.
props joedolson, ocean90.
fixes #27591.
Built from https://develop.svn.wordpress.org/trunk@29240


git-svn-id: http://core.svn.wordpress.org/trunk@29024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 02:37:16 +00:00
Drew Jaynes 20ce795ff2 Inline documentation cleanup for 4.0 audit.
phpDoc tweaks for methods added in [28861]:
* `WP_Customize_Panel` constructor method
* `WP_Customize_Panel::render()` method

See #27406 and #28885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 00:40:15 +00:00
Dominik Schilling d617598716 Customizer: Make panel title translatable too.
props michalzuber.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@29135


git-svn-id: http://core.svn.wordpress.org/trunk@28919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 15:12:15 +00:00
Dominik Schilling e8369f9d25 Customizer: Make screen reader text translatable.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@29132


git-svn-id: http://core.svn.wordpress.org/trunk@28917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 10:54:15 +00:00
Helen Hou-Sandí 3575612966 Customizer panels:
* Close all accordion sections when going in and out of panels.
* Fix panel positioning when top-level Customizer controls are scrolled down.
* Keyboard accessibility: only focus on visible elements and transfer between them as needed when navigating around panels.

props celloexpressions. see #27406.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 20:19:15 +00:00
Helen Hou-Sandí e1db9240b7 Support descriptions for individual customizer controls.
* Control title (label) markup will also only be output if specified.
* Control section descriptions are no longer italicized for visual hierarchy / differentiation.

props celloexpressions. fixes #27981.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-30 15:55:17 +00:00
Dominik Schilling b7c93eb3d0 Customizer: Introduce a "panel" API to organize multiple sections into a one section.
Create a panel via `$GLOBALS['wp_customize']->add_panel( $panel_id, $args )` and use `$panel_id` for the `panel` argument in `$GLOBALS['wp_customize']->add_section( $section_id, $args )`. That's it.
As an example all widget area sections are now summarized into one panel. Feedback appreciated.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 20:17:15 +00:00
Sergey Biryukov c6ef7d05e0 Allow for easier adding of custom class variables when extending WP_Customize_Section or WP_Customize_Setting.
props rhurling.
fixes #27315.
Built from https://develop.svn.wordpress.org/trunk@28827


git-svn-id: http://core.svn.wordpress.org/trunk@28631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-24 22:56:14 +00:00
Scott Taylor 3c209b6f56 Add missing access modifiers to methods/members in `WP_Customize_*`.
See #27881, #22234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 05:45:16 +00:00
Drew Jaynes 3d2728f7a6 Improve some inline documentation for class properties in `WP_Customize_Section`.
Props leewillis77 for the initial patch.
Fixes #26245.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 03:02:16 +00:00
Andrew Nacin f31ac162f5 Update the Customizer API inline docs.
props ericlewis.
fixes #27065.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-04 20:21:14 +00:00
Drew Jaynes 751833c97c Inline documentation for hooks in wp-includes/class-wp-customize-section.php.
Props leewillis77, kpdesign.
Fixes #26196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26775 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-02 02:07:11 +00:00
Helen Hou-Sandí 249bb75f8f Actually display customizer section descriptions in a meaningful way. props obenland, helen. fixes #24392.
Built from https://develop.svn.wordpress.org/trunk@25102


git-svn-id: http://core.svn.wordpress.org/trunk@25084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-23 16:18:10 +00:00
Mark Jaquith 88f17f77c4 Refactor the Customizer accordion so that it can be used in other locations.
fixes #23449. props lessbloat, aaroncampbell

git-svn-id: http://core.svn.wordpress.org/trunk@23417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:58:04 +00:00
Andrew Nacin abe7ee8ec8 Keyboard accessibility for the theme customizer. props lessbloat, jorbin, JustinSainton. fixes #21283.
git-svn-id: http://core.svn.wordpress.org/trunk@22400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 14:47:25 +00:00
ryan 564a7db2cb phpdoc for Customizer classes and methods. Props bananastalktome. see #21303
git-svn-id: http://core.svn.wordpress.org/trunk@21354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-26 21:45:33 +00:00
duck_ 457d2db64b Add some missing documentation and fix a couple of typos. Props roscius. Fixes #19756.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-04 17:32:03 +00:00
koopersmith 30d798ec8d 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: http://svn.automattic.com/wordpress/trunk@20295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-28 04:14:09 +00:00
koopersmith 5443bec597 Theme Customizer: Add a WP_Customize_Setting->visibility parameter to show/hide a control based upon the value of another control. Also shifts rendering the setting wrapper element into WP_Customize_Setting->render() and adds WP_Customize_Setting->render_content(). see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-22 07:17:26 +00:00
koopersmith dbd50b0972 Theme Customizer: Numerous API refinements and bugfixes. Add a theme_supports check for header_textcolor. see #19910.
* prepare_controls() now removes any settings and sections that return false for check_capabilities().
* Added maybe_render() methods to both settings and sections that call the protected render() methods.
* Stop firing front-end preview functionality when rendering the controls.
* Merged the WP_Customize_Setting->_render_type() method into WP_Customize_Setting->render().
* Removed the 'customize_render_control-' hook; use 'customize_render_setting' instead.
* Added a  property to sections and settings so they no longer rely on the  global. Hooray for dependency injection.
* Shifted calls to WP_Customize_Setting->enqueue() to the 'customize_controls_enqueue_scripts' action.
* Added a theme_supports check for the header_textcolor setting.

git-svn-id: http://svn.automattic.com/wordpress/trunk@20248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-21 22:55:43 +00:00
koopersmith 61d7f6a476 Theme Customizer: Improve WP_Customize_Setting->check_capabilities(). Add support for arrays in WP_Customize_Setting->capability and WP_Customize_Setting->theme_supports. Don't bail when WP_Customize_Setting->capability is empty. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-21 04:59:57 +00:00
koopersmith 1ee1b90e05 Theme Customizer: Move section descriptions to the title attribute of the section name. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20182 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-15 05:32:40 +00:00
koopersmith 6bda61536e Theme Customizer: Improve sidebar CSS. Display most elements inline, refine padding/line-heights. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-15 05:30:11 +00:00
koopersmith e9652cf3fd 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: http://svn.automattic.com/wordpress/trunk@20128 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-06 22:48:07 +00:00
koopersmith 9523a9037c Theme Customizer: Improve form markup. Make the theme title/author a section. Prevent section arrows from blocking clicks. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-04 02:06:11 +00:00
koopersmith c832f904ae 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: http://svn.automattic.com/wordpress/trunk@19995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-25 04:12:43 +00:00