Christopher Johnson (WMDE) has submitted this change and it was merged.
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, 105 insertions(+), 22 deletions(-)
Approvals:
Christopher Johnson (WMDE): Verified; Looks good to me, approved
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..9efe2c1 100644
--- a/src/view/SprintBoardTaskCard.php
+++ b/src/view/SprintBoardTaskCard.php
@@ -97,8 +97,7 @@
$bar_color = idx($color_map, $task->getPriority(), 'grey');
if (!(is_null($this->owner))) {
- $label = $this->owner->getName();
- $ownerimage = $this->renderHandleIcon($this->owner, $label);
+ $ownerimage = $this->renderHandleIcon($this->owner);
} else {
$ownerimage = null;
}
@@ -110,6 +109,7 @@
->setHref('/T'.$task->getID())
->addSigil('project-card')
->setDisabled($task->isClosed())
+ ->setImageIcon($ownerimage)
->setMetadata(
array(
'objectPHID' => $task_phid,
@@ -124,28 +124,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: merged
Gerrit-Change-Id: I9b12c3db033786c64bed1848eec1db540f7ce3c9
Gerrit-PatchSet: 2
Gerrit-Project: phabricator/extensions/Sprint
Gerrit-Branch: master
Gerrit-Owner: Christopher Johnson (WMDE) <[email protected]>
Gerrit-Reviewer: Christopher Johnson (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits