From 100760fb313ef08bed6c12cda9b0e6ba343a0bf1 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 8 Mar 2015 06:02:47 -0700 Subject: [PATCH] Use ChangesetListView in Phriction Summary: Ref T2009. Upgrade this from DetailView to ListView so we get "Highlight As", "View Unified", etc., and respect the unified diff prefernce. Test Plan: Viewed diffs in Phriction. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T2009 Differential Revision: https://secure.phabricator.com/D12013 --- .../controller/PhrictionDiffController.php | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/applications/phriction/controller/PhrictionDiffController.php b/src/applications/phriction/controller/PhrictionDiffController.php index 36c7d75941..7f41c193f4 100644 --- a/src/applications/phriction/controller/PhrictionDiffController.php +++ b/src/applications/phriction/controller/PhrictionDiffController.php @@ -72,10 +72,12 @@ final class PhrictionDiffController extends PhrictionController { $whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL; - $parser = new DifferentialChangesetParser(); - $parser->setUser($user); - $parser->setChangeset($changeset); - $parser->setRenderingReference("{$l},{$r}"); + $parser = id(new DifferentialChangesetParser()) + ->setUser($user) + ->setChangeset($changeset) + ->setRenderingReference("{$l},{$r}"); + + $parser->readParametersFromRequest($request); $parser->setWhitespaceMode($whitespace_mode); $engine = new PhabricatorMarkupEngine(); @@ -87,28 +89,25 @@ final class PhrictionDiffController extends PhrictionController { list($range_s, $range_e, $mask) = DifferentialChangesetParser::parseRangeSpecification($spec); - $output = $parser->render($range_s, $range_e, $mask); + $parser->setRange($range_s, $range_e); + $parser->setMask($mask); if ($request->isAjax()) { return id(new PhabricatorChangesetResponse()) - ->setRenderedChangeset($output); + ->setRenderedChangeset($parser->renderChangeset()); } - $output = id(new DifferentialChangesetDetailView()) + $changes = id(new DifferentialChangesetListView()) ->setUser($this->getViewer()) - ->setChangeset($changeset) - ->setRenderingRef("{$l},{$r}") + ->setChangesets(array($changeset)) + ->setVisibleChangesets(array($changeset)) + ->setRenderingReferences(array("{$l},{$r}")) ->setRenderURI('/phriction/diff/'.$document->getID().'/') - ->appendChild($output); + ->setTitle(pht('Changes')) + ->setParser($parser); - require_celerity_resource('differential-changeset-view-css'); - require_celerity_resource('syntax-highlighting-css'); require_celerity_resource('phriction-document-css'); - Javelin::initBehavior('differential-populate', array( - 'changesetViewIDs' => array($output->getID()), - )); - $slug = $document->getSlug(); $revert_l = $this->renderRevertButton($content_l, $current); @@ -198,13 +197,11 @@ final class PhrictionDiffController extends PhrictionController { ''. ''. '
%s%s
'. - '%s'. '', $comparison_table->render(), $navigation_table, $revert_l, - $revert_r, - $output); + $revert_r); $object_box = id(new PHUIObjectBoxView()) @@ -215,6 +212,7 @@ final class PhrictionDiffController extends PhrictionController { array( $crumbs, $object_box, + $changes, ), array( 'title' => pht('Document History'),