Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/diff/PhabricatorInlineCommentController.php
Show First 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | switch ($this->getOperation()) { | ||||
$edit_dialog->addHiddenInput('id', $this->getCommentID()); | $edit_dialog->addHiddenInput('id', $this->getCommentID()); | ||||
$edit_dialog->addHiddenInput('op', 'edit'); | $edit_dialog->addHiddenInput('op', 'edit'); | ||||
$edit_dialog->appendChild( | $edit_dialog->appendChild( | ||||
$this->renderTextArea( | $this->renderTextArea( | ||||
nonempty($text, $inline->getContent()))); | nonempty($text, $inline->getContent()))); | ||||
$view = $this->buildScaffoldForView($edit_dialog); | |||||
return id(new AphrontAjaxResponse()) | return id(new AphrontAjaxResponse()) | ||||
->setContent($edit_dialog->render()); | ->setContent($view->render()); | ||||
case 'create': | case 'create': | ||||
$text = $this->getCommentText(); | $text = $this->getCommentText(); | ||||
if (!$request->isFormPost() || !strlen($text)) { | if (!$request->isFormPost() || !strlen($text)) { | ||||
return $this->buildEmptyResponse(); | return $this->buildEmptyResponse(); | ||||
} | } | ||||
$inline = $this->createComment() | $inline = $this->createComment() | ||||
Show All 36 Lines | switch ($this->getOperation()) { | ||||
$edit_dialog->addHiddenInput('op', 'create'); | $edit_dialog->addHiddenInput('op', 'create'); | ||||
$edit_dialog->addHiddenInput('is_new', $is_new); | $edit_dialog->addHiddenInput('is_new', $is_new); | ||||
$edit_dialog->addHiddenInput('number', $number); | $edit_dialog->addHiddenInput('number', $number); | ||||
$edit_dialog->addHiddenInput('length', $length); | $edit_dialog->addHiddenInput('length', $length); | ||||
$text_area = $this->renderTextArea($this->getCommentText()); | $text_area = $this->renderTextArea($this->getCommentText()); | ||||
$edit_dialog->appendChild($text_area); | $edit_dialog->appendChild($text_area); | ||||
$view = $this->buildScaffoldForView($edit_dialog); | |||||
return id(new AphrontAjaxResponse()) | return id(new AphrontAjaxResponse()) | ||||
->setContent($edit_dialog->render()); | ->setContent($view->render()); | ||||
} | } | ||||
} | } | ||||
private function readRequestParameters() { | private function readRequestParameters() { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
// NOTE: This isn't necessarily a DifferentialChangeset ID, just an | // NOTE: This isn't necessarily a DifferentialChangeset ID, just an | ||||
// application identifier for the changeset. In Diffusion, it's a Path ID. | // application identifier for the changeset. In Diffusion, it's a Path ID. | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | private function buildRenderedCommentResponse( | ||||
$view = id(new PHUIDiffInlineCommentDetailView()) | $view = id(new PHUIDiffInlineCommentDetailView()) | ||||
->setInlineComment($inline) | ->setInlineComment($inline) | ||||
->setOnRight($on_right) | ->setOnRight($on_right) | ||||
->setMarkupEngine($engine) | ->setMarkupEngine($engine) | ||||
->setHandles($handles) | ->setHandles($handles) | ||||
->setEditable(true); | ->setEditable(true); | ||||
$renderer = DifferentialChangesetHTMLRenderer::getHTMLRendererByKey( | $view = $this->buildScaffoldForView($view); | ||||
$this->getRenderer()); | |||||
$view = $renderer->getRowScaffoldForInline($view); | |||||
$view = id(new PHUIDiffInlineCommentTableScaffold()) | |||||
->addRowScaffold($view); | |||||
return id(new AphrontAjaxResponse()) | return id(new AphrontAjaxResponse()) | ||||
->setContent( | ->setContent( | ||||
array( | array( | ||||
'inlineCommentID' => $inline->getID(), | 'inlineCommentID' => $inline->getID(), | ||||
'markup' => $view->render(), | 'markup' => $view->render(), | ||||
)); | )); | ||||
} | } | ||||
private function renderTextArea($text) { | private function renderTextArea($text) { | ||||
return id(new PhabricatorRemarkupControl()) | return id(new PhabricatorRemarkupControl()) | ||||
->setUser($this->getRequest()->getUser()) | ->setUser($this->getRequest()->getUser()) | ||||
->setSigil('differential-inline-comment-edit-textarea') | ->setSigil('differential-inline-comment-edit-textarea') | ||||
->setName('text') | ->setName('text') | ||||
->setValue($text) | ->setValue($text) | ||||
->setDisableFullScreen(true); | ->setDisableFullScreen(true); | ||||
} | } | ||||
private function buildScaffoldForView(PHUIDiffInlineCommentView $view) { | |||||
$renderer = DifferentialChangesetHTMLRenderer::getHTMLRendererByKey( | |||||
$this->getRenderer()); | |||||
$view = $renderer->getRowScaffoldForInline($view); | |||||
return id(new PHUIDiffInlineCommentTableScaffold()) | |||||
->addRowScaffold($view); | |||||
} | |||||
} | } |