From 3f1ee67972ac232b9f5cbb6aad6aea957b86775d Mon Sep 17 00:00:00 2001 From: Chad Little Date: Wed, 1 Mar 2017 11:05:49 -0800 Subject: [PATCH] Add a tooltip option to Link menu items Summary: Ref T12174. Let's users add a tooltip to LinkProfileMenuItem Test Plan: Add a tooltip, remove tooltip. Menu appears as expected Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12174 Differential Revision: https://secure.phabricator.com/D17437 --- .../menuitem/PhabricatorLinkProfileMenuItem.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php b/src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php index 3b136321c2..f790816c8b 100644 --- a/src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php +++ b/src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php @@ -7,6 +7,7 @@ final class PhabricatorLinkProfileMenuItem const FIELD_URI = 'uri'; const FIELD_NAME = 'name'; + const FIELD_TOOLTIP = 'tooltip'; public function getMenuItemTypeIcon() { return 'fa-link'; @@ -38,6 +39,10 @@ final class PhabricatorLinkProfileMenuItem ->setLabel(pht('URI')) ->setIsRequired(true) ->setValue($this->getLinkURI($config)), + id(new PhabricatorTextEditField()) + ->setKey(self::FIELD_TOOLTIP) + ->setLabel(pht('Tooltip')) + ->setValue($this->getLinkTooltip($config)), id(new PhabricatorIconSetEditField()) ->setKey('icon') ->setLabel(pht('Icon')) @@ -61,6 +66,11 @@ final class PhabricatorLinkProfileMenuItem return $config->getMenuItemProperty('uri'); } + private function getLinkTooltip( + PhabricatorProfileMenuItemConfiguration $config) { + return $config->getMenuItemProperty('tooltip'); + } + private function isValidLinkURI($uri) { return PhabricatorEnv::isValidURIForLink($uri); } @@ -71,6 +81,7 @@ final class PhabricatorLinkProfileMenuItem $icon = $this->getLinkIcon($config); $name = $this->getLinkName($config); $href = $this->getLinkURI($config); + $tooltip = $this->getLinkTooltip($config); if (!$this->isValidLinkURI($href)) { $href = '#'; @@ -87,7 +98,8 @@ final class PhabricatorLinkProfileMenuItem $item = $this->newItem() ->setHref($href) ->setName($name) - ->setIcon($icon_class); + ->setIcon($icon_class) + ->setTooltip($tooltip); return array( $item,