Path: blob/master/src/view/layout/PHUICurtainView.php
12241 views
<?php12final class PHUICurtainView extends AphrontTagView {34private $actionList;5private $panels = array();67public function addAction(PhabricatorActionView $action) {8$this->getActionList()->addAction($action);9return $this;10}1112public function addPanel(PHUICurtainPanelView $curtain_panel) {13$this->panels[] = $curtain_panel;14return $this;15}1617public function newPanel() {18$panel = new PHUICurtainPanelView();19$this->addPanel($panel);2021// By default, application panels go at the top of the curtain, above22// extension panels.23$panel->setOrder(1000);2425return $panel;26}2728public function setActionList(PhabricatorActionListView $action_list) {29$this->actionList = $action_list;30return $this;31}3233public function getActionList() {34return $this->actionList;35}3637protected function canAppendChild() {38return false;39}4041protected function getTagContent() {42$action_list = $this->actionList;4344require_celerity_resource('phui-curtain-view-css');4546$panels = $this->renderPanels();4748$box = id(new PHUIObjectBoxView())49->appendChild($action_list)50->appendChild($panels)51->addClass('phui-two-column-properties');5253// We want to hide this UI on mobile if there are no child panels54if (!$panels) {55$box->addClass('curtain-no-panels');56}5758return $box;59}6061private function renderPanels() {62$panels = $this->panels;63$panels = msortv($panels, 'getOrderVector');6465return $panels;66}676869}707172