Make WordPress Core

Ticket #29949: 29949.diff

File 29949.diff, 5.8 KB (added by celloexpressions, 10 years ago)

Better collapsed mode for the Customizer. Requires 28504.2.diff, see #28504.

Line 
1Index: src/wp-admin/css/customize-controls.css
2===================================================================
3--- src/wp-admin/css/customize-controls.css     (revision 29885)
4+++ src/wp-admin/css/customize-controls.css     (working copy)
5@@ -208,7 +208,8 @@
6        transition: color .1s ease-in-out, background .1s ease-in-out;
7 }
8 
9-.control-panel-back {
10+.control-panel-back,
11+.expand-controls {
12        display: block;
13        position: fixed;
14        top: 0;
15@@ -224,14 +225,26 @@
16        transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
17 }
18 
19-.collapsed .control-panel-back {
20+.expand-controls {
21+       padding-right: 0;
22+       transition: none;
23+}
24+
25+.collapsed .control-panel-back,
26+.collapsed .customize-controls-close {
27        display: none;
28 }
29 
30+.collapsed .expand-controls {
31+       left: 0;
32+}
33+
34 .customize-controls-close:focus,
35 .customize-controls-close:hover,
36 .control-panel-back:focus,
37-.control-panel-back:hover {
38+.control-panel-back:hover,
39+.expand-controls:focus,
40+.expand-controls:hover {
41        background: #ddd;
42        border-color: #ccc;
43        color: #000;
44@@ -256,6 +269,18 @@
45        left: 13px;
46 }
47 
48+.expand-controls:before {
49+       font: normal 20px/1 dashicons;
50+       content: "\f345";
51+       position: relative;
52+       top: 7px;
53+       left: 13px;
54+}
55+
56+.rtl .expand-controls:before {
57+       content: "\f341";
58+}
59+
60 .rtl .control-panel-back:before {
61        content: "\f344";
62 }
63@@ -431,9 +456,11 @@
64        box-shadow: none !important;
65        -webkit-border-radius: 0 !important;
66        border-radius: 0 !important;
67+       position: fixed;
68+       left: 0;
69+       bottom: 0;
70 }
71 
72-
73 .collapse-sidebar:active,
74 .collapse-sidebar:active .collapse-sidebar-label,
75 .collapse-sidebar:active .collapse-sidebar-arrow:before {
76@@ -440,10 +467,110 @@
77        text-shadow: none;
78 }
79 
80-.collapsed .collapse-sidebar-arrow:before {
81-       color: #888;
82+/* Collapsed Mode */
83+@media screen and (min-width:600px) {
84+       .collapsed #customize-preview {
85+               left: 46px;
86+       }
87+
88+       .wp-full-overlay.collapsed #customize-controls {
89+               margin-left: 0;
90+               width: 46px;
91+               white-space: nowrap;
92+       }
93+
94+       .collapsed .wp-full-overlay-main {
95+               right: 0;
96+               width: auto;
97+       }
98+
99+       .collapsed #customize-info,
100+       .collapsed #customize-controls .accordion-section-title:after {
101+               display: none;
102+       }
103+
104+       .collapsed .control-section .accordion-section-title,
105+       .collapsed .control-panel .accordion-section-title {
106+               white-space: nowrap;
107+               overflow: hidden;
108+               text-overflow: ellipsis;
109+       }
110+
111+       .collapsed #customize-controls .wp-full-overlay-sidebar-content {
112+               overflow-y: hidden;
113+       }
114+
115+       /* No animation fading in, as it causes layout issues */
116+       .expanded.wp-full-overlay,
117+       .expanded #customize-preview,
118+       .expanded #customize-controls {
119+               transition: none;
120+       }
121+
122+       .in-sub-panel.wp-full-overlay,
123+       .collapsed.wp-full-overlay,
124+       .in-sub-panel #customize-preview,
125+       .collapsed #customize-preview,
126+       .collapsed #customize-controls {
127+               transition: all .2s linear;
128+       }
129+
130+ }
131+
132 /* Style for custom settings */
133 
134 /*
135Index: src/wp-admin/css/themes.css
136===================================================================
137--- src/wp-admin/css/themes.css (revision 29885)
138+++ src/wp-admin/css/themes.css (working copy)
139@@ -1464,7 +1464,7 @@
140 
141 /* Collapse Button */
142 .wp-full-overlay a.collapse-sidebar {
143-       position: absolute;
144+       position: fixed;
145        bottom: 12px;
146        left: 0;
147        z-index: 50;
148@@ -1483,11 +1483,6 @@
149        color: #0074a2;
150 }
151 
152-.wp-full-overlay.collapsed .collapse-sidebar {
153-       position: absolute;
154-       left: 100%;
155-}
156-
157 .wp-full-overlay .collapse-sidebar-arrow {
158        position: static;
159        margin-top: 0;
160Index: src/wp-admin/customize.php
161===================================================================
162--- src/wp-admin/customize.php  (revision 29885)
163+++ src/wp-admin/customize.php  (working copy)
164@@ -122,6 +122,7 @@
165                                <span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
166                        </a>
167                        <span class="control-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></span>
168+                       <span class="expand-controls" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Expand controls' ); ?></span></span>
169                </div>
170 
171                <?php
172@@ -173,7 +174,7 @@
173                <div id="customize-footer-actions" class="wp-full-overlay-footer">
174                        <a href="#" class="collapse-sidebar button-secondary" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
175                                <span class="collapse-sidebar-arrow"></span>
176-                               <span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
177+                               <span class="collapse-sidebar-label"><?php _e( 'Collapse controls' ); ?></span>
178                        </a>
179                </div>
180        </form>
181Index: src/wp-admin/js/customize-controls.js
182===================================================================
183--- src/wp-admin/js/customize-controls.js       (revision 29885)
184+++ src/wp-admin/js/customize-controls.js       (working copy)
185@@ -1185,14 +1185,33 @@
186                                this.click();
187                });
188 
189+               $('.expand-controls').on( 'click keydown', function( event ) {
190+                       overlay.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
191+               });
192+
193                $('.collapse-sidebar').on( 'click keydown', function( event ) {
194-                       if ( event.type === 'keydown' &&  13 !== event.which ) // enter
195+                       if ( event.type === 'keydown' &&  13 !== event.which ) { // enter
196                                return;
197+                       }
198 
199                        overlay.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
200+                       $('.control-section.open .accordion-section-title').trigger( 'click' );
201+                       if ( overlay.hasClass('in-sub-panel') ) {
202+                               $('.control-panel-back').trigger( 'click' );
203+                       }
204                        event.preventDefault();
205                });
206 
207+               $('.accordion-section-title').on( 'click keydown', function( event ) {
208+                       if ( event.type === 'keydown' &&  13 !== event.which ) { // enter
209+                               return;
210+                       } else if ( overlay.hasClass( 'collapsed' ) ) {
211+                               if ( ! $( this ).closest( '.control-section' ).hasClass( 'open' ) ) {
212+                                       $( '.expand-controls' ).trigger( 'click' );                             
213+                               }
214+                       }
215+               });
216+
217                // Bind site title display to the corresponding field.
218                if ( title.length ) {
219                        $( '#customize-control-blogname input' ).on( 'input', function() {