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

Reply via email to