@@ -29,11 +29,21 @@ final class AphrontSideNavFilterView extends AphrontView {
29
29
private $ user ;
30
30
private $ active ;
31
31
private $ menu ;
32
+ private $ crumbs ;
32
33
33
34
public function __construct () {
34
35
$ this ->menu = new PhabricatorMenuView ();
35
36
}
36
37
38
+ public function setCrumbs (PhabricatorCrumbsView $ crumbs ) {
39
+ $ this ->crumbs = $ crumbs ;
40
+ return $ this ;
41
+ }
42
+
43
+ public function getCrumbs () {
44
+ return $ this ->crumbs ;
45
+ }
46
+
37
47
public function setActive ($ active ) {
38
48
$ this ->active = $ active ;
39
49
return $ this ;
@@ -54,6 +64,10 @@ public function setFlexible($flexible) {
54
64
return $ this ;
55
65
}
56
66
67
+ public function getMenuView () {
68
+ return $ this ->menu ;
69
+ }
70
+
57
71
public function addMenuItem (PhabricatorMenuItemView $ item ) {
58
72
$ this ->menu ->addMenuItem ($ item );
59
73
return $ this ;
@@ -120,6 +134,10 @@ public function selectFilter($key, $default = null) {
120
134
return $ this ->selectedFilter ;
121
135
}
122
136
137
+ public function getSelectedFilter () {
138
+ return $ this ->selectedFilter ;
139
+ }
140
+
123
141
public function render () {
124
142
if ($ this ->menu ->getItems ()) {
125
143
if (!$ this ->baseURI ) {
@@ -187,13 +205,20 @@ private function renderFlexNav() {
187
205
self ::renderSingleView ($ this ->menu ));
188
206
}
189
207
208
+ $ crumbs = null ;
209
+ if ($ this ->crumbs ) {
210
+ $ crumbs = $ this ->crumbs ->render ();
211
+ $ nav_classes [] = 'has-crumbs ' ;
212
+ }
213
+
190
214
Javelin::initBehavior (
191
215
'phabricator-nav ' ,
192
216
array (
193
217
'mainID ' => $ main_id ,
194
218
'localID ' => $ local_id ,
195
219
'dragID ' => $ drag_id ,
196
220
'contentID ' => $ content_id ,
221
+ 'menuSize ' => ($ crumbs ? 78 : 44 ),
197
222
));
198
223
199
224
if ($ this ->active && $ local_id ) {
@@ -204,17 +229,7 @@ private function renderFlexNav() {
204
229
));
205
230
}
206
231
207
- $ header_part =
208
- '<div class="phabricator-nav-head"> ' .
209
- '<div class="phabricator-nav-head-tablet"> ' .
210
- '<a href="#" class="nav-button nav-button-w nav-button-menu" ' .
211
- 'id="tablet-menu1"></a> ' .
212
- '<a href="#" class="nav-button nav-button-e nav-button-content ' .
213
- 'nav-button-selected" id="tablet-menu2"></a> ' .
214
- '</div> ' .
215
- '</div> ' ;
216
-
217
- return $ header_part .phutil_render_tag (
232
+ return $ crumbs .phutil_render_tag (
218
233
'div ' ,
219
234
array (
220
235
'class ' => implode (' ' , $ nav_classes ),
0 commit comments