3 final class HarbormasterLintPropertyView
extends AphrontView
{
5 private $pathURIMap = array();
6 private $lintMessages = array();
9 public function setPathURIMap(array $map) {
10 $this->pathURIMap
= $map;
14 public function setLintMessages(array $messages) {
15 assert_instances_of($messages, 'HarbormasterBuildLintMessage');
16 $this->lintMessages
= $messages;
20 public function setLimit($limit) {
21 $this->limit
= $limit;
25 public function render() {
26 $messages = $this->lintMessages
;
27 $messages = msort($messages, 'getSortKey');
30 $messages = array_slice($messages, 0, $this->limit
);
34 foreach ($messages as $message) {
35 $path = $message->getPath();
36 $line = $message->getLine();
39 if (strlen(idx($this->pathURIMap
, $path))) {
40 $href = $this->pathURIMap
[$path].max($line, 1);
43 $severity = $this->renderSeverity($message->getSeverity());
45 $location = $path.':'.$line;
47 $location = phutil_tag(
63 $table = id(new AphrontTableView($rows))
82 private function renderSeverity($severity) {
83 $names = ArcanistLintSeverity
::getLintSeverities();
84 $name = idx($names, $severity, $severity);
86 // TODO: Add some color here?