Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/diff/view/PHUIDiffInlineCommentDetailView.php
| Show First 20 Lines • Show All 541 Lines • ▼ Show 20 Lines | private function newSuggestionView(PhabricatorInlineComment $inline) { | ||||
| $viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
| $changeset = id(new PhabricatorDifferenceEngine()) | $changeset = id(new PhabricatorDifferenceEngine()) | ||||
| ->generateChangesetFromFileContent($old_lines, $new_lines); | ->generateChangesetFromFileContent($old_lines, $new_lines); | ||||
| $changeset->setFilename($context->getFilename()); | $changeset->setFilename($context->getFilename()); | ||||
| // TODO: This isn't cached! | |||||
| $viewstate = new PhabricatorChangesetViewState(); | $viewstate = new PhabricatorChangesetViewState(); | ||||
| $parser = id(new DifferentialChangesetParser()) | $parser = id(new DifferentialChangesetParser()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->setViewstate($viewstate) | ->setViewstate($viewstate) | ||||
| ->setChangeset($changeset); | ->setChangeset($changeset); | ||||
| $fragment = $inline->getInlineCommentCacheFragment(); | |||||
| if ($fragment !== null) { | |||||
| $cache_key = sprintf( | |||||
| '%s.suggestion-view(v1, %s)', | |||||
| $fragment, | |||||
| PhabricatorHash::digestForIndex($new_lines)); | |||||
| $parser->setRenderCacheKey($cache_key); | |||||
| } | |||||
| $renderer = new DifferentialChangesetOneUpRenderer(); | $renderer = new DifferentialChangesetOneUpRenderer(); | ||||
| $renderer->setSimpleMode(true); | $renderer->setSimpleMode(true); | ||||
| $parser->setRenderer($renderer); | $parser->setRenderer($renderer); | ||||
| $diff_view = $parser->render(0, 0xFFFF, array()); | $diff_view = $parser->render(0, 0xFFFF, array()); | ||||
| $view = phutil_tag( | $view = phutil_tag( | ||||
| 'div', | 'div', | ||||
| array( | array( | ||||
| 'class' => 'inline-suggestion-view PhabricatorMonospaced', | 'class' => 'inline-suggestion-view PhabricatorMonospaced', | ||||
| ), | ), | ||||
| $diff_view); | $diff_view); | ||||
| return $view; | return $view; | ||||
| } | } | ||||
| } | } | ||||