Changeset 41903
- Timestamp:
- 10/18/2017 03:10:19 PM (8 years ago)
- Location:
- trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/css/customize-controls.css
r41893 r41903 1762 1762 } 1763 1763 1764 @media screen and (min-width: 1670px) { 1765 .control-panel-themes .customize-themes-full-container { 1766 width: 82%; 1767 right: 0; 1768 left: initial; 1769 } 1770 } 1771 1764 1772 .modal-open .control-panel-themes .customize-themes-full-container { 1765 1773 overflow-y: visible; … … 1836 1844 } 1837 1845 1838 . themes-filter-bar .filter-drawer {1846 .filter-drawer { 1839 1847 box-sizing: border-box; 1840 1848 width: 100%; … … 1849 1857 } 1850 1858 1851 . themes-filter-bar .filter-group {1859 .filter-drawer .filter-group { 1852 1860 margin: 0 25px 0 0; 1853 1861 width: calc( (100% - 75px) / 3); … … 2123 2131 } 2124 2132 2133 @media screen and (min-width: 1670px) { 2134 .customize-preview-header.themes-filter-bar { 2135 width: 82%; 2136 right: 0; 2137 left: initial; 2138 } 2139 } 2140 2125 2141 .themes-filter-bar .themes-filter-container { 2126 2142 margin: 0; … … 2150 2166 margin: 0 0 25px 0; 2151 2167 } 2168 .filter-drawer { 2169 top: 46px; 2170 } 2152 2171 .wp-customizer .theme-browser .themes { 2153 2172 padding: 0 0 25px 25px; … … 2164 2183 2165 2184 @media screen and (max-width:1018px) { 2166 . themes-filter-bar .filter-group {2185 .filter-drawer .filter-group { 2167 2186 width: calc( (100% - 50px) / 2); 2168 2187 } … … 2181 2200 } 2182 2201 2183 . themes-filter-bar .filter-drawer {2202 .filter-drawer { 2184 2203 top: 86px; 2185 2204 } … … 2191 2210 2192 2211 @media screen and (max-width:792px) { 2193 . themes-filter-bar .filter-group {2212 .filter-drawer .filter-group { 2194 2213 width: calc( 100% - 25px); 2195 2214 } … … 2202 2221 /* Mobile - toggle between themes and filters */ 2203 2222 @media screen and (max-width:600px) { 2223 2224 .filter-drawer { 2225 top: 132px; 2226 } 2204 2227 2205 2228 .wp-full-overlay.showing-themes .control-panel-themes .filter-themes-count .filter-themes { -
trunk/src/wp-admin/js/customize-controls.js
r41873 r41903 1800 1800 // Toggle feature filters. 1801 1801 section.contentContainer.on( 'click', '.feature-filter-toggle', function( e ) { 1802 $( e.currentTarget ) 1802 var $themeContainer = $( '.customize-themes-full-container' ), 1803 $filterToggle = $( e.currentTarget ); 1804 section.filtersHeight = $filterToggle.parent().next( '.filter-drawer' ).height(); 1805 1806 if ( 0 < $themeContainer.scrollTop() ) { 1807 $themeContainer.animate( { scrollTop: 0 }, 400 ); 1808 1809 if ( $filterToggle.hasClass( 'open' ) ) { 1810 return; 1811 } 1812 } 1813 1814 $filterToggle 1803 1815 .toggleClass( 'open' ) 1804 1816 .attr( 'aria-expanded', function( i, attr ) { 1805 1817 return 'true' === attr ? 'false' : 'true'; 1806 1818 }) 1807 .next( '.filter-drawer' ).slideToggle( 180, 'linear', function() { 1808 if ( 0 === section.filtersHeight ) { 1809 section.filtersHeight = $( this ).height(); 1810 1811 // First time, so it's opened. 1812 section.contentContainer.find( '.themes' ).css( 'margin-top', section.filtersHeight + 76 ); 1813 } 1814 }); 1815 if ( $( e.currentTarget ).hasClass( 'open' ) ) { 1816 section.contentContainer.find( '.themes' ).css( 'margin-top', section.filtersHeight + 76 ); 1819 .parent().next( '.filter-drawer' ).slideToggle( 180, 'linear' ); 1820 1821 if ( $filterToggle.hasClass( 'open' ) ) { 1822 var marginOffset = 1018 < window.innerWidth ? 50 : 76; 1823 1824 section.contentContainer.find( '.themes' ).css( 'margin-top', section.filtersHeight + marginOffset ); 1817 1825 } else { 1818 1826 section.contentContainer.find( '.themes' ).css( 'margin-top', 0 ); -
trunk/src/wp-includes/customize/class-wp-customize-themes-section.php
r41893 r41903 81 81 <?php $this->filter_bar_content_template(); ?> 82 82 </div> 83 <# if ( 'wporg' === data.action ) { #> 84 <?php $this->filter_drawer_content_template(); ?> 85 <# } #> 83 86 <div class="error unexpected-error" style="display: none; "><p><?php _e( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ); ?></p></div> 84 87 <ul class="themes"> … … 126 129 </span> 127 130 </button> 128 <div class="filter-drawer filter-details">129 <?php130 $feature_list = get_theme_feature_list( false ); // @todo: Use the .org API instead of the local core feature list. The .org API is currently outdated and will be reconciled when the .org themes directory is next redesigned.131 foreach ( $feature_list as $feature_name => $features ) {132 echo '<fieldset class="filter-group">';133 echo '<legend>' . esc_html( $feature_name ) . '</legend>';134 echo '<div class="filter-group-feature">';135 foreach ( $features as $feature => $feature_name ) {136 echo '<input type="checkbox" id="filter-id-' . esc_attr( $feature ) . '" value="' . esc_attr( $feature ) . '" /> ';137 echo '<label for="filter-id-' . esc_attr( $feature ) . '">' . esc_html( $feature_name ) . '</label><br>';138 }139 echo '</div>';140 echo '</fieldset>';141 }142 ?>143 </div>144 131 <# } else { #> 145 132 <div class="themes-filter-container"> … … 160 147 <?php 161 148 } 149 150 /** 151 * Render the filter drawer portion of a themes section as a JS template. 152 * 153 * The template is only rendered by PHP once, so all actions are prepared at once on the server side. 154 * The filter bar container is rendered by @see `render_template()`. 155 * 156 * @since 4.9.0 157 */ 158 protected function filter_drawer_content_template() { 159 $feature_list = get_theme_feature_list( false ); // @todo: Use the .org API instead of the local core feature list. The .org API is currently outdated and will be reconciled when the .org themes directory is next redesigned. 160 ?> 161 <div class="filter-drawer filter-details"> 162 <?php foreach ( $feature_list as $feature_name => $features ) : ?> 163 <fieldset class="filter-group"> 164 <legend><?php echo esc_html( $feature_name ); ?></legend> 165 <div class="filter-group-feature"> 166 <?php foreach ( $features as $feature => $feature_name ) : ?> 167 <input type="checkbox" id="filter-id-<?php echo esc_attr( $feature ); ?>" value="<?php echo esc_attr( $feature ); ?>" /> 168 <label for="filter-id-<?php echo esc_attr( $feature ); ?>"><?php echo esc_html( $feature_name ); ?></label><br> 169 <?php endforeach; ?> 170 </div> 171 </fieldset> 172 <?php endforeach; ?> 173 </div> 174 <?php 175 } 162 176 }
Note: See TracChangeset
for help on using the changeset viewer.