Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/view/fuel/FuelHandleListItemView.php
12249 views
1
<?php
2
3
final class FuelHandleListItemView
4
extends FuelView {
5
6
private $handle;
7
8
public function setHandle(PhabricatorObjectHandle $handle) {
9
$this->handle = $handle;
10
return $this;
11
}
12
13
public function render() {
14
$cells = array();
15
16
$cells[] = phutil_tag(
17
'div',
18
array(
19
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-icon',
20
),
21
$this->newIconView());
22
23
$cells[] = phutil_tag(
24
'div',
25
array(
26
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-handle',
27
),
28
$this->newHandleView());
29
30
$cells[] = phutil_tag(
31
'div',
32
array(
33
'class' => 'fuel-handle-list-item-cell fuel-handle-list-item-note',
34
),
35
$this->newNoteView());
36
37
return phutil_tag(
38
'div',
39
array(
40
'class' => 'fuel-handle-list-item',
41
),
42
$cells);
43
}
44
45
46
private function newIconView() {
47
$icon_icon = null;
48
$icon_image = null;
49
$icon_color = null;
50
51
$handle = $this->handle;
52
if ($handle) {
53
$icon_image = $handle->getImageURI();
54
if (!$icon_image) {
55
$icon_icon = $handle->getIcon();
56
$icon_color = $handle->getIconColor();
57
}
58
}
59
60
if ($icon_image === null && $icon_icon === null) {
61
return null;
62
}
63
64
$view = new PHUIIconView();
65
66
if ($icon_image !== null) {
67
$view->setImage($icon_image);
68
} else {
69
if ($icon_color === null) {
70
$icon_color = 'bluegrey';
71
}
72
73
if ($icon_icon !== null) {
74
$view->setIcon($icon_icon);
75
}
76
77
if ($icon_color !== null) {
78
$view->setColor($icon_color);
79
}
80
}
81
82
83
return $view;
84
}
85
86
private function newHandleView() {
87
$handle = $this->handle;
88
if ($handle) {
89
return $handle->renderLink();
90
}
91
92
return null;
93
}
94
95
private function newNoteView() {
96
return null;
97
}
98
99
}
100
101