@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 PHUIActionPanelExample extends PhabricatorUIExample {
4
5 public function getName() {
6 return pht('Action Panel');
7 }
8
9 public function getDescription() {
10 return pht('A panel with strong tendencies for inciting ACTION!');
11 }
12
13 public function renderExample() {
14 $viewer = $this->getRequest()->getUser();
15
16 $view = id(new AphrontMultiColumnView())
17 ->setFluidLayout(true);
18
19 $credit = PhabricatorFile::loadBuiltin(
20 $viewer, 'projects/v3/creditcard.png');
21 $image = $credit->getBestURI();
22
23 /* Action Panels */
24 $panel1 = id(new PHUIActionPanelView())
25 ->setIcon('fa-book')
26 ->setHeader(pht('Read Documentation'))
27 ->setHref('#')
28 ->setSubHeader(pht('Reading is a common way to learn about things.'))
29 ->setState(PHUIActionPanelView::COLOR_BLUE);
30 $view->addColumn($panel1);
31
32 $panel2 = id(new PHUIActionPanelView())
33 ->setIcon('fa-server')
34 ->setHeader(pht('Launch Instance'))
35 ->setHref('#')
36 ->setSubHeader(pht("Maybe this is what you're likely here for."))
37 ->setState(PHUIActionPanelView::COLOR_RED);
38 $view->addColumn($panel2);
39
40 $panel3 = id(new PHUIActionPanelView())
41 ->setIcon('fa-group')
42 ->setHeader(pht('Code with Friends'))
43 ->setHref('#')
44 ->setSubHeader(pht('Writing code is much more fun with friends!'))
45 ->setState(PHUIActionPanelView::COLOR_YELLOW);
46 $view->addColumn($panel3);
47
48 $panel4 = id(new PHUIActionPanelView())
49 ->setIcon('fa-cloud-download')
50 ->setHeader(pht('Download Data'))
51 ->setHref('#')
52 ->setSubHeader(pht('Need a backup of all your kitten memes?'))
53 ->setState(PHUIActionPanelView::COLOR_PINK);
54 $view->addColumn($panel4);
55
56 $view2 = id(new AphrontMultiColumnView())
57 ->setFluidLayout(true);
58
59 /* Action Panels */
60 $panel1 = id(new PHUIActionPanelView())
61 ->setImage($image)
62 ->setHeader(pht('Account Balance'))
63 ->setHref('#')
64 ->setSubHeader(pht('You were last billed $2,245.12 on Dec 12, 2014.'))
65 ->setState(PHUIActionPanelView::COLOR_GREEN);
66 $view2->addColumn($panel1);
67
68 $panel2 = id(new PHUIActionPanelView())
69 ->setBigText(true)
70 ->setHeader(pht('Instance Users'))
71 ->setHref('#')
72 ->setSubHeader(
73 pht('148'));
74 $view2->addColumn($panel2);
75
76 $panel3 = id(new PHUIActionPanelView())
77 ->setBigText(true)
78 ->setHeader(pht('Next Maintenance Window'))
79 ->setHref('#')
80 ->setSubHeader(
81 pht('March 12'))
82 ->setState(PHUIActionPanelView::COLOR_ORANGE);
83 $view2->addColumn($panel3);
84
85 $panel4 = id(new PHUIActionPanelView())
86 ->setBigText(true)
87 ->setHeader(pht('Lines of Code'))
88 ->setHref('#')
89 ->setSubHeader(pht('1,113,377'))
90 ->setState(PHUIActionPanelView::COLOR_INDIGO);
91 $view2->addColumn($panel4);
92
93 $view = phutil_tag_div('mlb', $view);
94
95 return phutil_tag_div('ml', array($view, $view2));
96 }
97}