@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 PHUIInfoExample extends PhabricatorUIExample {
4
5 public function getName() {
6 return pht('Info View');
7 }
8
9 public function getDescription() {
10 return pht(
11 'Use %s to render errors, warnings and notices.',
12 phutil_tag('tt', array(), 'PHUIInfoView'));
13 }
14
15 public function renderExample() {
16 $request = $this->getRequest();
17 $user = $request->getUser();
18
19 $sevs = array(
20 PHUIInfoView::SEVERITY_ERROR => pht('Error'),
21 PHUIInfoView::SEVERITY_WARNING => pht('Warning'),
22 PHUIInfoView::SEVERITY_NODATA => pht('No Data'),
23 PHUIInfoView::SEVERITY_NOTICE => pht('Notice'),
24 PHUIInfoView::SEVERITY_SUCCESS => pht('Success'),
25 );
26
27 $button = id(new PHUIButtonView())
28 ->setTag('a')
29 ->setText(pht('Resolve Issue'))
30 ->setHref('#');
31
32 $views = array();
33 // Only Title
34 foreach ($sevs as $sev => $title) {
35 $view = new PHUIInfoView();
36 $view->setSeverity($sev);
37 $view->setTitle($title);
38 $views[] = $view;
39 }
40 $views[] = phutil_tag('br', array(), null);
41
42 // Only Body
43 foreach ($sevs as $sev => $title) {
44 $view = new PHUIInfoView();
45 $view->setSeverity($sev);
46 $view->appendChild(pht('Several issues were encountered.'));
47 $view->addButton($button);
48 $views[] = $view;
49 }
50 $views[] = phutil_tag('br', array(), null);
51
52 // Only Errors
53 foreach ($sevs as $sev => $title) {
54 $view = new PHUIInfoView();
55 $view->setSeverity($sev);
56 $view->setErrors(
57 array(
58 pht('Overcooked.'),
59 pht('Too much salt.'),
60 pht('Full of sand.'),
61 ));
62 $views[] = $view;
63 }
64 $views[] = phutil_tag('br', array(), null);
65
66 // All
67 foreach ($sevs as $sev => $title) {
68 $view = new PHUIInfoView();
69 $view->setSeverity($sev);
70 $view->setTitle($title);
71 $view->appendChild(pht('Several issues were encountered.'));
72 $view->setErrors(
73 array(
74 pht('Overcooked.'),
75 pht('Too much salt.'),
76 pht('Full of sand.'),
77 ));
78 $views[] = $view;
79 }
80
81 return $views;
82 }
83}