Fixed whitespace options in Differential.
Summary: Whitespace options could not be selected and the 'ignore_all' was not working. Test Plan: Made sure that whitespace is ignored correctly and selected option is handled correctly. Reviewed By: jungejason Reviewers: jungejason CC: epriestley, jungejason, tuomaspelkonen Differential Revision: 149
This commit is contained in:
@@ -132,6 +132,7 @@ class DifferentialChangesetViewController extends DifferentialController {
|
|||||||
$parser->setChangeset($changeset);
|
$parser->setChangeset($changeset);
|
||||||
$parser->setRightSideCommentMapping($right_source, $right_new);
|
$parser->setRightSideCommentMapping($right_source, $right_new);
|
||||||
$parser->setLeftSideCommentMapping($left_source, $left_new);
|
$parser->setLeftSideCommentMapping($left_source, $left_new);
|
||||||
|
$parser->setWhitespaceMode($request->getStr('whitespace'));
|
||||||
|
|
||||||
$phids = array();
|
$phids = array();
|
||||||
$inlines = $this->loadInlineComments($id, $author_phid);
|
$inlines = $this->loadInlineComments($id, $author_phid);
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ class DifferentialRevisionViewController extends DifferentialController {
|
|||||||
$diff_history->setDiffs($diffs);
|
$diff_history->setDiffs($diffs);
|
||||||
$diff_history->setSelectedVersusDiffID($diff_vs);
|
$diff_history->setSelectedVersusDiffID($diff_vs);
|
||||||
$diff_history->setSelectedDiffID($target->getID());
|
$diff_history->setSelectedDiffID($target->getID());
|
||||||
|
$diff_history->setSelectedWhitespace($request->getStr('whitespace'));
|
||||||
|
|
||||||
$toc_view = new DifferentialDiffTableOfContentsView();
|
$toc_view = new DifferentialDiffTableOfContentsView();
|
||||||
$toc_view->setChangesets($changesets);
|
$toc_view->setChangesets($changesets);
|
||||||
@@ -185,6 +186,7 @@ class DifferentialRevisionViewController extends DifferentialController {
|
|||||||
$changeset_view->setEditable(true);
|
$changeset_view->setEditable(true);
|
||||||
$changeset_view->setRevision($revision);
|
$changeset_view->setRevision($revision);
|
||||||
$changeset_view->setVsMap($vs_map);
|
$changeset_view->setVsMap($vs_map);
|
||||||
|
$changeset_view->setWhitespace($request->getStr('whitespace'));
|
||||||
|
|
||||||
$draft = id(new PhabricatorDraft())->loadOneWhere(
|
$draft = id(new PhabricatorDraft())->loadOneWhere(
|
||||||
'authorPHID = %s AND draftKey = %s',
|
'authorPHID = %s AND draftKey = %s',
|
||||||
|
|||||||
@@ -675,10 +675,10 @@ EOSYNTHETIC;
|
|||||||
|
|
||||||
$diff = DifferentialDiff::newFromRawChanges($changes);
|
$diff = DifferentialDiff::newFromRawChanges($changes);
|
||||||
$changesets = $diff->getChangesets();
|
$changesets = $diff->getChangesets();
|
||||||
$alt_changeset = reset($changesets);
|
$changeset = reset($changesets);
|
||||||
|
|
||||||
$this->subparser = new DifferentialChangesetParser();
|
$this->subparser = new DifferentialChangesetParser();
|
||||||
$this->subparser->setChangeset($alt_changeset);
|
$this->subparser->setChangeset($changeset);
|
||||||
$this->subparser->setWhitespaceMode(self::WHITESPACE_IGNORE_TRAILING);
|
$this->subparser->setWhitespaceMode(self::WHITESPACE_IGNORE_TRAILING);
|
||||||
}
|
}
|
||||||
foreach ($changeset->getHunks() as $hunk) {
|
foreach ($changeset->getHunks() as $hunk) {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ class DifferentialChangesetListView extends AphrontView {
|
|||||||
private $revision;
|
private $revision;
|
||||||
private $renderURI = '/differential/changeset/';
|
private $renderURI = '/differential/changeset/';
|
||||||
private $vsMap = array();
|
private $vsMap = array();
|
||||||
|
private $whitespace = null;
|
||||||
|
|
||||||
public function setChangesets($changesets) {
|
public function setChangesets($changesets) {
|
||||||
$this->changesets = $changesets;
|
$this->changesets = $changesets;
|
||||||
@@ -49,6 +50,11 @@ class DifferentialChangesetListView extends AphrontView {
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setWhitespace($whitespace) {
|
||||||
|
$this->whitespace = $whitespace;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
require_celerity_resource('differential-changeset-view-css');
|
require_celerity_resource('differential-changeset-view-css');
|
||||||
|
|
||||||
@@ -77,7 +83,7 @@ class DifferentialChangesetListView extends AphrontView {
|
|||||||
array(
|
array(
|
||||||
'id' => $ref,
|
'id' => $ref,
|
||||||
'vs' => $vs_id,
|
'vs' => $vs_id,
|
||||||
'whitespace' => 'TODO',
|
'whitespace' => $this->whitespace,
|
||||||
));
|
));
|
||||||
|
|
||||||
$detail_button = phutil_render_tag(
|
$detail_button = phutil_render_tag(
|
||||||
@@ -109,10 +115,9 @@ class DifferentialChangesetListView extends AphrontView {
|
|||||||
$vs_id);
|
$vs_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$whitespace = null;
|
|
||||||
Javelin::initBehavior('differential-populate', array(
|
Javelin::initBehavior('differential-populate', array(
|
||||||
'registry' => $mapping,
|
'registry' => $mapping,
|
||||||
'whitespace' => $whitespace,
|
'whitespace' => $this->whitespace,
|
||||||
'uri' => $this->renderURI,
|
'uri' => $this->renderURI,
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ final class DifferentialRevisionUpdateHistoryView extends AphrontView {
|
|||||||
private $diffs = array();
|
private $diffs = array();
|
||||||
private $selectedVersusDiffID;
|
private $selectedVersusDiffID;
|
||||||
private $selectedDiffID;
|
private $selectedDiffID;
|
||||||
|
private $selectedWhitespace;
|
||||||
|
|
||||||
public function setDiffs($diffs) {
|
public function setDiffs($diffs) {
|
||||||
$this->diffs = $diffs;
|
$this->diffs = $diffs;
|
||||||
@@ -37,6 +38,11 @@ final class DifferentialRevisionUpdateHistoryView extends AphrontView {
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setSelectedWhitespace($whitespace) {
|
||||||
|
$this->selectedWhitespace = $whitespace;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
|
|
||||||
require_celerity_resource('differential-core-view-css');
|
require_celerity_resource('differential-core-view-css');
|
||||||
@@ -157,7 +163,25 @@ final class DifferentialRevisionUpdateHistoryView extends AphrontView {
|
|||||||
'radios' => $radios,
|
'radios' => $radios,
|
||||||
));
|
));
|
||||||
|
|
||||||
$select = '<select><option>Ignore All</option></select>';
|
$options = array(
|
||||||
|
'ignore-all' => 'Ignore All',
|
||||||
|
'ignore-trailing' => 'Ignore Trailing',
|
||||||
|
'show-all' => 'Show All',
|
||||||
|
);
|
||||||
|
|
||||||
|
$select = '<select name="whitespace">';
|
||||||
|
foreach ($options as $value => $label) {
|
||||||
|
$select .= phutil_render_tag(
|
||||||
|
'option',
|
||||||
|
array(
|
||||||
|
'value' => $value,
|
||||||
|
'selected' => ($value == $this->selectedWhitespace)
|
||||||
|
? 'selected'
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
phutil_escape_html($label));
|
||||||
|
}
|
||||||
|
$select .= '</select>';
|
||||||
|
|
||||||
return
|
return
|
||||||
'<div class="differential-revision-history differential-panel">'.
|
'<div class="differential-revision-history differential-panel">'.
|
||||||
|
|||||||
Reference in New Issue
Block a user