Changeset View
Changeset View
Standalone View
Standalone View
src/view/fuel/FuelHandleListItemView.php
- This file was added.
<?php | |||||
final class FuelHandleListItemView | |||||
extends FuelView { | |||||
private $handle; | |||||
public function setHandle(PhabricatorObjectHandle $handle) { | |||||
$this->handle = $handle; | |||||
return $this; | |||||
} | |||||
public function render() { | |||||
$cells = array(); | |||||
$cells[] = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-icon', | |||||
), | |||||
$this->newIconView()); | |||||
$cells[] = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-handle', | |||||
), | |||||
$this->newHandleView()); | |||||
$cells[] = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-note', | |||||
), | |||||
$this->newNoteView()); | |||||
return phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'fuel-handle-list-item', | |||||
), | |||||
$cells); | |||||
} | |||||
private function newIconView() { | |||||
$icon_icon = null; | |||||
$icon_image = null; | |||||
$icon_color = null; | |||||
$handle = $this->handle; | |||||
if ($handle) { | |||||
$icon_image = $handle->getImageURI(); | |||||
if (!$icon_image) { | |||||
$icon_icon = $handle->getIcon(); | |||||
$icon_color = $handle->getIconColor(); | |||||
} | |||||
} | |||||
if ($icon_image === null && $icon_icon === null) { | |||||
return null; | |||||
} | |||||
$view = new PHUIIconView(); | |||||
if ($icon_image !== null) { | |||||
$view->setImage($icon_image); | |||||
} else { | |||||
if ($icon_color === null) { | |||||
$icon_color = 'bluegrey'; | |||||
} | |||||
if ($icon_icon !== null) { | |||||
$view->setIcon($icon_icon); | |||||
} | |||||
if ($icon_color !== null) { | |||||
$view->setColor($icon_color); | |||||
} | |||||
} | |||||
return $view; | |||||
} | |||||
private function newHandleView() { | |||||
$handle = $this->handle; | |||||
if ($handle) { | |||||
return $handle->renderLink(); | |||||
} | |||||
return null; | |||||
} | |||||
private function newNoteView() { | |||||
return null; | |||||
} | |||||
} |