mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
17702f3984
Summary: Ref T2009. Makes "Context not available" render and behave correctly. Test Plan: Viewed diff with missing context in 1-up view, looked marginally better. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T2009 Differential Revision: https://secure.phabricator.com/D11973
92 lines
2.5 KiB
PHP
92 lines
2.5 KiB
PHP
<?php
|
|
|
|
final class DifferentialChangesetOneUpRenderer
|
|
extends DifferentialChangesetHTMLRenderer {
|
|
|
|
public function isOneUpRenderer() {
|
|
return true;
|
|
}
|
|
|
|
protected function renderColgroup() {
|
|
return phutil_tag('colgroup', array(), array(
|
|
phutil_tag('col', array('class' => 'num')),
|
|
phutil_tag('col', array('class' => 'num')),
|
|
phutil_tag('col', array('class' => 'unified')),
|
|
));
|
|
}
|
|
|
|
public function renderTextChange(
|
|
$range_start,
|
|
$range_len,
|
|
$rows) {
|
|
|
|
$primitives = $this->buildPrimitives($range_start, $range_len);
|
|
|
|
$out = array();
|
|
foreach ($primitives as $p) {
|
|
$type = $p['type'];
|
|
switch ($type) {
|
|
case 'old':
|
|
case 'new':
|
|
$out[] = hsprintf('<tr>');
|
|
if ($type == 'old') {
|
|
if ($p['htype']) {
|
|
$class = 'left old';
|
|
} else {
|
|
$class = 'left';
|
|
}
|
|
$out[] = phutil_tag('th', array(), $p['line']);
|
|
$out[] = phutil_tag('th', array());
|
|
$out[] = phutil_tag('td', array('class' => $class), $p['render']);
|
|
} else if ($type == 'new') {
|
|
if ($p['htype']) {
|
|
$class = 'right new';
|
|
$out[] = phutil_tag('th', array());
|
|
} else {
|
|
$class = 'right';
|
|
$out[] = phutil_tag('th', array(), $p['oline']);
|
|
}
|
|
$out[] = phutil_tag('th', array(), $p['line']);
|
|
$out[] = phutil_tag('td', array('class' => $class), $p['render']);
|
|
}
|
|
$out[] = hsprintf('</tr>');
|
|
break;
|
|
case 'inline':
|
|
$out[] = hsprintf('<tr><th /><th />');
|
|
$out[] = hsprintf('<td>');
|
|
|
|
$inline = $this->buildInlineComment(
|
|
$p['comment'],
|
|
$p['right']);
|
|
$inline->setBuildScaffolding(false);
|
|
$out[] = $inline->render();
|
|
|
|
$out[] = hsprintf('</td></tr>');
|
|
break;
|
|
case 'no-context':
|
|
$out[] = hsprintf(
|
|
'<tr><td class="show-more" colspan="3">%s</th></tr>',
|
|
pht('Context not available.'));
|
|
break;
|
|
default:
|
|
$out[] = hsprintf('<tr><th /><th /><td>%s</td></tr>', $type);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($out) {
|
|
return $this->wrapChangeInTable(phutil_implode_html('', $out));
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public function renderFileChange(
|
|
$old_file = null,
|
|
$new_file = null,
|
|
$id = 0,
|
|
$vs = 0) {
|
|
|
|
throw new PhutilMethodNotImplementedException();
|
|
}
|
|
|
|
}
|