diff --git a/src/applications/conduit/controller/PhabricatorConduitController.php b/src/applications/conduit/controller/PhabricatorConduitController.php --- a/src/applications/conduit/controller/PhabricatorConduitController.php +++ b/src/applications/conduit/controller/PhabricatorConduitController.php @@ -60,13 +60,28 @@ ->setErrors($messages) ->setSeverity(PHUIInfoView::SEVERITY_NOTICE); + $tab_group = id(new PHUITabGroupView()) + ->addTab( + id(new PHUITabView()) + ->setName(pht('arc call-conduit')) + ->setKey('arc') + ->appendChild($arc_example)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('cURL')) + ->setKey('curl') + ->appendChild($curl_example)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('PHP')) + ->setKey('php') + ->appendChild($php_example)); + return id(new PHUIObjectBoxView()) ->setHeaderText(pht('Examples')) ->setInfoView($info_view) ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($arc_example, pht('arc call-conduit')) - ->addPropertyList($curl_example, pht('cURL')) - ->addPropertyList($php_example, pht('PHP')); + ->addTabGroup($tab_group); } private function renderExample( diff --git a/src/applications/drydock/controller/DrydockLeaseViewController.php b/src/applications/drydock/controller/DrydockLeaseViewController.php --- a/src/applications/drydock/controller/DrydockLeaseViewController.php +++ b/src/applications/drydock/controller/DrydockLeaseViewController.php @@ -45,12 +45,27 @@ $locks = $this->buildLocksTab($lease->getPHID()); $commands = $this->buildCommandsTab($lease->getPHID()); + $tab_group = id(new PHUITabGroupView()) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Properties')) + ->setKey('properties') + ->appendChild($properties)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Slot Locks')) + ->setKey('locks') + ->appendChild($locks)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Commands')) + ->setKey('commands') + ->appendChild($commands)); + $object_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Properties')) ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties, pht('Properties')) - ->addPropertyList($locks, pht('Slot Locks')) - ->addPropertyList($commands, pht('Commands')); + ->addTabGroup($tab_group); $view = id(new PHUITwoColumnView()) ->setHeader($header) diff --git a/src/applications/drydock/controller/DrydockResourceViewController.php b/src/applications/drydock/controller/DrydockResourceViewController.php --- a/src/applications/drydock/controller/DrydockResourceViewController.php +++ b/src/applications/drydock/controller/DrydockResourceViewController.php @@ -49,14 +49,30 @@ $locks = $this->buildLocksTab($resource->getPHID()); $commands = $this->buildCommandsTab($resource->getPHID()); - $lease_box = $this->buildLeaseBox($resource); + + $tab_group = id(new PHUITabGroupView()) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Properties')) + ->setKey('properties') + ->appendChild($properties)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Slot Locks')) + ->setKey('locks') + ->appendChild($locks)) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Commands')) + ->setKey('commands') + ->appendChild($commands)); $object_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Properties')) ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties, pht('Properties')) - ->addPropertyList($locks, pht('Slot Locks')) - ->addPropertyList($commands, pht('Commands')); + ->addTabGroup($tab_group); + + $lease_box = $this->buildLeaseBox($resource); $view = id(new PHUITwoColumnView()) ->setHeader($header) diff --git a/src/applications/harbormaster/controller/HarbormasterBuildViewController.php b/src/applications/harbormaster/controller/HarbormasterBuildViewController.php --- a/src/applications/harbormaster/controller/HarbormasterBuildViewController.php +++ b/src/applications/harbormaster/controller/HarbormasterBuildViewController.php @@ -95,6 +95,9 @@ ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setHeader($header); + $tab_group = new PHUITabGroupView(); + $target_box->addTabGroup($tab_group); + $property_list = new PHUIPropertyListView(); $target_artifacts = idx($artifacts, $build_target->getPHID(), array()); @@ -178,7 +181,11 @@ $property_list->addProperty(pht('Status'), $status_view); - $target_box->addPropertyList($property_list, pht('Overview')); + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Overview')) + ->setKey('overview') + ->appendChild($property_list)); $step = $build_target->getBuildStep(); @@ -204,22 +211,34 @@ foreach ($details as $key => $value) { $property_list->addProperty($key, $value); } - $target_box->addPropertyList($property_list, pht('Configuration')); + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Configuration')) + ->setKey('configuration') + ->appendChild($property_list)); $variables = $build_target->getVariables(); - $property_list = new PHUIPropertyListView(); - $property_list->addRawContent($this->buildProperties($variables)); - $target_box->addPropertyList($property_list, pht('Variables')); + $variables_tab = $this->buildProperties($variables); + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Variables')) + ->setKey('variables') + ->appendChild($variables_tab)); $artifacts_tab = $this->buildArtifacts($build_target, $target_artifacts); - $property_list = new PHUIPropertyListView(); - $property_list->addRawContent($artifacts_tab); - $target_box->addPropertyList($property_list, pht('Artifacts')); + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Artifacts')) + ->setKey('artifacts') + ->appendChild($artifacts_tab)); $build_messages = idx($messages, $build_target->getPHID(), array()); - $property_list = new PHUIPropertyListView(); - $property_list->addRawContent($this->buildMessages($build_messages)); - $target_box->addPropertyList($property_list, pht('Messages')); + $messages_tab = $this->buildMessages($build_messages); + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Messages')) + ->setKey('messages') + ->appendChild($messages_tab)); $property_list = new PHUIPropertyListView(); $property_list->addProperty( @@ -228,7 +247,12 @@ $property_list->addProperty( pht('Build Target PHID'), $build_target->getPHID()); - $target_box->addPropertyList($property_list, pht('Metadata')); + + $tab_group->addTab( + id(new PHUITabView()) + ->setName(pht('Metadata')) + ->setKey('metadata') + ->appendChild($property_list)); $targets[] = $target_box; diff --git a/src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php b/src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php --- a/src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php +++ b/src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php @@ -36,13 +36,32 @@ ->addTextCrumb(pht('Mail %d', $mail->getID())) ->setBorder(true); + $tab_group = id(new PHUITabGroupView()) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Message')) + ->setKey('message') + ->appendChild($this->buildMessageProperties($mail))) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Headers')) + ->setKey('headers') + ->appendChild($this->buildHeaderProperties($mail))) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Delivery')) + ->setKey('delivery') + ->appendChild($this->buildDeliveryProperties($mail))) + ->addTab( + id(new PHUITabView()) + ->setName(pht('Metadata')) + ->setKey('metadata') + ->appendChild($this->buildMetadataProperties($mail))); + $object_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Mail')) ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($this->buildMessageProperties($mail), pht('Message')) - ->addPropertyList($this->buildHeaderProperties($mail), pht('Headers')) - ->addPropertyList($this->buildDeliveryProperties($mail), pht('Delivery')) - ->addPropertyList($this->buildMetadataProperties($mail), pht('Metadata')); + ->addTabGroup($tab_group); $view = id(new PHUITwoColumnView()) ->setHeader($header)