mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-22 21:40:55 +01:00
Move "Open in Editor" to File Box
Summary: Moves this single action to the File Contents box in Diffusion Browse. Also fixes a PHUIObjectBox missing when enable highlighting is on. Test Plan: Enable/Disable Highlighting. See disabled Editor button. Reviewers: epriestley Reviewed By: epriestley CC: Korvin, epriestley, aran Maniphest Tasks: T4467 Differential Revision: https://secure.phabricator.com/D8300
This commit is contained in:
parent
2a277bbc03
commit
ce5eafe7f1
2 changed files with 31 additions and 16 deletions
|
@ -208,7 +208,7 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
|||
|
||||
if (!$show_color) {
|
||||
$style =
|
||||
"margin: 1em 2em; width: 90%; height: 80em; font-family: monospace";
|
||||
"border: none; width: 100%; height: 80em; font-family: monospace";
|
||||
if (!$show_blame) {
|
||||
$corpus = phutil_tag(
|
||||
'textarea',
|
||||
|
@ -301,13 +301,18 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
|||
),
|
||||
$corpus_table);
|
||||
|
||||
$corpus = id(new PHUIObjectBoxView())
|
||||
->setHeaderText('File Contents')
|
||||
->appendChild($corpus);
|
||||
|
||||
Javelin::initBehavior('load-blame', array('id' => $id));
|
||||
}
|
||||
|
||||
$button = $this->createEditButton();
|
||||
$header = id(new PHUIHeaderView())
|
||||
->setHeader(pht('File Contents'))
|
||||
->addActionLink($button);
|
||||
|
||||
$corpus = id(new PHUIObjectBoxView())
|
||||
->setHeader($header)
|
||||
->appendChild($corpus);
|
||||
|
||||
return $corpus;
|
||||
}
|
||||
|
||||
|
@ -349,7 +354,6 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
|||
->setUser($viewer)
|
||||
->setRenderAsForm(true));
|
||||
|
||||
|
||||
if ($show_color) {
|
||||
$highlight_text = pht('Disable Highlighting');
|
||||
$highlight_icon = 'highlight-grey';
|
||||
|
@ -406,12 +410,10 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
|||
->setIcon('file'));
|
||||
}
|
||||
|
||||
$view->addAction($this->createEditAction());
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
private function createEditAction() {
|
||||
private function createEditButton() {
|
||||
$request = $this->getRequest();
|
||||
$user = $request->getUser();
|
||||
|
||||
|
@ -424,14 +426,17 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
|||
$callsign = $repository->getCallsign();
|
||||
$editor_link = $user->loadEditorLink($path, $line, $callsign);
|
||||
|
||||
$action = id(new PhabricatorActionView())
|
||||
->setName(pht('Open in Editor'))
|
||||
->setIcon('edit');
|
||||
$icon_edit = id(new PHUIIconView())
|
||||
->setSpriteSheet(PHUIIconView::SPRITE_ICONS)
|
||||
->setSpriteIcon('edit');
|
||||
$button = id(new PHUIButtonView())
|
||||
->setTag('a')
|
||||
->setText(pht('Open in Editor'))
|
||||
->setHref($editor_link)
|
||||
->setIcon($icon_edit)
|
||||
->setDisabled(!$editor_link);
|
||||
|
||||
$action->setHref($editor_link);
|
||||
$action->setDisabled(!$editor_link);
|
||||
|
||||
return $action;
|
||||
return $button;
|
||||
}
|
||||
|
||||
private function buildDisplayRows(
|
||||
|
|
|
@ -20,6 +20,7 @@ final class PHUIButtonView extends AphrontTagView {
|
|||
private $icon;
|
||||
private $href = null;
|
||||
private $title = null;
|
||||
private $disabled;
|
||||
|
||||
public function setText($text) {
|
||||
$this->text = $text;
|
||||
|
@ -46,6 +47,11 @@ final class PHUIButtonView extends AphrontTagView {
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function setDisabled($disabled) {
|
||||
$this->disabled = $disabled;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setTag($tag) {
|
||||
$this->tag = $tag;
|
||||
return $this;
|
||||
|
@ -93,6 +99,10 @@ final class PHUIButtonView extends AphrontTagView {
|
|||
$classes[] = 'has-icon';
|
||||
}
|
||||
|
||||
if ($this->disabled) {
|
||||
$classes[] = 'disabled';
|
||||
}
|
||||
|
||||
return array('class' => $classes,
|
||||
'href' => $this->href,
|
||||
'title' => $this->title);
|
||||
|
|
Loading…
Reference in a new issue