@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 PhabricatorPackagesPackageListView
4 extends PhabricatorPackagesView {
5
6 private $packages;
7
8 /**
9 * @param array<PhabricatorPackagesPackage> $packages
10 */
11 public function setPackages(array $packages) {
12 assert_instances_of($packages, PhabricatorPackagesPackage::class);
13 $this->packages = $packages;
14 return $this;
15 }
16
17 public function getPackages() {
18 return $this->packages;
19 }
20
21 public function render() {
22 return $this->newListView();
23 }
24
25 public function newListView() {
26 $viewer = $this->getViewer();
27 $packages = $this->getPackages();
28
29 $list = id(new PHUIObjectItemListView())
30 ->setViewer($viewer);
31
32 foreach ($packages as $package) {
33 $item = id(new PHUIObjectItemView())
34 ->setObjectName($package->getFullKey())
35 ->setHeader($package->getName())
36 ->setHref($package->getURI());
37
38 $list->addItem($item);
39 }
40
41 return $list;
42 }
43
44}