1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-13 08:11:04 +01:00

Remove all code referencing old tab navigation

Summary:
  - Add getHelpURI() to PhabricatorApplication for application user guides.
  - Add a new "help" icon menu item and skeletal Diviner application.
  - Move help tabs to Applications where they exist, document the other ones that don't exist yet.
  - Grep for all tab-related stuff and delete it.

Test Plan: Clicked "help" for some apps. Clicked around randomly in a bunch of other apps.

Reviewers: btrahan, vrana

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D3267
This commit is contained in:
epriestley 2012-08-13 15:28:41 -07:00
parent a68c30ce83
commit 66cee129b6
32 changed files with 85 additions and 143 deletions

View file

@ -549,6 +549,7 @@ phutil_register_library_map(array(
'PhabricatorApplicationDaemons' => 'applications/daemon/application/PhabricatorApplicationDaemons.php', 'PhabricatorApplicationDaemons' => 'applications/daemon/application/PhabricatorApplicationDaemons.php',
'PhabricatorApplicationDifferential' => 'applications/differential/application/PhabricatorApplicationDifferential.php', 'PhabricatorApplicationDifferential' => 'applications/differential/application/PhabricatorApplicationDifferential.php',
'PhabricatorApplicationDiffusion' => 'applications/diffusion/application/PhabricatorApplicationDiffusion.php', 'PhabricatorApplicationDiffusion' => 'applications/diffusion/application/PhabricatorApplicationDiffusion.php',
'PhabricatorApplicationDiviner' => 'applications/diviner/application/PhabricatorApplicationDiviner.php',
'PhabricatorApplicationFact' => 'applications/fact/application/PhabricatorApplicationFact.php', 'PhabricatorApplicationFact' => 'applications/fact/application/PhabricatorApplicationFact.php',
'PhabricatorApplicationFlags' => 'applications/flag/application/PhabricatorApplicationFlags.php', 'PhabricatorApplicationFlags' => 'applications/flag/application/PhabricatorApplicationFlags.php',
'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php', 'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
@ -1671,6 +1672,7 @@ phutil_register_library_map(array(
'PhabricatorApplicationDaemons' => 'PhabricatorApplication', 'PhabricatorApplicationDaemons' => 'PhabricatorApplication',
'PhabricatorApplicationDifferential' => 'PhabricatorApplication', 'PhabricatorApplicationDifferential' => 'PhabricatorApplication',
'PhabricatorApplicationDiffusion' => 'PhabricatorApplication', 'PhabricatorApplicationDiffusion' => 'PhabricatorApplication',
'PhabricatorApplicationDiviner' => 'PhabricatorApplication',
'PhabricatorApplicationFact' => 'PhabricatorApplication', 'PhabricatorApplicationFact' => 'PhabricatorApplication',
'PhabricatorApplicationFlags' => 'PhabricatorApplication', 'PhabricatorApplicationFlags' => 'PhabricatorApplication',
'PhabricatorApplicationLaunchView' => 'AphrontView', 'PhabricatorApplicationLaunchView' => 'AphrontView',

View file

@ -70,6 +70,21 @@ abstract class PhabricatorApplication {
return null; return null;
} }
public function getHelpURI() {
// TODO: When these applications get created, link to their docs:
//
// - Conduit
// - Drydock
// - Herald
// - OAuth Server
// - Owners
// - Phame
// - Slowvote
return null;
}
/* -( URI Routing )-------------------------------------------------------- */ /* -( URI Routing )-------------------------------------------------------- */

View file

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Copyright 2011 Facebook, Inc. * Copyright 2012 Facebook, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,12 +30,6 @@ abstract class PhabricatorCalendarController extends PhabricatorController {
// use "keyboard" since it looks vaguely similar. // use "keyboard" since it looks vaguely similar.
$page->setGlyph("\xE2\x8C\xA8"); $page->setGlyph("\xE2\x8C\xA8");
$page->appendChild($view);
$page->setTabs(
array(
),
idx($data, 'tab'));
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();
return $response->setContent($page->render()); return $response->setContent($page->render());
} }

View file

@ -25,21 +25,12 @@ abstract class PhabricatorConduitController extends PhabricatorController {
protected $showSideNav; protected $showSideNav;
public function buildStandardPageResponse($view, array $data) { public function buildStandardPageResponse($view, array $data) {
$doclink = PhabricatorEnv::getDoclink(
'article/Conduit_Technical_Documentation.html'
);
$page = $this->buildStandardPageView(); $page = $this->buildStandardPageView();
$page->setApplicationName('Conduit'); $page->setApplicationName('Conduit');
$page->setBaseURI('/conduit/'); $page->setBaseURI('/conduit/');
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x87\xB5"); $page->setGlyph("\xE2\x87\xB5");
$page->setTabs(array(
'help' => array(
'href' => $doclink,
'name' => 'Help')
), null);
if ($this->showSideNav()) { if ($this->showSideNav()) {

View file

@ -65,7 +65,6 @@ final class PhabricatorDaemonTimelineConsoleController
$nav, $nav,
array( array(
'title' => 'Timeline', 'title' => 'Timeline',
'tab' => 'timeline',
)); ));
} }

View file

@ -34,7 +34,6 @@ abstract class DifferentialController extends PhabricatorController {
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x9A\x99"); $page->setGlyph("\xE2\x9A\x99");
$page->appendChild($view); $page->appendChild($view);
$page->setIsLoggedOut($viewer_is_anonymous);
$page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_OPEN_REVISIONS); $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_OPEN_REVISIONS);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();

View file

@ -84,7 +84,6 @@ final class DifferentialDiffCreateController extends DifferentialController {
$panel, $panel,
array( array(
'title' => 'Create Diff', 'title' => 'Create Diff',
'tab' => 'create',
)); ));
} }

