Differential D19826 Diff 47381 src/applications/diffusion/management/DiffusionRepositoryManagementPanel.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/management/DiffusionRepositoryManagementPanel.php
Show All 35 Lines | abstract class DiffusionRepositoryManagementPanel | ||||
final public function getManagementPanelKey() { | final public function getManagementPanelKey() { | ||||
return $this->getPhobjectClassConstant('PANELKEY'); | return $this->getPhobjectClassConstant('PANELKEY'); | ||||
} | } | ||||
abstract public function getManagementPanelLabel(); | abstract public function getManagementPanelLabel(); | ||||
abstract public function getManagementPanelOrder(); | abstract public function getManagementPanelOrder(); | ||||
abstract public function buildManagementPanelContent(); | abstract public function buildManagementPanelContent(); | ||||
public function buildManagementPanelCurtain() { return null; } | |||||
public function getManagementPanelIcon() { | public function getManagementPanelIcon() { | ||||
return 'fa-pencil'; | return 'fa-pencil'; | ||||
} | } | ||||
protected function buildManagementPanelActions() { | protected function buildManagementPanelActions() { | ||||
return array(); | return array(); | ||||
} | } | ||||
public function shouldEnableForRepository( | public function shouldEnableForRepository( | ||||
PhabricatorRepository $repository) { | PhabricatorRepository $repository) { | ||||
return true; | return true; | ||||
} | } | ||||
public static function getAllPanels() { | public static function getAllPanels() { | ||||
return id(new PhutilClassMapQuery()) | return id(new PhutilClassMapQuery()) | ||||
->setAncestorClass(__CLASS__) | ->setAncestorClass(__CLASS__) | ||||
->setUniqueMethod('getManagementPanelKey') | ->setUniqueMethod('getManagementPanelKey') | ||||
->setSortMethod('getManagementPanelOrder') | ->setSortMethod('getManagementPanelOrder') | ||||
->execute(); | ->execute(); | ||||
} | } | ||||
final protected function newBox($header_text, $body, $button = array()) { | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader($header_text); | |||||
foreach ($button as $link) { | |||||
$header->addActionLink($link); | |||||
} | |||||
$view = id(new PHUIObjectBoxView()) | |||||
->setHeader($header) | |||||
->setBackground(PHUIObjectBoxView::WHITE_CONFIG) | |||||
->appendChild($body); | |||||
return $view; | |||||
} | |||||
final protected function newTimeline() { | final protected function newTimeline() { | ||||
return $this->controller->newTimeline($this->getRepository()); | return $this->controller->newTimeline($this->getRepository()); | ||||
} | } | ||||
final public function getPanelURI() { | final public function getPanelURI() { | ||||
$repository = $this->getRepository(); | $repository = $this->getRepository(); | ||||
$key = $this->getManagementPanelKey(); | $key = $this->getManagementPanelKey(); | ||||
return $repository->getPathURI("manage/{$key}/"); | return $repository->getPathURI("manage/{$key}/"); | ||||
Show All 29 Lines | protected function getEditPageURI($page = null) { | ||||
$id = $repository->getID(); | $id = $repository->getID(); | ||||
return "/diffusion/edit/{$id}/page/{$page}/"; | return "/diffusion/edit/{$id}/page/{$page}/"; | ||||
} | } | ||||
public function getPanelNavigationURI() { | public function getPanelNavigationURI() { | ||||
return $this->getPanelURI(); | return $this->getPanelURI(); | ||||
} | } | ||||
final protected function newActionList() { | |||||
$viewer = $this->getViewer(); | |||||
$action_id = celerity_generate_unique_node_id(); | |||||
return id(new PhabricatorActionListView()) | |||||
->setViewer($viewer) | |||||
->setID($action_id); | |||||
} | |||||
final protected function newCurtainView() { | |||||
$viewer = $this->getViewer(); | |||||
return id(new PHUICurtainView()) | |||||
->setViewer($viewer); | |||||
} | |||||
final protected function newBox($header_text, $body) { | |||||
$viewer = $this->getViewer(); | |||||
$header = id(new PHUIHeaderView()) | |||||
->setViewer($viewer) | |||||
->setHeader($header_text); | |||||
$view = id(new PHUIObjectBoxView()) | |||||
->setViewer($viewer) | |||||
->setHeader($header) | |||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | |||||
->appendChild($body); | |||||
return $view; | |||||
} | |||||
} | } |