Changeset View
Changeset View
Standalone View
Standalone View
src/view/layout/PhabricatorActionView.php
| <?php | <?php | ||||
| final class PhabricatorActionView extends AphrontView { | final class PhabricatorActionView extends AphrontView { | ||||
| private $name; | private $name; | ||||
| private $icon; | private $icon; | ||||
| private $href; | private $href; | ||||
| private $disabled; | private $disabled; | ||||
| private $label; | private $label; | ||||
| private $workflow; | private $workflow; | ||||
| private $renderAsForm; | private $renderAsForm; | ||||
| private $download; | private $download; | ||||
| private $objectURI; | private $objectURI; | ||||
| private $sigils = array(); | private $sigils = array(); | ||||
| private $metadata; | private $metadata; | ||||
| private $selected; | private $selected; | ||||
| private $openInNewWindow; | |||||
| public function setSelected($selected) { | public function setSelected($selected) { | ||||
| $this->selected = $selected; | $this->selected = $selected; | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function getSelected() { | public function getSelected() { | ||||
| return $this->selected; | return $this->selected; | ||||
| ▲ Show 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | public function setWorkflow($workflow) { | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function setRenderAsForm($form) { | public function setRenderAsForm($form) { | ||||
| $this->renderAsForm = $form; | $this->renderAsForm = $form; | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function setOpenInNewWindow($open_in_new_window) { | |||||
| $this->openInNewWindow = $open_in_new_window; | |||||
| return $this; | |||||
| } | |||||
| public function getOpenInNewWindow() { | |||||
| return $this->openInNewWindow; | |||||
| } | |||||
| public function render() { | public function render() { | ||||
| $icon = null; | $icon = null; | ||||
| if ($this->icon) { | if ($this->icon) { | ||||
| $color = ''; | $color = ''; | ||||
| if ($this->disabled) { | if ($this->disabled) { | ||||
| $color = ' grey'; | $color = ' grey'; | ||||
| } | } | ||||
| Show All 38 Lines | if ($this->href) { | ||||
| array( | array( | ||||
| 'action' => $this->getHref(), | 'action' => $this->getHref(), | ||||
| 'method' => 'POST', | 'method' => 'POST', | ||||
| 'sigil' => $sigils, | 'sigil' => $sigils, | ||||
| 'meta' => $this->metadata, | 'meta' => $this->metadata, | ||||
| ), | ), | ||||
| $item); | $item); | ||||
| } else { | } else { | ||||
| if ($this->getOpenInNewWindow()) { | |||||
| $target = '_blank'; | |||||
| } else { | |||||
| $target = null; | |||||
| } | |||||
| $item = javelin_tag( | $item = javelin_tag( | ||||
| 'a', | 'a', | ||||
| array( | array( | ||||
| 'href' => $this->getHref(), | 'href' => $this->getHref(), | ||||
| 'class' => 'phabricator-action-view-item', | 'class' => 'phabricator-action-view-item', | ||||
| 'target' => $target, | |||||
| 'sigil' => $sigils, | 'sigil' => $sigils, | ||||
| 'meta' => $this->metadata, | 'meta' => $this->metadata, | ||||
| ), | ), | ||||
| array($icon, $this->name)); | array($icon, $this->name)); | ||||
| } | } | ||||
| } else { | } else { | ||||
| $item = phutil_tag( | $item = phutil_tag( | ||||
| 'span', | 'span', | ||||
| Show All 30 Lines | |||||