diff --git a/src/applications/phid/PhabricatorObjectHandle.php b/src/applications/phid/PhabricatorObjectHandle.php --- a/src/applications/phid/PhabricatorObjectHandle.php +++ b/src/applications/phid/PhabricatorObjectHandle.php @@ -30,6 +30,10 @@ return $this->getTypeIcon(); } + public function getIconColor() { + return 'bluegrey'; + } + public function getTypeIcon() { if ($this->getPHIDType()) { return $this->getPHIDType()->getTypeIcon(); @@ -255,6 +259,14 @@ array($icon, $name)); } + public function renderTag() { + return id(new PHUITagView()) + ->setType(PHUITagView::TYPE_OBJECT) + ->setIcon($this->getIcon().' '.$this->getIconColor()) + ->setHref($this->getURI()) + ->setName($this->getLinkName()); + } + public function getLinkName() { switch ($this->getType()) { case PhabricatorPeoplePHIDTypeUser::TYPECONST: diff --git a/src/applications/project/events/PhabricatorProjectUIEventListener.php b/src/applications/project/events/PhabricatorProjectUIEventListener.php --- a/src/applications/project/events/PhabricatorProjectUIEventListener.php +++ b/src/applications/project/events/PhabricatorProjectUIEventListener.php @@ -45,9 +45,19 @@ if ($handles) { $list = array(); foreach ($handles as $handle) { - $list[] = $handle->renderLink(); + $list[] = phutil_tag( + 'li', + array( + 'class' => 'phabricator-handle-tag-list-item', + ), + $handle->renderTag()); } - $list = phutil_implode_html(phutil_tag('br'), $list); + $list = phutil_tag( + 'ul', + array( + 'class' => 'phabricator-handle-tag-list', + ), + $list); } else { $list = phutil_tag('em', array(), pht('None')); } diff --git a/webroot/rsrc/css/phui/phui-tag-view.css b/webroot/rsrc/css/phui/phui-tag-view.css --- a/webroot/rsrc/css/phui/phui-tag-view.css +++ b/webroot/rsrc/css/phui/phui-tag-view.css @@ -300,3 +300,7 @@ a.phui-tag-view:hover.phui-tag-shade-disabled .phui-tag-core { border-color: {$sh-disabledborder}; } + +.phabricator-handle-tag-list-item + .phabricator-handle-tag-list-item { + margin-top: 4px; +}