Skip to content

Commit 646ad36

Browse files
author
Chad Little
committedJul 10, 2017
Move actions into Diffusion header
Summary: This moves actions into the Diffusion main header, removes the locate file box, and widens description and cloning details. Projects are not currently in this layout, but will follow up in another diff. Trying to keep these changes small and iterative. Test Plan: Locate some files, test actions dropdown, repository with and without description. Also tablet, mobile layouts. {F5040026} Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D18193
1 parent b4aedab commit 646ad36

File tree

9 files changed

+76
-30
lines changed

9 files changed

+76
-30
lines changed
 

‎resources/celerity/map.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@
7171
'rsrc/css/application/differential/revision-history.css' => '0e8eb855',
7272
'rsrc/css/application/differential/revision-list.css' => 'f3c47d33',
7373
'rsrc/css/application/differential/table-of-contents.css' => 'ae4b7a55',
74-
'rsrc/css/application/diffusion/diffusion-history.css' => '898ed727',
7574
'rsrc/css/application/diffusion/diffusion-icons.css' => '0c15255e',
7675
'rsrc/css/application/diffusion/diffusion-readme.css' => '419dd5b6',
7776
'rsrc/css/application/diffusion/diffusion-repository.css' => 'ee6f20ec',
7877
'rsrc/css/application/diffusion/diffusion-source.css' => '750add59',
78+
'rsrc/css/application/diffusion/diffusion.css' => '08991f7e',
7979
'rsrc/css/application/feed/feed.css' => 'ecd4ec57',
8080
'rsrc/css/application/files/global-drag-and-drop.css' => '5c1b47c2',
8181
'rsrc/css/application/flag/flag.css' => 'bba8f811',
@@ -570,7 +570,7 @@
570570
'differential-revision-history-css' => '0e8eb855',
571571
'differential-revision-list-css' => 'f3c47d33',
572572
'differential-table-of-contents-css' => 'ae4b7a55',
573-
'diffusion-history-css' => '898ed727',
573+
'diffusion-css' => '08991f7e',
574574
'diffusion-icons-css' => '0c15255e',
575575
'diffusion-readme-css' => '419dd5b6',
576576
'diffusion-repository-css' => 'ee6f20ec',

‎src/applications/diffusion/controller/DiffusionRepositoryController.php

+24-22
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public function handleRequest(AphrontRequest $request) {
1717
return $response;
1818
}
1919

