From 12dca28193924a29ee2e23f22bdbb5a5b7873657 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 3 Apr 2016 14:59:11 -0700 Subject: [PATCH] Update Phlux to new UI Summary: Updates view, list, edit pages on Phlux. Test Plan: Create a variable, see variable, edit variable, view lists. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D15602 --- .../phlux/controller/PhluxEditController.php | 30 ++++++--- .../phlux/controller/PhluxListController.php | 27 ++++++-- .../phlux/controller/PhluxViewController.php | 67 +++++++++++-------- 3 files changed, 78 insertions(+), 46 deletions(-) diff --git a/src/applications/phlux/controller/PhluxEditController.php b/src/applications/phlux/controller/PhluxEditController.php index 775737c9b7..f37795a754 100644 --- a/src/applications/phlux/controller/PhluxEditController.php +++ b/src/applications/phlux/controller/PhluxEditController.php @@ -154,24 +154,34 @@ final class PhluxEditController extends PhluxController { if ($is_new) { $title = pht('Create Variable'); $crumbs->addTextCrumb($title, $request->getRequestURI()); + $header_icon = 'fa-plus-square'; } else { - $title = pht('Edit %s', $key); + $title = pht('Edit Variable: %s', $key); + $header_icon = 'fa-pencil'; $crumbs->addTextCrumb($title, $request->getRequestURI()); } + $crumbs->setBorder(true); - $form_box = id(new PHUIObjectBoxView()) - ->setHeaderText($title) + $box = id(new PHUIObjectBoxView()) + ->setHeaderText(pht('Variable')) ->setFormErrors($errors) + ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setForm($form); - return $this->buildApplicationPage( - array( - $crumbs, - $form_box, - ), - array( - 'title' => $title, + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setHeaderIcon($header_icon); + + $view = id(new PHUITwoColumnView()) + ->setHeader($header) + ->setFooter(array( + $box, )); + + return $this->newPage() + ->setTitle($title) + ->setCrumbs($crumbs) + ->appendChild($view); } } diff --git a/src/applications/phlux/controller/PhluxListController.php b/src/applications/phlux/controller/PhluxListController.php index 550f571a6a..e75fb09999 100644 --- a/src/applications/phlux/controller/PhluxListController.php +++ b/src/applications/phlux/controller/PhluxListController.php @@ -13,6 +13,7 @@ final class PhluxListController extends PhluxController { $vars = $query->executeWithCursorPager($pager); $view = new PHUIObjectItemListView(); + $view->setFlush(true); foreach ($vars as $var) { $key = $var->getVariableKey(); @@ -28,19 +29,31 @@ final class PhluxListController extends PhluxController { $crumbs = $this->buildApplicationCrumbs(); + $box = id(new PHUIObjectBoxView()) + ->setHeaderText('Variables') + ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) + ->appendChild($view); + $title = pht('Variable List'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setHeaderIcon('fa-copy'); $crumbs->addTextCrumb($title, $this->getApplicationURI()); + $crumbs->setBorder(true); - return $this->buildApplicationPage( - array( - $crumbs, - $view, + $view = id(new PHUITwoColumnView()) + ->setHeader($header) + ->setFooter(array( + $box, $pager, - ), - array( - 'title' => $title, )); + + return $this->newPage() + ->setTitle($title) + ->setCrumbs($crumbs) + ->appendChild($view); + } } diff --git a/src/applications/phlux/controller/PhluxViewController.php b/src/applications/phlux/controller/PhluxViewController.php index 384e15b57e..b3019443be 100644 --- a/src/applications/phlux/controller/PhluxViewController.php +++ b/src/applications/phlux/controller/PhluxViewController.php @@ -15,40 +15,24 @@ final class PhluxViewController extends PhluxController { return new Aphront404Response(); } - $crumbs = $this->buildApplicationCrumbs(); - $title = $var->getVariableKey(); + $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($title, $request->getRequestURI()); + $crumbs->setBorder(true); + + $curtain = $this->buildCurtainView($var); $header = id(new PHUIHeaderView()) ->setHeader($title) ->setUser($viewer) - ->setPolicyObject($var); - - $actions = id(new PhabricatorActionListView()) - ->setUser($viewer) - ->setObject($var); - - $can_edit = PhabricatorPolicyFilter::hasCapability( - $viewer, - $var, - PhabricatorPolicyCapability::CAN_EDIT); - - $actions->addAction( - id(new PhabricatorActionView()) - ->setIcon('fa-pencil') - ->setName(pht('Edit Variable')) - ->setHref($this->getApplicationURI('/edit/'.$var->getVariableKey().'/')) - ->setDisabled(!$can_edit) - ->setWorkflow(!$can_edit)); + ->setPolicyObject($var) + ->setHeaderIcon('fa-copy'); $display_value = json_encode($var->getVariableValue()); $properties = id(new PHUIPropertyListView()) ->setUser($viewer) - ->setObject($var) - ->setActionList($actions) ->addProperty(pht('Value'), $display_value); $timeline = $this->buildTransactionTimeline( @@ -57,18 +41,43 @@ final class PhluxViewController extends PhluxController { $timeline->setShouldTerminate(true); $object_box = id(new PHUIObjectBoxView()) - ->setHeader($header) + ->setHeaderText(pht('DETAILS')) + ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->addPropertyList($properties); - return $this->buildApplicationPage( - array( - $crumbs, + $view = id(new PHUITwoColumnView()) + ->setHeader($header) + ->setCurtain($curtain) + ->setMainColumn(array( $object_box, $timeline, - ), - array( - 'title' => $title, )); + + return $this->newPage() + ->setTitle($title) + ->setCrumbs($crumbs) + ->appendChild($view); + } + + private function buildCurtainView(PhluxVariable $var) { + $viewer = $this->getViewer(); + + $curtain = $this->newCurtainView($var); + + $can_edit = PhabricatorPolicyFilter::hasCapability( + $viewer, + $var, + PhabricatorPolicyCapability::CAN_EDIT); + + $curtain->addAction( + id(new PhabricatorActionView()) + ->setIcon('fa-pencil') + ->setName(pht('Edit Variable')) + ->setHref($this->getApplicationURI('/edit/'.$var->getVariableKey().'/')) + ->setDisabled(!$can_edit) + ->setWorkflow(!$can_edit)); + + return $curtain; } }