Skip to content

Commit 11e84c1

Browse files
author
Chad Little
committed
Redesign Application Search
Summary: This moves aphront-side-nav to use same table css display as profile nav. Slightly less code to support. Cleans up AppSearch UI, think I've gotten all the edge cases here, but bang on it, can hold until after release cut. Test Plan: Config, Maniphest, Differential, Diffusion, Home. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D16346
1 parent 5380d87 commit 11e84c1

20 files changed

+271
-166
lines changed

resources/celerity/map.php

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88
return array(
99
'names' => array(
10-
'core.pkg.css' => '8b87d014',
10+
'core.pkg.css' => 'a90e12a7',
1111
'core.pkg.js' => '13c7e56a',
1212
'darkconsole.pkg.js' => 'e7393ebb',
1313
'differential.pkg.css' => '3fb7f532',
@@ -24,7 +24,7 @@
2424
'rsrc/css/aphront/multi-column.css' => 'fd18389d',
2525
'rsrc/css/aphront/notification.css' => '3f6c89c9',
2626
'rsrc/css/aphront/panel-view.css' => '8427b78d',
27-
'rsrc/css/aphront/phabricator-nav-view.css' => 'ac79a758',
27+
'rsrc/css/aphront/phabricator-nav-view.css' => '370da55a',
2828
'rsrc/css/aphront/table-view.css' => '832656fd',
2929
'rsrc/css/aphront/tokenizer.css' => '056da01b',
3030
'rsrc/css/aphront/tooltip.css' => '1a07aea8',
@@ -99,6 +99,7 @@
9999
'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5',
100100
'rsrc/css/application/releeph/releeph-request-differential-create-dialog.css' => '8d8b92cd',
101101
'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae',
102+
'rsrc/css/application/search/application-search-view.css' => 'b3e0e5ef',
102103
'rsrc/css/application/search/search-results.css' => '7dea472c',
103104
'rsrc/css/application/slowvote/slowvote.css' => 'a94b7230',
104105
'rsrc/css/application/tokens/tokens.css' => '3d0f239e',
@@ -113,30 +114,30 @@
113114
'rsrc/css/font/font-lato.css' => 'c7ccd872',
114115
'rsrc/css/font/phui-font-icon-base.css' => '6449bce8',
115116
'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82',
116-
'rsrc/css/layout/phabricator-side-menu-view.css' => 'dd849797',
117117
'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983',
118118
'rsrc/css/phui/calendar/phui-calendar-day.css' => '572b1893',
119119
'rsrc/css/phui/calendar/phui-calendar-list.css' => 'fcc9fb41',
120120
'rsrc/css/phui/calendar/phui-calendar-month.css' => '8e10e92c',
121-
'rsrc/css/phui/calendar/phui-calendar.css' => 'daadaf39',
121+
'rsrc/css/phui/calendar/phui-calendar.css' => '477acfaa',
122122
'rsrc/css/phui/phui-action-list.css' => 'c5eba19d',
123123
'rsrc/css/phui/phui-action-panel.css' => '91c7b835',
124124
'rsrc/css/phui/phui-badge.css' => '3baef8db',
125+
'rsrc/css/phui/phui-basic-nav-view.css' => 'bfc71dd0',
125126
'rsrc/css/phui/phui-big-info-view.css' => 'bd903741',
126127
'rsrc/css/phui/phui-box.css' => '5c8387cf',
127128
'rsrc/css/phui/phui-button.css' => '4a5fbe3d',
128129
'rsrc/css/phui/phui-chart.css' => '6bf6f78e',
129-
'rsrc/css/phui/phui-crumbs-view.css' => 'b4fa5755',
130+
'rsrc/css/phui/phui-crumbs-view.css' => '9dac418c',
130131
'rsrc/css/phui/phui-curtain-view.css' => '7148ae25',
131-
'rsrc/css/phui/phui-document-pro.css' => 'a3730b94',
132+
'rsrc/css/phui/phui-document-pro.css' => 'dc3d46ed',
132133
'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf',
133134
'rsrc/css/phui/phui-document.css' => '715aedfb',
134135
'rsrc/css/phui/phui-feed-story.css' => 'aa49845d',
135136
'rsrc/css/phui/phui-fontkit.css' => '9cda225e',
136137
'rsrc/css/phui/phui-form-view.css' => 'fab0a10f',
137138
'rsrc/css/phui/phui-form.css' => 'aac1d51d',
138139
'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f',
139-
'rsrc/css/phui/phui-header-view.css' => '4c7dd8f5',
140+
'rsrc/css/phui/phui-header-view.css' => '06385974',
140141
'rsrc/css/phui/phui-hovercard.css' => 'de1a2119',
141142
'rsrc/css/phui/phui-icon-set-selector.css' => '1ab67aad',
142143
'rsrc/css/phui/phui-icon.css' => 'd0534b71',
@@ -148,7 +149,7 @@
148149
'rsrc/css/phui/phui-object-item-list-view.css' => '8d99e42b',
149150
'rsrc/css/phui/phui-pager.css' => 'bea33d23',
150151
'rsrc/css/phui/phui-pinboard-view.css' => '2495140e',
151-
'rsrc/css/phui/phui-profile-menu.css' => 'c8557f33',
152+
'rsrc/css/phui/phui-profile-menu.css' => '8a3fc181',
152153
'rsrc/css/phui/phui-property-list-view.css' => '6d8e58ac',
153154
'rsrc/css/phui/phui-remarkup-preview.css' => '1a8f2591',
154155
'rsrc/css/phui/phui-segment-bar-view.css' => '46342871',
@@ -541,6 +542,7 @@
541542
'aphront-tokenizer-control-css' => '056da01b',
542543
'aphront-tooltip-css' => '1a07aea8',
543544
'aphront-typeahead-control-css' => 'd4f16145',
545+
'application-search-view-css' => 'b3e0e5ef',
544546
'auth-css' => '0877ed6e',
545547
'bulk-job-css' => 'df9c1d4a',
546548
'changeset-view-manager' => 'a2828756',
@@ -784,7 +786,7 @@
784786
'phabricator-keyboard-shortcut' => '1ae869f2',
785787
'phabricator-keyboard-shortcut-manager' => '4a021c10',
786788
'phabricator-main-menu-view' => 'b623169f',
787-
'phabricator-nav-view-css' => 'ac79a758',
789+
'phabricator-nav-view-css' => '370da55a',
788790
'phabricator-notification' => 'ccf1cbf8',
789791
'phabricator-notification-css' => '3f6c89c9',
790792
'phabricator-notification-menu-css' => 'f31c0bde',
@@ -794,7 +796,6 @@
794796
'phabricator-remarkup-css' => '523d34bb',
795797
'phabricator-search-results-css' => '7dea472c',
796798
'phabricator-shaped-request' => '7cbe244b',
797-
'phabricator-side-menu-view-css' => 'dd849797',
798799
'phabricator-slowvote-css' => 'a94b7230',
799800
'phabricator-source-code-view-css' => 'cbeef983',
800801
'phabricator-standard-page-view' => 'e709f6d0',
@@ -824,26 +825,27 @@
824825
'phriction-document-css' => '4282e4ad',
825826
'phui-action-panel-css' => '91c7b835',
826827
'phui-badge-view-css' => '3baef8db',
828+
'phui-basic-nav-view-css' => 'bfc71dd0',
827829
'phui-big-info-view-css' => 'bd903741',
828830
'phui-box-css' => '5c8387cf',
829831
'phui-button-css' => '4a5fbe3d',
830-
'phui-calendar-css' => 'daadaf39',
832+
'phui-calendar-css' => '477acfaa',
831833
'phui-calendar-day-css' => '572b1893',
832834
'phui-calendar-list-css' => 'fcc9fb41',
833835
'phui-calendar-month-css' => '8e10e92c',
834836
'phui-chart-css' => '6bf6f78e',
835-
'phui-crumbs-view-css' => 'b4fa5755',
837+
'phui-crumbs-view-css' => '9dac418c',
836838
'phui-curtain-view-css' => '7148ae25',
837839
'phui-document-summary-view-css' => '9ca48bdf',
838840
'phui-document-view-css' => '715aedfb',
839-
'phui-document-view-pro-css' => 'a3730b94',
841+
'phui-document-view-pro-css' => 'dc3d46ed',
840842
'phui-feed-story-css' => 'aa49845d',
841843
'phui-font-icon-base-css' => '6449bce8',
842844
'phui-fontkit-css' => '9cda225e',
843845
'phui-form-css' => 'aac1d51d',
844846
'phui-form-view-css' => 'fab0a10f',
845847
'phui-head-thing-view-css' => 'fd311e5f',
846-
'phui-header-view-css' => '4c7dd8f5',
848+
'phui-header-view-css' => '06385974',
847849
'phui-hovercard' => '1bd28176',
848850
'phui-hovercard-view-css' => 'de1a2119',
849851
'phui-icon-set-selector-css' => '1ab67aad',
@@ -857,7 +859,7 @@
857859
'phui-object-item-list-view-css' => '8d99e42b',
858860
'phui-pager-css' => 'bea33d23',
859861
'phui-pinboard-view-css' => '2495140e',
860-
'phui-profile-menu-css' => 'c8557f33',
862+
'phui-profile-menu-css' => '8a3fc181',
861863
'phui-property-list-view-css' => '6d8e58ac',
862864
'phui-remarkup-preview-css' => '1a8f2591',
863865
'phui-segment-bar-view-css' => '46342871',
@@ -2252,7 +2254,7 @@
22522254
'phui-header-view-css',
22532255
'phabricator-filetree-view-css',
22542256
'phabricator-nav-view-css',
2255-
'phabricator-side-menu-view-css',
2257+
'phui-basic-nav-view-css',
22562258
'phui-crumbs-view-css',
22572259
'phui-object-item-list-view-css',
22582260
'global-drag-and-drop-css',

resources/celerity/packages.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
'phui-header-view-css',
114114
'phabricator-filetree-view-css',
115115
'phabricator-nav-view-css',
116-
'phabricator-side-menu-view-css',
116+
'phui-basic-nav-view-css',
117117
'phui-crumbs-view-css',
118118
'phui-object-item-list-view-css',
119119
'global-drag-and-drop-css',

src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -369,13 +369,13 @@ private function buildCalendarMonthView(
369369
->setName($from->format('F Y'));
370370

371371
$header = id(new PHUIHeaderView())
372+
->setProfileHeader(true)
372373
->setHeader($from->format('F Y'));
373374

374375
return id(new PhabricatorApplicationSearchResultView())
375376
->setCrumbs($crumbs)
376377
->setHeader($header)
377-
->setContent($month_view)
378-
->setCollapsed(true);
378+
->setContent($month_view);
379379
}
380380

381381
private function buildCalendarDayView(
@@ -443,13 +443,13 @@ private function buildCalendarDayView(
443443
);
444444

445445
$header = id(new PHUIHeaderView())
446+
->setProfileHeader(true)
446447
->setHeader($from->format('D, F jS'));
447448

448449
return id(new PhabricatorApplicationSearchResultView())
449450
->setCrumbs($crumbs)
450451
->setHeader($header)
451-
->setContent($day_view)
452-
->setCollapsed(true);
452+
->setContent($day_view);
453453
}
454454

455455
private function getDisplayYearAndMonthAndDay(

src/applications/celerity/postprocessor/CelerityDefaultPostprocessor.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ public function buildVariables() {
194194

195195
// Background color for "most" themes.
196196
'page.background' => '#f8f8fb',
197+
'page.sidenav' => '#f0f0f2',
197198

198199
'menu.profile.text' => 'rgba(255,255,255,.8)',
199200
'menu.profile.text.selected' => 'rgba(255,255,255,1)',

src/applications/search/controller/PhabricatorApplicationSearchController.php

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,12 @@ private function processSearchRequest() {
193193
}
194194

195195
$header = id(new PHUIHeaderView())
196-
->setHeader($title);
196+
->setHeader($title)
197+
->setProfileHeader(true);
197198

198199
$box = id(new PHUIObjectBoxView())
199-
->setHeader($header);
200+
->setHeader($header)
201+
->addClass('application-search-results');
200202

201203
if ($run_query || $named_query) {
202204
$box->setShowHide(
@@ -281,9 +283,8 @@ private function processSearchRequest() {
281283

282284
if ($pager->willShowPagingControls()) {
283285
$pager_box = id(new PHUIBoxView())
284-
->addPadding(PHUI::PADDING_MEDIUM)
285-
->addMargin(PHUI::MARGIN_LARGE)
286-
->setBorder(true)
286+
->setColor(PHUIBoxView::GREY)
287+
->addClass('application-search-pager')
287288
->appendChild($pager);
288289
$body[] = $pager_box;
289290
}
@@ -308,7 +309,8 @@ private function processSearchRequest() {
308309
}
309310

310311
$crumbs = $parent
311-
->buildApplicationCrumbs();
312+
->buildApplicationCrumbs()
313+
->setBorder(true);
312314

313315
if ($more_crumbs) {
314316
$query_uri = $engine->getQueryResultsPageURI($saved_query->getQueryKey());
@@ -321,12 +323,15 @@ private function processSearchRequest() {
321323
$crumbs->addTextCrumb($title);
322324
}
323325

326+
require_celerity_resource('application-search-view-css');
327+
324328
return $this->newPage()
325329
->setApplicationMenu($this->buildApplicationMenu())
326330
->setTitle(pht('Query: %s', $title))
327331
->setCrumbs($crumbs)
328332
->setNavigation($nav)
329-
->appendChild($body);
333+
->appendChild($body)
334+
->addClass('application-search-view');
330335
}
331336

332337
private function processEditRequest() {
@@ -403,19 +408,28 @@ private function processEditRequest() {
403408

404409
$crumbs = $parent
405410
->buildApplicationCrumbs()
406-
->addTextCrumb(pht('Saved Queries'), $engine->getQueryManagementURI());
411+
->addTextCrumb(pht('Saved Queries'), $engine->getQueryManagementURI())
412+
->setBorder(true);
407413

408414
$nav->selectFilter('query/edit');
409415

416+
$header = id(new PHUIHeaderView())
417+
->setHeader(pht('Saved Queries'))
418+
->setProfileHeader(true);
419+
410420
$box = id(new PHUIObjectBoxView())
411-
->setHeaderText(pht('Saved Queries'))
412-
->setObjectList($list);
421+
->setHeader($header)
422+
->setObjectList($list)
423+
->addClass('application-search-results');
424+
425+
require_celerity_resource('application-search-view-css');
413426

414427
return $this->newPage()
415428
->setApplicationMenu($this->buildApplicationMenu())
416429
->setTitle(pht('Saved Queries'))
417430
->setCrumbs($crumbs)
418431
->setNavigation($nav)
432+
->addClass('application-search-view')
419433
->appendChild($box);
420434
}
421435

src/view/control/AphrontCursorPagerView.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public function render() {
148148
->setHref($first_uri)
149149
->setIcon($icon)
150150
->addClass('mml')
151-
->setColor(PHUIButtonView::SIMPLE)
151+
->setColor(PHUIButtonView::GREY)
152152
->setText(pht('First'));
153153
}
154154

@@ -161,7 +161,7 @@ public function render() {
161161
->setHref($prev_uri)
162162
->setIcon($icon)
163163
->addClass('mml')
164-
->setColor(PHUIButtonView::SIMPLE)
164+
->setColor(PHUIButtonView::GREY)
165165
->setText(pht('Prev'));
166166
}
167167

@@ -174,7 +174,7 @@ public function render() {
174174
->setHref($next_uri)
175175
->setIcon($icon, false)
176176
->addClass('mml')
177-
->setColor(PHUIButtonView::SIMPLE)
177+
->setColor(PHUIButtonView::GREY)
178178
->setText(pht('Next'));
179179
}
180180

src/view/layout/AphrontSideNavFilterView.php

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -193,24 +193,18 @@ public function render() {
193193
}
194194
}
195195

196-
require_celerity_resource('phabricator-side-menu-view-css');
196+
require_celerity_resource('phui-basic-nav-view-css');
197197

198198
return $this->renderFlexNav();
199199
}
200200

201201
private function renderFlexNav() {
202202
require_celerity_resource('phabricator-nav-view-css');
203+
require_celerity_resource('phui-profile-menu-css');
203204

204205
$nav_classes = array();
205206
$nav_classes[] = 'phabricator-nav';
206207

207-
if ($this->getIsProfileMenu()) {
208-
require_celerity_resource('phui-profile-menu-css');
209-
// No class, we're going to put it on the shell instead.
210-
} else {
211-
$nav_classes[] = 'phabricator-basic-nav';
212-
}
213-
214208
$nav_id = null;
215209
$drag_id = null;
216210
$content_id = celerity_generate_unique_node_id();
@@ -284,16 +278,6 @@ private function renderFlexNav() {
284278

285279
$nav_classes = array_merge($nav_classes, $this->classes);
286280

287-
$footer = $this->footer;
288-
289-
if ($this->getIsProfileMenu()) {
290-
$internal_footer = $footer;
291-
$external_footer = null;
292-
} else {
293-
$internal_footer = null;
294-
$external_footer = $footer;
295-
}
296-
297281
$menu = phutil_tag(
298282
'div',
299283
array(
@@ -312,26 +296,28 @@ private function renderFlexNav() {
312296
array(
313297
$crumbs,
314298
$this->renderChildren(),
315-
$internal_footer,
299+
$this->footer,
316300
)),
317301
));
318302

303+
$classes = array();
304+
$classes[] = 'phui-navigation-shell';
305+
319306
if ($this->getIsProfileMenu()) {
320-
$shell = phutil_tag(
321-
'div',
322-
array(
323-
'class' => 'phui-navigation-shell phui-profile-menu',
324-
),
325-
array(
326-
$menu,
327-
));
307+
$classes[] = 'phui-profile-menu';
328308
} else {
329-
$shell = array(
330-
$menu,
331-
$external_footer,
332-
);
309+
$classes[] = 'phui-basic-nav';
333310
}
334311

312+
$shell = phutil_tag(
313+
'div',
314+
array(
315+
'class' => implode(' ', $classes),
316+
),
317+
array(
318+
$menu,
319+
));
320+
335321
return $shell;
336322
}
337323

0 commit comments

Comments
 (0)