20+
require_celerity_resource('diffusion-css');
21+
2022
$viewer = $this->getViewer();
2123
$drequest = $this->getDiffusionRequest();
2224
$repository = $drequest->getRepository();
@@ -25,11 +27,13 @@ public function handleRequest(AphrontRequest $request) {
2527
$crumbs->setBorder(true);
2628

2729
$header = $this->buildHeaderView($repository);
28-
$curtain = $this->buildCurtain($repository);
2930
$property_table = $this->buildPropertiesTable($repository);
31+
$actions = $this->buildActionList($repository);
3032
$description = $this->buildDescriptionView($repository);
3133
$locate_file = $this->buildLocateFile();
3234

35+
$header->setActionList($actions);
36+
3337
// Before we do any work, make sure we're looking at a some content: we're
3438
// on a valid branch, and the repository is not empty.
3539
$page_has_content = false;
@@ -88,14 +92,13 @@ public function handleRequest(AphrontRequest $request) {
8892

8993
$view = id(new PHUITwoColumnView())
9094
->setHeader($header)
91-
->setCurtain($curtain)
9295
->setTabs($tabs)
93-
->setMainColumn(array(
96+
->setFooter(array(
97+
$locate_file,
9498
$property_table,
9599
$description,
96-
$locate_file,
97-
))
98-
->setFooter($content);
100+
$content,
101+
));
99102

100103
return $this->newPage()
101104
->setTitle(
@@ -236,7 +239,8 @@ private function buildHeaderView(PhabricatorRepository $repository) {
236239
->setPolicyObject($repository)
237240
->setProfileHeader(true)
238241
->setImage($repository->getProfileImageURI())
239-
->setImageEditURL('/diffusion/picture/'.$repository->getID().'/');
242+
->setImageEditURL('/diffusion/picture/'.$repository->getID().'/')
243+
->addClass('diffusion-profile-header');
240244

241245
if (!$repository->isTracked()) {
242246
$header->setStatus('fa-ban', 'dark', pht('Inactive'));
@@ -254,13 +258,15 @@ private function buildHeaderView(PhabricatorRepository $repository) {
254258
return $header;
255259
}
256260

257-
private function buildCurtain(PhabricatorRepository $repository) {
261+
private function buildActionList(PhabricatorRepository $repository) {
258262
$viewer = $this->getViewer();
259263

260264
$edit_uri = $repository->getPathURI('manage/');
261-
$curtain = $this->newCurtainView($repository);
265+
$action_view = id(new PhabricatorActionListView())
266+
->setUser($viewer)
267+
->setObject($repository);
262268

263-
$curtain->addAction(
269+
$action_view->addAction(
264270
id(new PhabricatorActionView())
265271
->setName(pht('Manage Repository'))
266272
->setIcon('fa-cogs')
@@ -270,14 +276,14 @@ private function buildCurtain(PhabricatorRepository $repository) {
270276
$push_uri = $this->getApplicationURI(
271277
'pushlog/?repositories='.$repository->getMonogram());
272278

273-
$curtain->addAction(
279+
$action_view->addAction(
274280
id(new PhabricatorActionView())
275281
->setName(pht('View Push Logs'))
276282
->setIcon('fa-list-alt')
277283
->setHref($push_uri));
278284
}
279285

280-
return $curtain;
286+
return $action_view;
281287
}
282288

283289
private function buildDescriptionView(PhabricatorRepository $repository) {
@@ -290,9 +296,8 @@ private function buildDescriptionView(PhabricatorRepository $repository) {
290296
$description = new PHUIRemarkupView($viewer, $description);
291297
$view->addTextContent($description);
292298
return id(new PHUIObjectBoxView())
293-
->setHeaderText(pht('Description'))
294-
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
295-
->appendChild($view);
299+
->appendChild($view)
300+
->addClass('diffusion-profile-description');
296301
}
297302
return null;
298303
}
@@ -455,15 +460,12 @@ private function buildLocateFile() {
455460
id(new AphrontFormTypeaheadControl())
456461
->setHardpointID('locate-control')
457462
->setID('locate-input')
458-
->setLabel(pht('Locate File')));
463+
->setPlaceholder(pht('Locate File')));
459464
$form_box = id(new PHUIBoxView())
460-
->appendChild($form->buildLayoutView());
461-
$locate_panel = id(new PHUIObjectBoxView())
462-
->setHeaderText(pht('Locate File'))
463-
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
464-
->appendChild($form_box);
465+
->appendChild($form->buildLayoutView())
466+
->addClass('diffusion-profile-locate');
465467
}
466-
return $locate_panel;
468+
return $form_box;
467469
}
468470

469471
private function buildBrowseTable(

‎src/applications/diffusion/view/DiffusionBranchListView.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public function render() {
2323
$repository = $drequest->getRepository();
2424
$commits = $this->commits;
2525
$viewer = $this->getUser();
26-
require_celerity_resource('diffusion-history-css');
26+
require_celerity_resource('diffusion-css');
2727

2828
$buildables = $this->loadBuildables($commits);
2929
$have_builds = false;

‎src/applications/diffusion/view/DiffusionBrowseTableView.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function setHandles(array $handles) {
2020
public function render() {
2121
$request = $this->getDiffusionRequest();
2222
$repository = $request->getRepository();
23-
require_celerity_resource('diffusion-history-css');
23+
require_celerity_resource('diffusion-css');
2424

2525
$base_path = trim($request->getPath(), '/');
2626
if ($base_path) {

‎src/applications/diffusion/view/DiffusionCommitListView.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ private function getCommitDescription($phid) {
7373
}
7474

7575
public function render() {
76-
require_celerity_resource('diffusion-history-css');
76+
require_celerity_resource('diffusion-css');
7777
return $this->buildList();
7878
}
7979

‎src/applications/diffusion/view/DiffusionHistoryListView.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public function render() {
77
$viewer = $this->getUser();
88
$repository = $drequest->getRepository();
99

10-
require_celerity_resource('diffusion-history-css');
10+
require_celerity_resource('diffusion-css');
1111
Javelin::initBehavior('phabricator-tooltips');
1212

1313
$buildables = $this->loadBuildables(

‎src/applications/diffusion/view/DiffusionTagListView.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function render() {
2929
$drequest = $this->getDiffusionRequest();
3030
$repository = $drequest->getRepository();
3131
$viewer = $this->getViewer();
32-
require_celerity_resource('diffusion-history-css');
32+
require_celerity_resource('diffusion-css');
3333

3434
$buildables = $this->loadBuildables($this->commits);
3535

‎src/view/form/control/AphrontFormTypeaheadControl.php

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
final class AphrontFormTypeaheadControl extends AphrontFormControl {
44

55
private $hardpointID;
6+
private $placeholder;
67

78
public function setHardpointID($hardpoint_id) {
89
$this->hardpointID = $hardpoint_id;
@@ -13,6 +14,11 @@ public function getHardpointID() {
1314
return $this->hardpointID;
1415
}
1516

17+
public function setPlaceholder($placeholder) {
18+
$this->placeholder = $placeholder;
19+
return $this;
20+
}
21+
1622
protected function getCustomControlClass() {
1723
return 'aphront-form-control-typeahead';
1824
}
@@ -30,6 +36,7 @@ protected function renderInput() {
3036
'type' => 'text',
3137
'name' => $this->getName(),
3238
'value' => $this->getValue(),
39+
'placeholder' => $this->placeholder,
3340
'disabled' => $this->getDisabled() ? 'disabled' : null,
3441
'autocomplete' => 'off',
3542
'id' => $this->getID(),

‎webroot/rsrc/css/application/diffusion/diffusion-history.css ‎webroot/rsrc/css/application/diffusion/diffusion.css

+38-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,44 @@
11
/**
2-
* @provides diffusion-history-css
2+
* @provides diffusion-css
33
*/
44

5+
/* - Home Styles ------------------------------------------------------------*/
6+
7+
.diffusion-profile-header.phui-profile-header .phui-header-col3 {
8+
vertical-align: middle;
9+
}
10+
11+
.diffusion-profile-header .phui-header-action-links a.button {
12+
display: block;
13+
}
14+
15+
.diffusion-profile-locate .phui-form-view {
16+
margin: 0 0 16px 0;
17+
padding: 0;
18+
}
19+
20+
.diffusion-profile-locate .phui-form-view .aphront-form-control {
21+
padding: 0;
22+
}
23+
24+
.diffusion-profile-locate .phui-form-view .aphront-form-input {
25+
margin: 0;
26+
width: 480px;
27+
}
28+
29+
.device .diffusion-profile-locate .phui-form-view .aphront-form-input {
30+
margin: 0;
31+
width: 100%;
32+
}
33+
34+
.diffusion-profile-description.phui-object-box {
35+
padding: 0;
36+
}
37+
38+
.device-phone .diffusion-profile-description.phui-object-box {
39+
padding: 0;
40+
}
41+
542
/* - List Styles ------------------------------------------------------------*/
643

744
.diffusion-history-list .phui-oi-link {

0 commit comments

Comments
 (0)
Failed to load comments.