Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/view/DifferentialRevisionListView.php
Show First 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | foreach ($this->revisions as $key => $revision) { | ||||
if (isset($icons['flag'])) { | if (isset($icons['flag'])) { | ||||
$item->addHeadIcon($icons['flag']); | $item->addHeadIcon($icons['flag']); | ||||
} | } | ||||
$item->setObjectName($revision->getMonogram()); | $item->setObjectName($revision->getMonogram()); | ||||
$item->setHeader($revision->getTitle()); | $item->setHeader($revision->getTitle()); | ||||
$item->setHref($revision->getURI()); | $item->setHref($revision->getURI()); | ||||
$item->addAttribute($this->renderRevisionSize($revision)); | |||||
if ($revision->getHasDraft($viewer)) { | if ($revision->getHasDraft($viewer)) { | ||||
$draft = id(new PHUIIconView()) | $draft = id(new PHUIIconView()) | ||||
->setIcon('fa-comment yellow') | ->setIcon('fa-comment yellow') | ||||
->addSigil('has-tooltip') | ->addSigil('has-tooltip') | ||||
->setMetadata( | ->setMetadata( | ||||
array( | array( | ||||
'tip' => pht('Unsubmitted Comments'), | 'tip' => pht('Unsubmitted Comments'), | ||||
)); | )); | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | if ($this->header && !$this->noBox) { | ||||
} | } | ||||
} else { | } else { | ||||
$list->setHeader($this->header); | $list->setHeader($this->header); | ||||
} | } | ||||
return $list; | return $list; | ||||
} | } | ||||
private function renderRevisionSize(DifferentialRevision $revision) { | |||||
$size = array(); | |||||
$glyphs = $revision->getRevisionScaleGlyphs(); | |||||
$plus_count = 0; | |||||
for ($ii = 0; $ii < 7; $ii++) { | |||||
$c = $glyphs[$ii]; | |||||
switch ($c) { | |||||
case '+': | |||||
$size[] = id(new PHUIIconView()) | |||||
->setIcon('fa-plus'); | |||||
$plus_count++; | |||||
break; | |||||
case '-': | |||||
$size[] = id(new PHUIIconView()) | |||||
->setIcon('fa-minus'); | |||||
break; | |||||
default: | |||||
$size[] = id(new PHUIIconView()) | |||||
->setIcon('fa-square-o invisible'); | |||||
break; | |||||
} | |||||
} | |||||
$n = $revision->getAddedLineCount() + $revision->getRemovedLineCount(); | |||||
$classes = array(); | |||||
$classes[] = 'differential-revision-size'; | |||||
if ($plus_count <= 1) { | |||||
$classes[] = 'differential-revision-small'; | |||||
} | |||||
if ($plus_count >= 4) { | |||||
$classes[] = 'differential-revision-large'; | |||||
} | |||||
return javelin_tag( | |||||
'span', | |||||
array( | |||||
'class' => implode(' ', $classes), | |||||
'sigil' => 'has-tooltip', | |||||
'meta' => array( | |||||
'tip' => pht('%s Lines', new PhutilNumber($n)), | |||||
'align' => 'E', | |||||
), | |||||
), | |||||
$size); | |||||
} | |||||
} | } |