changesets = $changesets; return $this; } public function render() { $against = array(); // TODO $edit = false; $changesets = $this->changesets; foreach ($changesets as $key => $changeset) { if (empty($against[$changeset->getID()])) { $type = $changeset->getChangeType(); if ($type == DifferentialChangeType::TYPE_MOVE_AWAY || $type == DifferentialChangeType::TYPE_MULTICOPY) { unset($changesets[$key]); } } } $output = array(); $mapping = array(); foreach ($changesets as $key => $changeset) { $file = $changeset->getFilename(); $class = 'differential-changeset'; if (!$edit) { $class .= ' differential-changeset-noneditable'; } $id = $changeset->getID(); if ($id) { $against_id = idx($against, $id); } else { $against_id = null; } /* $detail_uri = URI($render_uri) ->addQueryData(array( 'changeset' => $id, 'against' => $against_id, 'whitespace' => $whitespace, )); */ $detail_uri = '/differential/changeset/'.$changeset->getID().'/'; $detail = phutil_render_tag( 'a', array( 'style' => 'float: right', 'class' => 'button small grey', 'href' => $detail_uri, 'target' => '_blank', ), 'Standalone View'); // $div =
Loading…
; $display_filename = $changeset->getDisplayFilename(); $output[] = '
'. '

'.$detail.phutil_escape_html($display_filename).'

'. '
Loading...
'. '
'; /*
getID()}> {$detail}

{$file}

{$div}
; */ /* $mapping[$div->requireUniqueId()] = array_filter( array( $changeset->getID(), idx($against, $changeset->getID()), )); */ } /* require_static('differential-diff-css'); require_static('differential-syntax-css'); Javelin::initBehavior('differential-populate', array( 'registry' => $mapping, 'whitespace' => $whitespace, 'uri' => $render_uri, )); Javelin::initBehavior('differential-context', array( 'uri' => $render_uri, )); if ($edit) { require_static('remarkup-css'); Javelin::initBehavior('differential-inline', array( 'uri' => '/differential/feedback/'.$revision->getID().'/', )); } */ return '
'. implode("\n", $output). '
'; } }