Page MenuHomePhabricator

D11340.diff
No OneTemporary

D11340.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -7,7 +7,7 @@
*/
return array(
'names' => array(
- 'core.pkg.css' => '8fc8031a',
+ 'core.pkg.css' => '2b129813',
'core.pkg.js' => '61af8961',
'darkconsole.pkg.js' => '8ab24e01',
'differential.pkg.css' => '8af45893',
@@ -112,7 +112,7 @@
'rsrc/css/font/font-awesome.css' => '0c10d96b',
'rsrc/css/font/font-source-sans-pro.css' => '91d53463',
'rsrc/css/font/phui-font-icon-base.css' => '3dad2ae3',
- 'rsrc/css/layout/phabricator-crumbs-view.css' => 'a49339de',
+ 'rsrc/css/layout/phabricator-crumbs-view.css' => 'd5aa87e4',
'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82',
'rsrc/css/layout/phabricator-hovercard-view.css' => '893f4783',
'rsrc/css/layout/phabricator-side-menu-view.css' => '90eafc85',
@@ -130,7 +130,7 @@
'rsrc/css/phui/phui-fontkit.css' => '9c3d2dce',
'rsrc/css/phui/phui-form-view.css' => 'aad06f2a',
'rsrc/css/phui/phui-form.css' => '9aecbda1',
- 'rsrc/css/phui/phui-header-view.css' => '8d9907ad',
+ 'rsrc/css/phui/phui-header-view.css' => '0873d56f',
'rsrc/css/phui/phui-icon.css' => 'a013a63d',
'rsrc/css/phui/phui-image-mask.css' => '5a8b09c8',
'rsrc/css/phui/phui-info-panel.css' => '27ea50a1',
@@ -707,7 +707,7 @@
'phabricator-content-source-view-css' => '4b8b05d4',
'phabricator-core-css' => 'ca42b69f',
'phabricator-countdown-css' => '86b7b0a0',
- 'phabricator-crumbs-view-css' => 'a49339de',
+ 'phabricator-crumbs-view-css' => 'd5aa87e4',
'phabricator-dashboard-css' => 'a2bfdcbf',
'phabricator-drag-and-drop-file-upload' => '8c49f386',
'phabricator-draggable-list' => 'a16ec1c6',
@@ -774,7 +774,7 @@
'phui-fontkit-css' => '9c3d2dce',
'phui-form-css' => '9aecbda1',
'phui-form-view-css' => 'aad06f2a',
- 'phui-header-view-css' => '8d9907ad',
+ 'phui-header-view-css' => '0873d56f',
'phui-icon-view-css' => 'a013a63d',
'phui-image-mask-css' => '5a8b09c8',
'phui-info-panel-css' => '27ea50a1',
diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php
--- a/src/applications/differential/controller/DifferentialRevisionViewController.php
+++ b/src/applications/differential/controller/DifferentialRevisionViewController.php
@@ -457,7 +457,6 @@
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb($object_id, '/'.$object_id);
- $crumbs->setActionList($revision_detail->getActionList());
$prefs = $user->loadPreferences();
diff --git a/src/applications/drydock/controller/DrydockBlueprintViewController.php b/src/applications/drydock/controller/DrydockBlueprintViewController.php
--- a/src/applications/drydock/controller/DrydockBlueprintViewController.php
+++ b/src/applications/drydock/controller/DrydockBlueprintViewController.php
@@ -49,7 +49,6 @@
$pager->setOffset($request->getInt('offset'));
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(pht('Blueprint %d', $blueprint->getID()));
$object_box = id(new PHUIObjectBoxView())
diff --git a/src/applications/drydock/controller/DrydockLeaseViewController.php b/src/applications/drydock/controller/DrydockLeaseViewController.php
--- a/src/applications/drydock/controller/DrydockLeaseViewController.php
+++ b/src/applications/drydock/controller/DrydockLeaseViewController.php
@@ -46,7 +46,6 @@
$log_table->appendChild($pager);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb($title, $lease_uri);
$object_box = id(new PHUIObjectBoxView())
diff --git a/src/applications/drydock/controller/DrydockResourceViewController.php b/src/applications/drydock/controller/DrydockResourceViewController.php
--- a/src/applications/drydock/controller/DrydockResourceViewController.php
+++ b/src/applications/drydock/controller/DrydockResourceViewController.php
@@ -58,7 +58,6 @@
$log_table->appendChild($pager);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(pht('Resource %d', $resource->getID()));
$object_box = id(new PHUIObjectBoxView())
diff --git a/src/applications/files/controller/PhabricatorFileInfoController.php b/src/applications/files/controller/PhabricatorFileInfoController.php
--- a/src/applications/files/controller/PhabricatorFileInfoController.php
+++ b/src/applications/files/controller/PhabricatorFileInfoController.php
@@ -60,7 +60,6 @@
$actions = $this->buildActionView($file);
$timeline = $this->buildTransactionView($file);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(
'F'.$file->getID(),
$this->getApplicationURI("/info/{$phid}/"));
diff --git a/src/applications/fund/controller/FundInitiativeViewController.php b/src/applications/fund/controller/FundInitiativeViewController.php
--- a/src/applications/fund/controller/FundInitiativeViewController.php
+++ b/src/applications/fund/controller/FundInitiativeViewController.php
@@ -54,7 +54,6 @@
$properties = $this->buildPropertyListView($initiative);
$actions = $this->buildActionListView($initiative);
$properties->setActionList($actions);
- $crumbs->setActionList($actions);
$box = id(new PHUIObjectBoxView())
->setHeader($header)
diff --git a/src/applications/herald/controller/HeraldRuleViewController.php b/src/applications/herald/controller/HeraldRuleViewController.php
--- a/src/applications/herald/controller/HeraldRuleViewController.php
+++ b/src/applications/herald/controller/HeraldRuleViewController.php
@@ -45,7 +45,6 @@
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb("H{$id}");
- $crumbs->setActionList($actions);
$object_box = id(new PHUIObjectBoxView())
->setHeader($header)
diff --git a/src/applications/legalpad/controller/LegalpadDocumentManageController.php b/src/applications/legalpad/controller/LegalpadDocumentManageController.php
--- a/src/applications/legalpad/controller/LegalpadDocumentManageController.php
+++ b/src/applications/legalpad/controller/LegalpadDocumentManageController.php
@@ -68,7 +68,6 @@
$add_comment = $this->buildAddCommentView($document, $comment_form_id);
$crumbs = $this->buildApplicationCrumbs($this->buildSideNav());
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(
$document->getMonogram(),
'/'.$document->getMonogram());
diff --git a/src/applications/macro/controller/PhabricatorMacroViewController.php b/src/applications/macro/controller/PhabricatorMacroViewController.php
--- a/src/applications/macro/controller/PhabricatorMacroViewController.php
+++ b/src/applications/macro/controller/PhabricatorMacroViewController.php
@@ -34,7 +34,6 @@
$actions = $this->buildActionView($macro);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(
$title_short,
$this->getApplicationURI('/view/'.$macro->getID().'/'));
diff --git a/src/applications/maniphest/controller/ManiphestTaskDetailController.php b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
--- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php
+++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
@@ -328,8 +328,7 @@
$actions = $this->buildActionView($task);
$crumbs = $this->buildApplicationCrumbs()
- ->addTextCrumb($object_name, '/'.$object_name)
- ->setActionList($actions);
+ ->addTextCrumb($object_name, '/'.$object_name);
$header = $this->buildHeaderView($task);
$properties = $this->buildPropertyView(
diff --git a/src/applications/passphrase/controller/PassphraseCredentialViewController.php b/src/applications/passphrase/controller/PassphraseCredentialViewController.php
--- a/src/applications/passphrase/controller/PassphraseCredentialViewController.php
+++ b/src/applications/passphrase/controller/PassphraseCredentialViewController.php
@@ -39,8 +39,6 @@
$actions = $this->buildActionView($credential, $type);
$properties = $this->buildPropertyView($credential, $type, $actions);
- $crumbs->setActionList($actions);
-
$box = id(new PHUIObjectBoxView())
->setHeader($header)
->addPropertyList($properties);
diff --git a/src/applications/paste/controller/PhabricatorPasteViewController.php b/src/applications/paste/controller/PhabricatorPasteViewController.php
--- a/src/applications/paste/controller/PhabricatorPasteViewController.php
+++ b/src/applications/paste/controller/PhabricatorPasteViewController.php
@@ -87,7 +87,6 @@
->addMargin(PHUI::MARGIN_LARGE_TOP);
$crumbs = $this->buildApplicationCrumbs($this->buildSideNavView())
- ->setActionList($actions)
->addTextCrumb('P'.$paste->getID(), '/P'.$paste->getID());
$timeline = $this->buildTransactionTimeline(
diff --git a/src/applications/people/controller/PhabricatorPeopleProfileController.php b/src/applications/people/controller/PhabricatorPeopleProfileController.php
--- a/src/applications/people/controller/PhabricatorPeopleProfileController.php
+++ b/src/applications/people/controller/PhabricatorPeopleProfileController.php
@@ -131,7 +131,7 @@
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb($user->getUsername());
- $crumbs->setActionList($actions);
+
$feed = $this->renderUserFeed($user);
$cal_class = 'PhabricatorCalendarApplication';
$classes = array();
diff --git a/src/applications/phame/controller/post/PhamePostViewController.php b/src/applications/phame/controller/post/PhamePostViewController.php
--- a/src/applications/phame/controller/post/PhamePostViewController.php
+++ b/src/applications/phame/controller/post/PhamePostViewController.php
@@ -32,7 +32,6 @@
$properties = $this->renderProperties($post, $user, $actions);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(
$post->getTitle(),
$this->getApplicationURI('post/view/'.$post->getID().'/'));
diff --git a/src/applications/pholio/controller/PholioMockViewController.php b/src/applications/pholio/controller/PholioMockViewController.php
--- a/src/applications/pholio/controller/PholioMockViewController.php
+++ b/src/applications/pholio/controller/PholioMockViewController.php
@@ -94,7 +94,6 @@
$add_comment = $this->buildAddCommentView($mock, $comment_form_id);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb('M'.$mock->getID(), '/M'.$mock->getID());
$object_box = id(new PHUIObjectBoxView())
diff --git a/src/applications/phortune/controller/PhortuneAccountViewController.php b/src/applications/phortune/controller/PhortuneAccountViewController.php
--- a/src/applications/phortune/controller/PhortuneAccountViewController.php
+++ b/src/applications/phortune/controller/PhortuneAccountViewController.php
@@ -55,8 +55,6 @@
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
- $crumbs->setActionList($actions);
-
$properties = id(new PHUIPropertyListView())
->setObject($account)
->setUser($user);
diff --git a/src/applications/phortune/controller/PhortuneCartViewController.php b/src/applications/phortune/controller/PhortuneCartViewController.php
--- a/src/applications/phortune/controller/PhortuneCartViewController.php
+++ b/src/applications/phortune/controller/PhortuneCartViewController.php
@@ -159,7 +159,6 @@
$crumbs = $this->buildApplicationCrumbs();
$this->addAccountCrumb($crumbs, $cart->getAccount());
$crumbs->addTextCrumb(pht('Cart %d', $cart->getID()));
- $crumbs->setActionList($actions);
$timeline = $this->buildTransactionTimeline(
$cart,
diff --git a/src/applications/phortune/controller/PhortuneMerchantViewController.php b/src/applications/phortune/controller/PhortuneMerchantViewController.php
--- a/src/applications/phortune/controller/PhortuneMerchantViewController.php
+++ b/src/applications/phortune/controller/PhortuneMerchantViewController.php
@@ -43,7 +43,6 @@
$properties = $this->buildPropertyListView($merchant, $providers);
$actions = $this->buildActionListView($merchant);
$properties->setActionList($actions);
- $crumbs->setActionList($actions);
$provider_list = $this->buildProviderList(
$merchant,
diff --git a/src/applications/phortune/controller/PhortuneProductViewController.php b/src/applications/phortune/controller/PhortuneProductViewController.php
--- a/src/applications/phortune/controller/PhortuneProductViewController.php
+++ b/src/applications/phortune/controller/PhortuneProductViewController.php
@@ -32,7 +32,6 @@
->setObjectURI($request->getRequestURI());
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb(
pht('Products'),
$this->getApplicationURI('product/'));
diff --git a/src/applications/phriction/controller/PhrictionDocumentController.php b/src/applications/phriction/controller/PhrictionDocumentController.php
--- a/src/applications/phriction/controller/PhrictionDocumentController.php
+++ b/src/applications/phriction/controller/PhrictionDocumentController.php
@@ -185,7 +185,6 @@
$actions = $this->buildActionView($user, $document);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->setActionList($actions);
$crumb_views = $this->renderBreadcrumbs($slug);
foreach ($crumb_views as $view) {
$crumbs->addCrumb($view);
diff --git a/src/applications/ponder/controller/PonderQuestionViewController.php b/src/applications/ponder/controller/PonderQuestionViewController.php
--- a/src/applications/ponder/controller/PonderQuestionViewController.php
+++ b/src/applications/ponder/controller/PonderQuestionViewController.php
@@ -61,7 +61,6 @@
->addPropertyList($properties);
$crumbs = $this->buildApplicationCrumbs($this->buildSideNavView());
- $crumbs->setActionList($actions);
$crumbs->addTextCrumb('Q'.$this->questionID, '/Q'.$this->questionID);
return $this->buildApplicationPage(
diff --git a/src/applications/project/controller/PhabricatorProjectEditMainController.php b/src/applications/project/controller/PhabricatorProjectEditMainController.php
--- a/src/applications/project/controller/PhabricatorProjectEditMainController.php
+++ b/src/applications/project/controller/PhabricatorProjectEditMainController.php
@@ -48,7 +48,6 @@
$project->getName(),
$this->getApplicationURI('view/'.$project->getID().'/'));
$crumbs->addTextCrumb(pht('Edit'));
- $crumbs->setActionList($actions);
$object_box = id(new PHUIObjectBoxView())
->setHeader($header)
diff --git a/src/applications/project/controller/PhabricatorProjectProfileController.php b/src/applications/project/controller/PhabricatorProjectProfileController.php
--- a/src/applications/project/controller/PhabricatorProjectProfileController.php
+++ b/src/applications/project/controller/PhabricatorProjectProfileController.php
@@ -87,8 +87,7 @@
$properties = $this->buildPropertyListView($project, $actions);
$crumbs = $this->buildApplicationCrumbs();
- $crumbs->addTextCrumb($project->getName())
- ->setActionList($actions);
+ $crumbs->addTextCrumb($project->getName());
$object_box = id(new PHUIObjectBoxView())
->setHeader($header)
diff --git a/src/view/layout/PhabricatorCrumbsView.php b/src/view/layout/PhabricatorCrumbsView.php
--- a/src/view/layout/PhabricatorCrumbsView.php
+++ b/src/view/layout/PhabricatorCrumbsView.php
@@ -4,7 +4,6 @@
private $crumbs = array();
private $actions = array();
- private $actionListID = null;
protected function canAppendChild() {
return false;
@@ -36,17 +35,11 @@
return $this;
}
- public function setActionList(PhabricatorActionListView $list) {
- $this->actionListID = celerity_generate_unique_node_id();
- $list->setId($this->actionListID);
- return $this;
- }
-
public function render() {
require_celerity_resource('phabricator-crumbs-view-css');
$action_view = null;
- if (($this->actions) || ($this->actionListID)) {
+ if ($this->actions) {
$actions = array();
foreach ($this->actions as $action) {
$icon = null;
@@ -92,38 +85,6 @@
));
}
- if ($this->actionListID) {
- $icon_id = celerity_generate_unique_node_id();
- $icon = id(new PHUIIconView())
- ->setIconFont('fa-bars');
- $name = phutil_tag(
- 'span',
- array(
- 'class' => 'phabricator-crumbs-action-name',
- ),
- pht('Actions'));
-
- $actions[] = javelin_tag(
- 'a',
- array(
- 'href' => '#',
- 'class' =>
- 'phabricator-crumbs-action phabricator-crumbs-action-menu',
- 'sigil' => 'jx-toggle-class',
- 'id' => $icon_id,
- 'meta' => array(
- 'map' => array(
- $this->actionListID => 'phabricator-action-list-toggle',
- $icon_id => 'phabricator-crumbs-action-menu-open',
- ),
- ),
- ),
- array(
- $icon,
- $name,
- ));
- }
-
$action_view = phutil_tag(
'div',
array(
diff --git a/src/view/phui/PHUIButtonView.php b/src/view/phui/PHUIButtonView.php
--- a/src/view/phui/PHUIButtonView.php
+++ b/src/view/phui/PHUIButtonView.php
@@ -22,6 +22,9 @@
private $title = null;
private $disabled;
private $name;
+ private $id;
+ private $sigil;
+ private $meta;
public function setName($name) {
$this->name = $name;
@@ -82,6 +85,21 @@
return $this;
}
+ public function setID($id) {
+ $this->id = $id;
+ return $this;
+ }
+
+ public function setSigil($sigil) {
+ $this->sigil = $sigil;
+ return $this;
+ }
+
+ public function setMeta($meta) {
+ $this->meta = $meta;
+ return $this;
+ }
+
public function getTagName() {
return $this->tag;
}
@@ -118,6 +136,9 @@
'href' => $this->href,
'name' => $this->name,
'title' => $this->title,
+ 'id' => $this->id,
+ 'sigil' => $this->sigil,
+ 'meta' => $this->meta,
);
}
diff --git a/src/view/phui/PHUIObjectBoxView.php b/src/view/phui/PHUIObjectBoxView.php
--- a/src/view/phui/PHUIObjectBoxView.php
+++ b/src/view/phui/PHUIObjectBoxView.php
@@ -14,6 +14,7 @@
private $id;
private $sigils = array();
private $metadata;
+ private $actionListID;
private $tabs = array();
private $propertyLists = array();
@@ -71,6 +72,12 @@
$this->propertyLists[$key][] = $property_list;
+ $action_list = $property_list->getActionList();
+ if ($action_list) {
+ $this->actionListID = celerity_generate_unique_node_id();
+ $action_list->setId($this->actionListID);
+ }
+
return $this;
}
@@ -156,6 +163,27 @@
->setHeaderColor($header_color);
}
+ if ($this->actionListID) {
+ $icon_id = celerity_generate_unique_node_id();
+ $icon = id(new PHUIIconView())
+ ->setIconFont('fa-bars');
+ $meta = array(
+ 'map' => array(
+ $this->actionListID => 'phabricator-action-list-toggle',
+ $icon_id => 'phui-mobile-action-menu-open',
+ ),);
+ $mobile_menu = id(new PHUIButtonView())
+ ->setTag('a')
+ ->setText(pht('Actions'))
+ ->setHref('#')
+ ->setIcon($icon)
+ ->addClass('phui-mobile-menu')
+ ->setID($icon_id)
+ ->setSigil('jx-toggle-class')
+ ->setMeta($meta);
+ $header->addActionLink($mobile_menu);
+ }
+
$ex = $this->validationException;
$exception_errors = null;
if ($ex) {
diff --git a/src/view/phui/PHUIPropertyListView.php b/src/view/phui/PHUIPropertyListView.php
--- a/src/view/phui/PHUIPropertyListView.php
+++ b/src/view/phui/PHUIPropertyListView.php
@@ -6,7 +6,7 @@
private $hasKeyboardShortcuts;
private $object;
private $invokedWillRenderEvent;
- private $actionList;
+ private $actionList = null;
private $classes = array();
private $stacked;
@@ -27,6 +27,10 @@
return $this;
}
+ public function getActionList() {
+ return $this->actionList;
+ }
+
public function setStacked($stacked) {
$this->stacked = $stacked;
return $this;
diff --git a/webroot/rsrc/css/layout/phabricator-crumbs-view.css b/webroot/rsrc/css/layout/phabricator-crumbs-view.css
--- a/webroot/rsrc/css/layout/phabricator-crumbs-view.css
+++ b/webroot/rsrc/css/layout/phabricator-crumbs-view.css
@@ -28,18 +28,6 @@
color: {$lightgreytext};
}
-.phabricator-crumbs-action.phabricator-crumbs-action-menu {
- display: none;
-}
-
-.device .phabricator-crumbs-action.phabricator-crumbs-action-menu {
- display: inline-block;
-}
-
-.device .phabricator-crumbs-action-menu-open {
- background: rgba(0,0,0,.1);
-}
-
.phabricator-crumbs-view + .phui-header-shell {
border-top: none;
}
diff --git a/webroot/rsrc/css/phui/phui-header-view.css b/webroot/rsrc/css/phui/phui-header-view.css
--- a/webroot/rsrc/css/phui/phui-header-view.css
+++ b/webroot/rsrc/css/phui/phui-header-view.css
@@ -138,3 +138,15 @@
.phui-header-subheader .phui-header-status-green {
color: {$green};
}
+
+.phui-header-action-links .phui-mobile-menu {
+ display: none;
+}
+
+.device .phui-header-action-links .phui-mobile-menu {
+ display: inline-block;
+}
+
+.phui-mobile-action-menu-open {
+ background: white !important;
+}

File Metadata

Mime Type
text/plain
Expires
Fri, Oct 4, 11:16 AM (21 h, 53 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6670220
Default Alt Text
D11340.diff (21 KB)

Event Timeline