Christopher Johnson (WMDE) has uploaded a new change for review. https://gerrit.wikimedia.org/r/190807
Change subject: adds tooltip and href to owner image on Sprint Card ...................................................................... adds tooltip and href to owner image on Sprint Card this required a new class SprintHandleIconView to render tags Change-Id: I9b12c3db033786c64bed1848eec1db540f7ce3c9 --- M src/__phutil_library_map__.php M src/view/SprintBoardTaskCard.php A src/view/SprintHandleIconView.php 3 files changed, 104 insertions(+), 20 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/phabricator/extensions/Sprint refs/changes/07/190807/1 diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 561d9d2..4536c4e 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -46,11 +46,11 @@ 'SprintDataViewController' => 'controller/SprintDataViewController.php', 'SprintDefaultViewCapability' => 'capability/SprintDefaultViewCapability.php', 'SprintEndDateField' => 'customfield/SprintEndDateField.php', + 'SprintHandleIconView' => 'view/SprintHandleIconView.php', 'SprintIsSprintField' => 'customfield/SprintIsSprintField.php', 'SprintListController' => 'controller/SprintListController.php', 'SprintListDataProvider' => 'storage/SprintListDataProvider.php', 'SprintListTableView' => 'view/SprintListTableView.php', - 'SprintObjectItemView' => 'view/SprintObjectItemView.php', 'SprintPoints' => 'util/SprintPoints.php', 'SprintProjectCustomField' => 'customfield/SprintProjectCustomField.php', 'SprintProjectProfileController' => 'controller/SprintProjectProfileController.php', @@ -98,9 +98,9 @@ 'SprintDataViewController' => 'SprintController', 'SprintDefaultViewCapability' => 'PhabricatorPolicyCapability', 'SprintEndDateField' => 'SprintProjectCustomField', + 'SprintHandleIconView' => 'AphrontTagView', 'SprintIsSprintField' => 'SprintProjectCustomField', 'SprintListController' => 'SprintController', - 'SprintObjectItemView' => 'AphrontTagView', 'SprintProjectCustomField' => array( 'PhabricatorProjectCustomField', 'PhabricatorStandardCustomFieldInterface', diff --git a/src/view/SprintBoardTaskCard.php b/src/view/SprintBoardTaskCard.php index 4fbafc9..03110a2 100644 --- a/src/view/SprintBoardTaskCard.php +++ b/src/view/SprintBoardTaskCard.php @@ -110,6 +110,7 @@ ->setHref('/T'.$task->getID()) ->addSigil('project-card') ->setDisabled($task->isClosed()) + ->setImageIcon($ownerimage) ->setMetadata( array( 'objectPHID' => $task_phid, @@ -124,28 +125,26 @@ ->setHref('/project/sprint/board/task/edit/'.$task->getID() .'/')) ->setBarColor($bar_color) - ->addAttribute($this->getCardAttributes()) - ->setImageIcon($ownerimage); + ->addAttribute($this->getCardAttributes()); return $card; } - private function renderHandleIcon(PhabricatorObjectHandle $handle, $label) { - Javelin::initBehavior('phabricator-tooltips'); + private function renderHandleIcon(PhabricatorObjectHandle $handle) { + $ownername = $handle->getName(); + $ownerlink = '/p/'.$ownername.'/'; + $image_uri = 'background-image: url('.$handle->getImageURI().')'; + $sigil = 'has-tooltip'; + $meta = array( + 'tip' => pht($ownername), + 'size' => 200, + 'align' => 'E',); + $image = id(new SprintHandleIconView()) + ->addSigil($sigil) + ->setMetadata($meta) + ->setHref($ownerlink) + ->setIconStyle($image_uri); - $options = array( - 'class' => 'phui-object-item-handle-icon', - 'style' => 'background-image: url('.$handle->getImageURI().')', - ); - - if (strlen($label)) { - $options['sigil'] = 'has-tooltip'; - $options['meta'] = array('tip' => $label); - } - - return phutil_tag( - 'span', - $options, - ''); + return $image; } } diff --git a/src/view/SprintHandleIconView.php b/src/view/SprintHandleIconView.php new file mode 100644 index 0000000..fac39ce --- /dev/null +++ b/src/view/SprintHandleIconView.php @@ -0,0 +1,85 @@ +<?php + +final class SprintHandleIconView extends AphrontTagView { + + const SPRITE_TOKENS = 'tokens'; + const SPRITE_LOGIN = 'login'; + const SPRITE_PROJECTS = 'projects'; + + const HEAD_SMALL = 'phuihead-small'; + const HEAD_MEDIUM = 'phuihead-medium'; + + private $href = null; + private $image; + private $text; + private $headSize = null; + + private $spriteIcon; + private $spriteSheet; + private $iconFont; + private $iconColor; + private $iconStyle; + + public function setHref($href) { + $this->href = $href; + return $this; + } + + public function setIconStyle($style) { + $this->iconStyle = $style; + return $this; + } + + public function setImage($image) { + $this->image = $image; + return $this; + } + + public function setText($text) { + $this->text = $text; + return $this; + } + + public function setHeadSize($size) { + $this->headSize = $size; + return $this; + } + + public function setSpriteIcon($sprite) { + $this->spriteIcon = $sprite; + return $this; + } + + public function setSpriteSheet($sheet) { + $this->spriteSheet = $sheet; + return $this; + } + + public function setIconFont($icon, $color = null) { + $this->iconFont = $icon; + $this->iconColor = $color; + return $this; + } + + protected function getTagName() { + $tag = 'span'; + if ($this->href) { + $tag = 'a'; + } + return $tag; + } + + protected function getTagAttributes() { + $style = null; + $classes = array(); + $classes[] = 'phui-object-item-handle-icon'; + + return array( + 'href' => $this->href, + 'style' => $this->iconStyle, + 'aural' => false, + 'class' => $classes, + ); + } + +} -- To view, visit https://gerrit.wikimedia.org/r/190807 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9b12c3db033786c64bed1848eec1db540f7ce3c9 Gerrit-PatchSet: 1 Gerrit-Project: phabricator/extensions/Sprint Gerrit-Branch: master Gerrit-Owner: Christopher Johnson (WMDE) <christopher.john...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits