3 final class PhabricatorProjectWorkboardProfileMenuItem
4 extends PhabricatorProfileMenuItem
{
6 const MENUITEMKEY
= 'project.workboard';
8 public function getMenuItemTypeName() {
9 return pht('Project Workboard');
12 private function getDefaultName() {
13 return pht('Workboard');
16 public function getMenuItemTypeIcon() {
20 public function canMakeDefault(
21 PhabricatorProfileMenuItemConfiguration
$config) {
25 public function shouldEnableForObject($object) {
26 $viewer = $this->getViewer();
28 // Workboards are only available if Maniphest is installed.
29 $class = 'PhabricatorManiphestApplication';
30 if (!PhabricatorApplication
::isClassInstalledForViewer($class, $viewer)) {
37 public function getDisplayName(
38 PhabricatorProfileMenuItemConfiguration
$config) {
39 $name = $config->getMenuItemProperty('name');
45 return $this->getDefaultName();
48 public function buildEditEngineFields(
49 PhabricatorProfileMenuItemConfiguration
$config) {
51 id(new PhabricatorTextEditField())
53 ->setLabel(pht('Name'))
54 ->setPlaceholder($this->getDefaultName())
55 ->setValue($config->getMenuItemProperty('name')),
59 protected function newMenuItemViewList(
60 PhabricatorProfileMenuItemConfiguration
$config) {
61 $project = $config->getProfileObject();
63 $id = $project->getID();
64 $uri = $project->getWorkboardURI();
65 $name = $this->getDisplayName($config);
67 $item = $this->newItemView()
70 ->setIcon('fa-columns');