From 790d250967cc262785473b65414b761d2544a8e0 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 12 Jan 2015 07:24:35 -0800 Subject: [PATCH] Move ActionList mobile links to better location Summary: Ref T5752, moves mobile action menus to the object box instead of crumbs. Test Plan: View action menus at tablet, desktop, and mobile break points. Verify clicking buttons works as expected opening menu. Reviewers: btrahan, epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T5752 Differential Revision: https://secure.phabricator.com/D11340 --- resources/celerity/map.php | 10 ++--- .../DifferentialRevisionViewController.php | 1 - .../DrydockBlueprintViewController.php | 1 - .../controller/DrydockLeaseViewController.php | 1 - .../DrydockResourceViewController.php | 1 - .../PhabricatorFileInfoController.php | 1 - .../FundInitiativeViewController.php | 1 - .../controller/HeraldRuleViewController.php | 1 - .../LegalpadDocumentManageController.php | 1 - .../PhabricatorMacroViewController.php | 1 - .../ManiphestTaskDetailController.php | 3 +- .../PassphraseCredentialViewController.php | 2 - .../PhabricatorPasteViewController.php | 1 - .../PhabricatorPeopleProfileController.php | 2 +- .../post/PhamePostViewController.php | 1 - .../controller/PholioMockViewController.php | 1 - .../PhortuneAccountViewController.php | 2 - .../controller/PhortuneCartViewController.php | 1 - .../PhortuneMerchantViewController.php | 1 - .../PhortuneProductViewController.php | 1 - .../PhrictionDocumentController.php | 1 - .../PonderQuestionViewController.php | 1 - .../PhabricatorProjectEditMainController.php | 1 - .../PhabricatorProjectProfileController.php | 3 +- src/view/layout/PhabricatorCrumbsView.php | 41 +------------------ src/view/phui/PHUIButtonView.php | 21 ++++++++++ src/view/phui/PHUIObjectBoxView.php | 28 +++++++++++++ src/view/phui/PHUIPropertyListView.php | 6 ++- .../css/layout/phabricator-crumbs-view.css | 12 ------ webroot/rsrc/css/phui/phui-header-view.css | 12 ++++++ 30 files changed, 75 insertions(+), 85 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index b523c91b90..9de1d87b45 100644 --- 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 @@ return array( '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 @@ return array( '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 @@ return array( '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 @@ return array( '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 index 6a72aa001b..4b411f2f8c 100644 --- a/src/applications/differential/controller/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/DifferentialRevisionViewController.php @@ -457,7 +457,6 @@ final class DifferentialRevisionViewController extends DifferentialController { $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 index 0db5313c37..831f57a3d4 100644 --- a/src/applications/drydock/controller/DrydockBlueprintViewController.php +++ b/src/applications/drydock/controller/DrydockBlueprintViewController.php @@ -49,7 +49,6 @@ final class DrydockBlueprintViewController extends DrydockBlueprintController { $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 index 97d5b7375a..415a5e51cd 100644 --- a/src/applications/drydock/controller/DrydockLeaseViewController.php +++ b/src/applications/drydock/controller/DrydockLeaseViewController.php @@ -46,7 +46,6 @@ final class DrydockLeaseViewController extends DrydockLeaseController { $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 index 3db3939fca..2a534a4d96 100644 --- a/src/applications/drydock/controller/DrydockResourceViewController.php +++ b/src/applications/drydock/controller/DrydockResourceViewController.php @@ -58,7 +58,6 @@ final class DrydockResourceViewController extends DrydockResourceController { $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 index 3939f01e9d..9f1c65ae8e 100644 --- a/src/applications/files/controller/PhabricatorFileInfoController.php +++ b/src/applications/files/controller/PhabricatorFileInfoController.php @@ -60,7 +60,6 @@ final class PhabricatorFileInfoController extends PhabricatorFileController { $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 index f8e367f1a1..eae4ef7401 100644 --- a/src/applications/fund/controller/FundInitiativeViewController.php +++ b/src/applications/fund/controller/FundInitiativeViewController.php @@ -54,7 +54,6 @@ final class FundInitiativeViewController $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 index c4dda13309..1a3184bba6 100644 --- a/src/applications/herald/controller/HeraldRuleViewController.php +++ b/src/applications/herald/controller/HeraldRuleViewController.php @@ -45,7 +45,6 @@ final class HeraldRuleViewController extends HeraldController { $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 index f4d974d440..aee936e28b 100644 --- a/src/applications/legalpad/controller/LegalpadDocumentManageController.php +++ b/src/applications/legalpad/controller/LegalpadDocumentManageController.php @@ -68,7 +68,6 @@ final class LegalpadDocumentManageController extends LegalpadController { $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 index 90b493e9d7..a7e602f8b8 100644 --- a/src/applications/macro/controller/PhabricatorMacroViewController.php +++ b/src/applications/macro/controller/PhabricatorMacroViewController.php @@ -34,7 +34,6 @@ final class PhabricatorMacroViewController $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 index 8107021c7e..e24050a1cc 100644 --- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php +++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php @@ -328,8 +328,7 @@ final class ManiphestTaskDetailController extends ManiphestController { $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 index 62fe224b74..8edd785a94 100644 --- a/src/applications/passphrase/controller/PassphraseCredentialViewController.php +++ b/src/applications/passphrase/controller/PassphraseCredentialViewController.php @@ -39,8 +39,6 @@ final class PassphraseCredentialViewController extends PassphraseController { $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 index 0a9f17ad71..92d150c3a7 100644 --- a/src/applications/paste/controller/PhabricatorPasteViewController.php +++ b/src/applications/paste/controller/PhabricatorPasteViewController.php @@ -87,7 +87,6 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController { ->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 index ad4fc6e32b..ac1a2c6c54 100644 --- a/src/applications/people/controller/PhabricatorPeopleProfileController.php +++ b/src/applications/people/controller/PhabricatorPeopleProfileController.php @@ -131,7 +131,7 @@ final class PhabricatorPeopleProfileController $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 index 7c12ba5565..37c0b809fd 100644 --- a/src/applications/phame/controller/post/PhamePostViewController.php +++ b/src/applications/phame/controller/post/PhamePostViewController.php @@ -32,7 +32,6 @@ final class PhamePostViewController extends PhameController { $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 index bc538d65ea..3f67817ccf 100644 --- a/src/applications/pholio/controller/PholioMockViewController.php +++ b/src/applications/pholio/controller/PholioMockViewController.php @@ -94,7 +94,6 @@ final class PholioMockViewController extends PholioController { $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 index b0eb23fc36..fdbc061688 100644 --- a/src/applications/phortune/controller/PhortuneAccountViewController.php +++ b/src/applications/phortune/controller/PhortuneAccountViewController.php @@ -55,8 +55,6 @@ final class PhortuneAccountViewController extends PhortuneController { ->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 index 580f92b2c4..fb6dc70884 100644 --- a/src/applications/phortune/controller/PhortuneCartViewController.php +++ b/src/applications/phortune/controller/PhortuneCartViewController.php @@ -159,7 +159,6 @@ final class PhortuneCartViewController $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 index 01557a6fb9..0419219f19 100644 --- a/src/applications/phortune/controller/PhortuneMerchantViewController.php +++ b/src/applications/phortune/controller/PhortuneMerchantViewController.php @@ -43,7 +43,6 @@ final class PhortuneMerchantViewController $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 index 584ba241f9..02426f07ca 100644 --- a/src/applications/phortune/controller/PhortuneProductViewController.php +++ b/src/applications/phortune/controller/PhortuneProductViewController.php @@ -32,7 +32,6 @@ final class PhortuneProductViewController extends PhortuneController { ->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 index 570cc8014b..13861efe71 100644 --- a/src/applications/phriction/controller/PhrictionDocumentController.php +++ b/src/applications/phriction/controller/PhrictionDocumentController.php @@ -185,7 +185,6 @@ final class PhrictionDocumentController $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 index b8ad937c23..b827252fd9 100644 --- a/src/applications/ponder/controller/PonderQuestionViewController.php +++ b/src/applications/ponder/controller/PonderQuestionViewController.php @@ -61,7 +61,6 @@ final class PonderQuestionViewController extends PonderController { ->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 index 2067fd7d05..99bd6cb88a 100644 --- a/src/applications/project/controller/PhabricatorProjectEditMainController.php +++ b/src/applications/project/controller/PhabricatorProjectEditMainController.php @@ -48,7 +48,6 @@ final class PhabricatorProjectEditMainController $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 index c1d19209e1..e0281f0893 100644 --- a/src/applications/project/controller/PhabricatorProjectProfileController.php +++ b/src/applications/project/controller/PhabricatorProjectProfileController.php @@ -87,8 +87,7 @@ final class PhabricatorProjectProfileController $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 index c17095603a..a2ae8dc4ae 100644 --- a/src/view/layout/PhabricatorCrumbsView.php +++ b/src/view/layout/PhabricatorCrumbsView.php @@ -4,7 +4,6 @@ final class PhabricatorCrumbsView extends AphrontView { private $crumbs = array(); private $actions = array(); - private $actionListID = null; protected function canAppendChild() { return false; @@ -36,17 +35,11 @@ final class PhabricatorCrumbsView extends AphrontView { 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 @@ final class PhabricatorCrumbsView extends AphrontView { )); } - 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 index e0019f7edf..3671337535 100644 --- a/src/view/phui/PHUIButtonView.php +++ b/src/view/phui/PHUIButtonView.php @@ -22,6 +22,9 @@ final class PHUIButtonView extends AphrontTagView { private $title = null; private $disabled; private $name; + private $id; + private $sigil; + private $meta; public function setName($name) { $this->name = $name; @@ -82,6 +85,21 @@ final class PHUIButtonView extends AphrontTagView { 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 @@ final class PHUIButtonView extends AphrontTagView { '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 index da7372d203..c6601281d2 100644 --- a/src/view/phui/PHUIObjectBoxView.php +++ b/src/view/phui/PHUIObjectBoxView.php @@ -14,6 +14,7 @@ final class PHUIObjectBoxView extends AphrontView { private $id; private $sigils = array(); private $metadata; + private $actionListID; private $tabs = array(); private $propertyLists = array(); @@ -71,6 +72,12 @@ final class PHUIObjectBoxView extends AphrontView { $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 @@ final class PHUIObjectBoxView extends AphrontView { ->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 index e5b8500c5b..96c249d866 100644 --- a/src/view/phui/PHUIPropertyListView.php +++ b/src/view/phui/PHUIPropertyListView.php @@ -6,7 +6,7 @@ final class PHUIPropertyListView extends AphrontView { private $hasKeyboardShortcuts; private $object; private $invokedWillRenderEvent; - private $actionList; + private $actionList = null; private $classes = array(); private $stacked; @@ -27,6 +27,10 @@ final class PHUIPropertyListView extends AphrontView { 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 index 3ce4ed475f..4637382a4f 100644 --- 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 index d32ce801f8..6b8b0e6bc5 100644 --- a/webroot/rsrc/css/phui/phui-header-view.css +++ b/webroot/rsrc/css/phui/phui-header-view.css @@ -138,3 +138,15 @@ body.device-phone .phui-header-view { .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; +}