diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -45,7 +45,7 @@ 'rsrc/css/application/config/setup-issue.css' => 'f794cfc3', 'rsrc/css/application/config/unhandled-exception.css' => '4c96257a', 'rsrc/css/application/conpherence/durable-column.css' => '194ac487', - 'rsrc/css/application/conpherence/menu.css' => '3a0fd18a', + 'rsrc/css/application/conpherence/menu.css' => '4c959efa', 'rsrc/css/application/conpherence/message-pane.css' => '31dc663d', 'rsrc/css/application/conpherence/notification.css' => '6cdcc253', 'rsrc/css/application/conpherence/transaction.css' => '2c71247c', @@ -614,7 +614,7 @@ 'config-options-css' => '0ede4c9b', 'config-page-css' => '8798e14f', 'conpherence-durable-column-view' => '194ac487', - 'conpherence-menu-css' => '3a0fd18a', + 'conpherence-menu-css' => '4c959efa', 'conpherence-message-pane-css' => '31dc663d', 'conpherence-notification-css' => '6cdcc253', 'conpherence-thread-manager' => '01774ab2', diff --git a/src/applications/conpherence/controller/ConpherenceController.php b/src/applications/conpherence/controller/ConpherenceController.php --- a/src/applications/conpherence/controller/ConpherenceController.php +++ b/src/applications/conpherence/controller/ConpherenceController.php @@ -38,30 +38,10 @@ $crumbs = parent::buildApplicationCrumbs(); $crumbs->setBorder(true); - $crumbs->addAction( - id(new PHUIListItemView()) - ->setName(pht('Search')) - ->setHref($this->getApplicationURI('search/')) - ->setIcon('fa-search')); - - if ($is_rooms) { - $crumbs - ->addAction( - id(new PHUIListItemView()) - ->setName(pht('New Room')) - ->setHref($this->getApplicationURI('new/')) - ->setIcon('fa-plus-square') - ->setWorkflow(true)); - } else { + if (!$is_rooms) { $crumbs ->addAction( id(new PHUIListItemView()) - ->setName(pht('New Room')) - ->setHref($this->getApplicationURI('new/')) - ->setIcon('fa-plus-square') - ->setWorkflow(true)) - ->addAction( - id(new PHUIListItemView()) ->setName(pht('Room')) ->setHref('#') ->setIcon('fa-bars') @@ -84,6 +64,15 @@ ->setName($data['title']) ->setHref('/'.$conpherence->getMonogram())); + $crumbs + ->addAction( + id(new PHUIListItemView()) + ->setName(pht('Edit Room')) + ->setHref( + $this->getApplicationURI('update/'.$conpherence->getID()).'/') + ->setIcon('fa-pencil') + ->setWorkflow(true)); + return hsprintf( '%s', array( diff --git a/src/applications/conpherence/view/ConpherenceThreadListView.php b/src/applications/conpherence/view/ConpherenceThreadListView.php --- a/src/applications/conpherence/view/ConpherenceThreadListView.php +++ b/src/applications/conpherence/view/ConpherenceThreadListView.php @@ -99,9 +99,7 @@ array $rooms, array $policy_objects) { - $header = $this->renderMenuItemHeader( - pht('Rooms'), - 'conpherence-room-list-header'); + $header = $this->renderMenuItemHeader(); $menu->addMenuItem($header); if (empty($rooms)) { @@ -189,11 +187,53 @@ return $menu; } - private function renderMenuItemHeader($title, $class = null) { + private function renderMenuItemHeader() { + $rooms = phutil_tag( + 'a', + array( + 'class' => 'room-list-href', + 'href' => '/conpherence/search/', + ), + pht('Rooms')); + + $new_icon = id(new PHUIIconView()) + ->setIcon('fa-plus-square') + ->addSigil('has-tooltip') + ->setHref('/conpherence/new/') + ->setWorkflow(true) + ->setMetaData(array( + 'tip' => pht('New Room'), + )); + + $search_icon = id(new PHUIIconView()) + ->setIcon('fa-search') + ->addSigil('has-tooltip') + ->setHref('/conpherence/search/') + ->setMetaData(array( + 'tip' => pht('Search Rooms'), + )); + + $icons = phutil_tag( + 'span', + array( + 'class' => 'room-list-icons', + ), + array( + $new_icon, + $search_icon, + )); + + $new_icon = id(new PHUIIconView()) + ->setIcon('fa-plus-square') + ->setHref('/conpherence/new/') + ->setWorkflow(true); + + $custom = array($rooms, $icons); + $item = id(new PHUIListItemView()) - ->setType(PHUIListItemView::TYPE_LABEL) - ->setName($title) - ->addClass($class); + ->setType(PHUIListItemView::TYPE_CUSTOM) + ->setName($custom) + ->addClass('conpherence-room-list-header'); return $item; } diff --git a/webroot/rsrc/css/application/conpherence/menu.css b/webroot/rsrc/css/application/conpherence/menu.css --- a/webroot/rsrc/css/application/conpherence/menu.css +++ b/webroot/rsrc/css/application/conpherence/menu.css @@ -51,8 +51,24 @@ display: none; } -.conpherence-menu-pane.phabricator-side-menu .phui-list-item-type-label { +.conpherence-menu-pane.phabricator-side-menu .room-list-href { padding: 10px 0 9px 8px; + display: inline-block; + text-transform: uppercase; + color: {$darkgreytext}; + font-weight: bold; + font-size: {$smallerfontsize}; +} + +.conpherence-menu-pane.phabricator-side-menu .room-list-icons { + display: inline-block; + float: right; + padding: 8px 0 5px; +} + +.conpherence-menu-pane .conpherence-room-list-header { + clear: both; + overflow: hidden; } .conpherence-menu-pane .conpherence-room-list-header @@ -60,7 +76,7 @@ font-weight: bold; float: right; text-transform: none; - margin: 0px 8px 0px 0px; + padding: 4px; } .conpherence-menu-pane .conpherence-room-list-header