Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/menuitem/PhabricatorProfileMenuItem.php
<?php | <?php | ||||
abstract class PhabricatorProfileMenuItem extends Phobject { | abstract class PhabricatorProfileMenuItem extends Phobject { | ||||
private $viewer; | private $viewer; | ||||
private $engine; | private $engine; | ||||
final public function buildNavigationMenuItems( | |||||
PhabricatorProfileMenuItemConfiguration $config) { | |||||
return $this->newNavigationMenuItems($config); | |||||
} | |||||
abstract protected function newNavigationMenuItems( | |||||
PhabricatorProfileMenuItemConfiguration $config); | |||||
public function willBuildNavigationItems(array $items) {} | |||||
public function getMenuItemTypeIcon() { | public function getMenuItemTypeIcon() { | ||||
return null; | return null; | ||||
} | } | ||||
abstract public function getMenuItemTypeName(); | abstract public function getMenuItemTypeName(); | ||||
abstract public function getDisplayName( | abstract public function getDisplayName( | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | abstract class PhabricatorProfileMenuItem extends Phobject { | ||||
final public static function getAllMenuItems() { | final public static function getAllMenuItems() { | ||||
return id(new PhutilClassMapQuery()) | return id(new PhutilClassMapQuery()) | ||||
->setAncestorClass(__CLASS__) | ->setAncestorClass(__CLASS__) | ||||
->setUniqueMethod('getMenuItemKey') | ->setUniqueMethod('getMenuItemKey') | ||||
->execute(); | ->execute(); | ||||
} | } | ||||
protected function newItem() { | final protected function newItemView() { | ||||
return new PHUIListItemView(); | return new PhabricatorProfileMenuItemView(); | ||||
} | } | ||||
public function willGetMenuItemViewList(array $items) {} | |||||
final public function getMenuItemViewList( | |||||
PhabricatorProfileMenuItemConfiguration $config) { | |||||
$list = $this->newMenuItemViewList($config); | |||||
if (!is_array($list)) { | |||||
throw new Exception( | |||||
pht( | |||||
'Expected "newMenuItemViewList()" to return a list (in class "%s"), '. | |||||
'but it returned something else ("%s").', | |||||
get_class($this), | |||||
phutil_describe_type($list))); | |||||
} | |||||
assert_instances_of($list, 'PhabricatorProfileMenuItemView'); | |||||
foreach ($list as $view) { | |||||
$view->setMenuItemConfiguration($config); | |||||
} | |||||
return $list; | |||||
} | |||||
abstract protected function newMenuItemViewList( | |||||
PhabricatorProfileMenuItemConfiguration $config); | |||||
public function newPageContent( | public function newPageContent( | ||||
PhabricatorProfileMenuItemConfiguration $config) { | PhabricatorProfileMenuItemConfiguration $config) { | ||||
return null; | return null; | ||||
} | } | ||||
public function getItemViewURI( | public function getItemViewURI( | ||||
PhabricatorProfileMenuItemConfiguration $config) { | PhabricatorProfileMenuItemConfiguration $config) { | ||||
Show All 35 Lines | final protected function newRequiredError($message, $type) { | ||||
return $this->newError(pht('Required'), $message, $xaction) | return $this->newError(pht('Required'), $message, $xaction) | ||||
->setIsMissingFieldError(true); | ->setIsMissingFieldError(true); | ||||
} | } | ||||
final protected function newInvalidError($message, $xaction = null) { | final protected function newInvalidError($message, $xaction = null) { | ||||
return $this->newError(pht('Invalid'), $message, $xaction); | return $this->newError(pht('Invalid'), $message, $xaction); | ||||
} | } | ||||
final protected function newEmptyView($title, $message) { | |||||
return id(new PHUIInfoView()) | |||||
->setTitle($title) | |||||
->setSeverity(PHUIInfoView::SEVERITY_NODATA) | |||||
->setErrors( | |||||
array( | |||||
$message, | |||||
)); | |||||
} | |||||
} | } |