@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class FuelHandleListView
4 extends FuelComponentView {
5
6 private $items = array();
7
8 public function addHandleList(PhabricatorHandleList $list) {
9 $this->items[] = array(
10 'type' => 'list',
11 'item' => $list,
12 );
13 return $this;
14 }
15
16 public function render() {
17 require_celerity_resource('fuel-handle-list-css');
18
19 $items = $this->items;
20
21 $item_views = array();
22 foreach ($items as $item) {
23 $item_type = $item['type'];
24 $item_item = $item['item'];
25
26 switch ($item_type) {
27 case 'list':
28 foreach ($item_item as $handle) {
29 $item_views[] = id(new FuelHandleListItemView())
30 ->setHandle($handle);
31 }
32 break;
33 }
34 }
35
36 $body = phutil_tag(
37 'div',
38 array(
39 'class' => 'fuel-handle-list-body',
40 ),
41 $item_views);
42
43 $list = phutil_tag(
44 'div',
45 array(
46 'class' => 'fuel-handle-list',
47 ),
48 $body);
49
50 return $this->newComponentTag(
51 'div',
52 array(
53 'class' => 'fuel-handle-list-component',
54 ),
55 $list);
56 }
57
58}