View file

@ -228,7 +228,6 @@ final class DifferentialRevisionListController extends DifferentialController {
$side_nav, $side_nav,
array( array(
'title' => 'Differential Home', 'title' => 'Differential Home',
'tab' => 'revisions',
)); ));
} }

View file

@ -30,6 +30,10 @@ final class PhabricatorApplicationDiffusion extends PhabricatorApplication {
return celerity_get_resource_uri('/rsrc/image/app/app_diffusion.png'); return celerity_get_resource_uri('/rsrc/image/app/app_diffusion.png');
} }
public function getHelpURI() {
return PhabricatorEnv::getDoclink('article/Diffusion_User_Guide.html');
}
public function getRoutes() { public function getRoutes() {
return array( return array(
'/r(?P<callsign>[A-Z]+)(?P<commit>[a-z0-9]+)' '/r(?P<callsign>[A-Z]+)(?P<commit>[a-z0-9]+)'

View file

@ -47,15 +47,6 @@ abstract class DiffusionController extends PhabricatorController {
$page->setBaseURI('/diffusion/'); $page->setBaseURI('/diffusion/');
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x89\x88"); $page->setGlyph("\xE2\x89\x88");
$page->setTabs(
array(
'help' => array(
'href' => PhabricatorEnv::getDoclink(
'article/Diffusion_User_Guide.html'),
'name' => 'Help',
),
),
null);
$page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_COMMITS); $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_COMMITS);
$page->appendChild($view); $page->appendChild($view);

View file

@ -0,0 +1,46 @@
<?php
/*
* Copyright 2012 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class PhabricatorApplicationDiviner extends PhabricatorApplication {
public function shouldAppearInLaunchView() {
return false;
}
public function buildMainMenuItems(
PhabricatorUser $user,
PhabricatorController $controller = null) {
$items = array();
$application = $controller->getCurrentApplication();
if ($application && $application->getHelpURI()) {
$class = 'main-menu-item-icon-help';
$item = new PhabricatorMainMenuIconView();
$item->setName(pht('%s Help', $application->getName()));
$item->addClass('main-menu-item-icon '.$class);
$item->setHref($application->getHelpURI());
$item->setSortOrder(0.1);
$items[] = $item;
}
return $items;
}
}

View file

@ -29,15 +29,6 @@ abstract class DrydockController extends PhabricatorController {
$page->appendChild($view); $page->appendChild($view);
$help_uri = PhabricatorEnv::getDoclink('article/Drydock_User_Guide.html');
$page->setTabs(
array(
'help' => array(
'name' => 'Help',
'href' => $help_uri,
),
), null);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();
return $response->setContent($page->render()); return $response->setContent($page->render());
} }

View file

@ -177,7 +177,6 @@ final class PhabricatorFileListController extends PhabricatorFileController {
$side_nav, $side_nav,
array( array(
'title' => 'Files', 'title' => 'Files',
'tab' => 'files',
)); ));
} }

View file

@ -158,7 +158,6 @@ final class PhabricatorFileMacroListController
$side_nav, $side_nav,
array( array(
'title' => 'Image Macros', 'title' => 'Image Macros',
'tab' => 'macros',
)); ));
} }
} }

View file

@ -26,16 +26,6 @@ abstract class HeraldController extends PhabricatorController {
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x98\xBF"); $page->setGlyph("\xE2\x98\xBF");
$doclink = PhabricatorEnv::getDoclink('article/Herald_User_Guide.html');
$tabs = array(
'help' => array(
'href' => $doclink,
'name' => 'Help',
),
);
$page->setTabs($tabs, null);
$page->appendChild($view); $page->appendChild($view);
$page->setIsAdminInterface(idx($data, 'admin')); $page->setIsAdminInterface(idx($data, 'admin'));

View file

@ -144,7 +144,6 @@ final class HeraldTestConsoleController extends HeraldController {
$nav, $nav,
array( array(
'title' => 'Test Console', 'title' => 'Test Console',
'tab' => 'test',
)); ));
} }

View file

@ -119,7 +119,6 @@ final class HeraldTranscriptListController extends HeraldController {
$nav, $nav,
array( array(
'title' => 'Herald Transcripts', 'title' => 'Herald Transcripts',
'tab' => 'transcripts',
)); ));
} }

View file

@ -81,7 +81,6 @@ final class PhabricatorMailingListsListController
$panel, $panel,
array( array(
'title' => 'Mailing Lists', 'title' => 'Mailing Lists',
'tab' => 'lists',
)); ));
} }
} }

View file

@ -91,7 +91,6 @@ final class PhabricatorMetaMTAReceivedListController
$nav, $nav,
array( array(
'title' => 'Received Mail', 'title' => 'Received Mail',
'tab' => 'received',
)); ));
} }
} }

View file

@ -47,17 +47,6 @@ extends PhabricatorController {
$nav->appendChild($view); $nav->appendChild($view);
$page->appendChild($nav); $page->appendChild($nav);
$doc_href = PhabricatorEnv::getDoclink(
'article/Using_the_Phabricator_OAuth_Server.html'
);
$page->setTabs(
array(
'help' => array(
'name' => 'Help',
'href' => $doc_href,
),
),
null);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();
return $response->setContent($page->render()); return $response->setContent($page->render());

View file

@ -39,16 +39,6 @@ abstract class PhabricatorOwnersController extends PhabricatorController {
$nav->appendChild($view); $nav->appendChild($view);
$page->appendChild($nav); $page->appendChild($nav);
$doclink =
PhabricatorEnv::getDoclink('article/Owners_Tool_User_Guide.html');
$tabs = array(
'help' => array(
'href' => $doclink,
'name' => 'Help',
),
);
$page->setTabs($tabs, null);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();
return $response->setContent($page->render()); return $response->setContent($page->render());
} }

View file

@ -122,7 +122,6 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController {
), ),
array( array(
'title' => 'Paste: '.nonempty($paste->getTitle(), 'P'.$paste->getID()), 'title' => 'Paste: '.nonempty($paste->getTitle(), 'P'.$paste->getID()),
'tab' => 'view',
)); ));
} }

View file

@ -39,14 +39,6 @@ abstract class PhameController extends PhabricatorController {
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xe2\x9c\xa9"); $page->setGlyph("\xe2\x9c\xa9");
$tabs = array(
'help' => array(
'name' => 'Help',
'href' =>
PhabricatorEnv::getDoclink('article/Phame_User_Guide.html'),
),
);
$page->setTabs($tabs, idx($data, 'tab'));
if ($this->showSideNav()) { if ($this->showSideNav()) {
$nav = $this->renderSideNavFilterView($this->getSideNavFilter()); $nav = $this->renderSideNavFilterView($this->getSideNavFilter());
$nav->appendChild($view); $nav->appendChild($view);

View file

@ -30,6 +30,10 @@ final class PhabricatorApplicationPhriction extends PhabricatorApplication {
return celerity_get_resource_uri('/rsrc/image/app/app_phriction.png'); return celerity_get_resource_uri('/rsrc/image/app/app_phriction.png');
} }
public function getHelpURI() {
return PhabricatorEnv::getDoclink('article/Phriction_User_Guide.html');
}
public function getRoutes() { public function getRoutes() {
return array( return array(
// Match "/w/" with slug "/". // Match "/w/" with slug "/".

View file

@ -30,14 +30,6 @@ abstract class PhrictionController extends PhabricatorController {
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x9A\xA1"); $page->setGlyph("\xE2\x9A\xA1");
$tabs = array(
'help' => array(
'name' => 'Help',
'href' =>
PhabricatorEnv::getDoclink('article/Phriction_User_Guide.html'),
),
);
$page->setTabs($tabs, idx($data, 'tab'));
$page->appendChild($view); $page->appendChild($view);
$page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_WIKI); $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_WIKI);

View file

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Copyright 2011 Facebook, Inc. * Copyright 2012 Facebook, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -29,16 +29,6 @@ abstract class PhabricatorSlowvoteController extends PhabricatorController {
$page->setTitle(idx($data, 'title')); $page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x9C\x94"); $page->setGlyph("\xE2\x9C\x94");
$doc_href = PhabricatorEnv::getDoclink('article/Slowvote_User_Guide.html');
$page->setTabs(
array(
'help' => array(
'name' => 'Help',
'href' => $doc_href,
),
),
null);
$page->appendChild($view); $page->appendChild($view);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();

View file

@ -20,8 +20,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
private $baseURI; private $baseURI;
private $applicationName; private $applicationName;
private $tabs = array();
private $selectedTab;
private $glyph; private $glyph;
private $bodyContent; private $bodyContent;
private $menuContent; private $menuContent;
@ -48,18 +46,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
return $this; return $this;
} }
public function setIsLoggedOut($is_logged_out) {
if ($is_logged_out) {
$this->tabs = array_merge($this->tabs, array(
'login' => array(
'name' => 'Login',
'href' => '/login/'
)
));
}
return $this;
}
public function getIsAdminInterface() { public function getIsAdminInterface() {
return $this->isAdminInterface; return $this->isAdminInterface;
} }
@ -101,12 +87,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
return $this->baseURI; return $this->baseURI;
} }
public function setTabs(array $tabs, $selected_tab) {
$this->tabs = $tabs;
$this->selectedTab = $selected_tab;
return $this;
}
public function setShowChrome($show_chrome) { public function setShowChrome($show_chrome) {
$this->showChrome = $show_chrome; $this->showChrome = $show_chrome;
return $this; return $this;
@ -269,26 +249,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
protected function getBody() { protected function getBody() {
$console = $this->getConsole(); $console = $this->getConsole();
$tabs = array();
foreach ($this->tabs as $name => $tab) {
$tab_markup = phutil_render_tag(
'a',
array(
'href' => idx($tab, 'href'),
),
phutil_escape_html(idx($tab, 'name')));
$tab_markup = phutil_render_tag(
'td',
array(
'class' => ($name == $this->selectedTab)
? 'phabricator-selected-tab'
: null,
),
$tab_markup);
$tabs[] = $tab_markup;
}
$tabs = implode('', $tabs);
$login_stuff = null; $login_stuff = null;
$request = $this->getRequest(); $request = $this->getRequest();
$user = null; $user = null;

View file

@ -202,6 +202,18 @@
background-image: url(/rsrc/image/menu/icon_logout_selected.png); background-image: url(/rsrc/image/menu/icon_logout_selected.png);
} }
.main-menu-item-icon-help {
background-image: url(/rsrc/image/menu/icon_help.png);
}
.main-menu-item-icon-help:hover {
background-image: url(/rsrc/image/menu/icon_help_hover.png);
}
.main-menu-item-icon-help-selected {
background-image: url(/rsrc/image/menu/icon_help_selected.png);
}
.main-menu-item-icon-profile { .main-menu-item-icon-profile {
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 26px 26px; background-size: 26px 26px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB