mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 10:12:41 +01:00
Move all ListFilter buttons into crumbs
Summary: Maniphest and Owners still have green ListFilter buttons, which have looked awkward for a while and are extra-awkward after D4447. Move them into crumbs and remove the ability of ListFilter to support buttons. The actual implementation can be simplified too now. Test Plan: Looked at Owners, Maniphest. Clicked create buttons. Looked at UIExample. Reviewers: chad Reviewed By: chad CC: aran Differential Revision: https://secure.phabricator.com/D4451
This commit is contained in:
parent
668a818f3c
commit
55072a2640
9 changed files with 88 additions and 97 deletions
|
@ -680,7 +680,7 @@ celerity_register_resource_map(array(
|
||||||
),
|
),
|
||||||
'aphront-list-filter-view-css' =>
|
'aphront-list-filter-view-css' =>
|
||||||
array(
|
array(
|
||||||
'uri' => '/res/7402821f/rsrc/css/aphront/list-filter-view.css',
|
'uri' => '/res/f6d419df/rsrc/css/aphront/list-filter-view.css',
|
||||||
'type' => 'css',
|
'type' => 'css',
|
||||||
'requires' =>
|
'requires' =>
|
||||||
array(
|
array(
|
||||||
|
@ -2664,7 +2664,7 @@ celerity_register_resource_map(array(
|
||||||
),
|
),
|
||||||
'phabricator-nav-view-css' =>
|
'phabricator-nav-view-css' =>
|
||||||
array(
|
array(
|
||||||
'uri' => '/res/8606cda1/rsrc/css/aphront/phabricator-nav-view.css',
|
'uri' => '/res/00ba5b11/rsrc/css/aphront/phabricator-nav-view.css',
|
||||||
'type' => 'css',
|
'type' => 'css',
|
||||||
'requires' =>
|
'requires' =>
|
||||||
array(
|
array(
|
||||||
|
@ -3268,7 +3268,7 @@ celerity_register_resource_map(array(
|
||||||
), array(
|
), array(
|
||||||
'packages' =>
|
'packages' =>
|
||||||
array(
|
array(
|
||||||
'7a47e387' =>
|
'6d57aed2' =>
|
||||||
array(
|
array(
|
||||||
'name' => 'core.pkg.css',
|
'name' => 'core.pkg.css',
|
||||||
'symbols' =>
|
'symbols' =>
|
||||||
|
@ -3313,7 +3313,7 @@ celerity_register_resource_map(array(
|
||||||
37 => 'phabricator-object-item-list-view-css',
|
37 => 'phabricator-object-item-list-view-css',
|
||||||
38 => 'global-drag-and-drop-css',
|
38 => 'global-drag-and-drop-css',
|
||||||
),
|
),
|
||||||
'uri' => '/res/pkg/7a47e387/core.pkg.css',
|
'uri' => '/res/pkg/6d57aed2/core.pkg.css',
|
||||||
'type' => 'css',
|
'type' => 'css',
|
||||||
),
|
),
|
||||||
'b239ff06' =>
|
'b239ff06' =>
|
||||||
|
@ -3502,19 +3502,19 @@ celerity_register_resource_map(array(
|
||||||
'reverse' =>
|
'reverse' =>
|
||||||
array(
|
array(
|
||||||
'aphront-attached-file-view-css' => 'ac211174',
|
'aphront-attached-file-view-css' => 'ac211174',
|
||||||
'aphront-crumbs-view-css' => '7a47e387',
|
'aphront-crumbs-view-css' => '6d57aed2',
|
||||||
'aphront-dialog-view-css' => '7a47e387',
|
'aphront-dialog-view-css' => '6d57aed2',
|
||||||
'aphront-error-view-css' => '7a47e387',
|
'aphront-error-view-css' => '6d57aed2',
|
||||||
'aphront-form-view-css' => '7a47e387',
|
'aphront-form-view-css' => '6d57aed2',
|
||||||
'aphront-headsup-action-list-view-css' => 'ec01d039',
|
'aphront-headsup-action-list-view-css' => 'ec01d039',
|
||||||
'aphront-headsup-view-css' => '7a47e387',
|
'aphront-headsup-view-css' => '6d57aed2',
|
||||||
'aphront-list-filter-view-css' => '7a47e387',
|
'aphront-list-filter-view-css' => '6d57aed2',
|
||||||
'aphront-pager-view-css' => '7a47e387',
|
'aphront-pager-view-css' => '6d57aed2',
|
||||||
'aphront-panel-view-css' => '7a47e387',
|
'aphront-panel-view-css' => '6d57aed2',
|
||||||
'aphront-table-view-css' => '7a47e387',
|
'aphront-table-view-css' => '6d57aed2',
|
||||||
'aphront-tokenizer-control-css' => '7a47e387',
|
'aphront-tokenizer-control-css' => '6d57aed2',
|
||||||
'aphront-tooltip-css' => '7a47e387',
|
'aphront-tooltip-css' => '6d57aed2',
|
||||||
'aphront-typeahead-control-css' => '7a47e387',
|
'aphront-typeahead-control-css' => '6d57aed2',
|
||||||
'differential-changeset-view-css' => 'ec01d039',
|
'differential-changeset-view-css' => 'ec01d039',
|
||||||
'differential-core-view-css' => 'ec01d039',
|
'differential-core-view-css' => 'ec01d039',
|
||||||
'differential-inline-comment-editor' => 'bbd79ca2',
|
'differential-inline-comment-editor' => 'bbd79ca2',
|
||||||
|
@ -3528,7 +3528,7 @@ celerity_register_resource_map(array(
|
||||||
'differential-table-of-contents-css' => 'ec01d039',
|
'differential-table-of-contents-css' => 'ec01d039',
|
||||||
'diffusion-commit-view-css' => 'c8ce2d88',
|
'diffusion-commit-view-css' => 'c8ce2d88',
|
||||||
'diffusion-icons-css' => 'c8ce2d88',
|
'diffusion-icons-css' => 'c8ce2d88',
|
||||||
'global-drag-and-drop-css' => '7a47e387',
|
'global-drag-and-drop-css' => '6d57aed2',
|
||||||
'inline-comment-summary-css' => 'ec01d039',
|
'inline-comment-summary-css' => 'ec01d039',
|
||||||
'javelin-aphlict' => 'b239ff06',
|
'javelin-aphlict' => 'b239ff06',
|
||||||
'javelin-behavior' => 'fbeded59',
|
'javelin-behavior' => 'fbeded59',
|
||||||
|
@ -3597,49 +3597,49 @@ celerity_register_resource_map(array(
|
||||||
'javelin-util' => 'fbeded59',
|
'javelin-util' => 'fbeded59',
|
||||||
'javelin-vector' => 'fbeded59',
|
'javelin-vector' => 'fbeded59',
|
||||||
'javelin-workflow' => 'fbeded59',
|
'javelin-workflow' => 'fbeded59',
|
||||||
'lightbox-attachment-css' => '7a47e387',
|
'lightbox-attachment-css' => '6d57aed2',
|
||||||
'maniphest-task-summary-css' => 'ac211174',
|
'maniphest-task-summary-css' => 'ac211174',
|
||||||
'maniphest-transaction-detail-css' => 'ac211174',
|
'maniphest-transaction-detail-css' => 'ac211174',
|
||||||
'phabricator-app-buttons-css' => '7a47e387',
|
'phabricator-app-buttons-css' => '6d57aed2',
|
||||||
'phabricator-busy' => 'b239ff06',
|
'phabricator-busy' => 'b239ff06',
|
||||||
'phabricator-content-source-view-css' => 'ec01d039',
|
'phabricator-content-source-view-css' => 'ec01d039',
|
||||||
'phabricator-core-buttons-css' => '7a47e387',
|
'phabricator-core-buttons-css' => '6d57aed2',
|
||||||
'phabricator-core-css' => '7a47e387',
|
'phabricator-core-css' => '6d57aed2',
|
||||||
'phabricator-crumbs-view-css' => '7a47e387',
|
'phabricator-crumbs-view-css' => '6d57aed2',
|
||||||
'phabricator-directory-css' => '7a47e387',
|
'phabricator-directory-css' => '6d57aed2',
|
||||||
'phabricator-drag-and-drop-file-upload' => 'bbd79ca2',
|
'phabricator-drag-and-drop-file-upload' => 'bbd79ca2',
|
||||||
'phabricator-dropdown-menu' => 'b239ff06',
|
'phabricator-dropdown-menu' => 'b239ff06',
|
||||||
'phabricator-file-upload' => 'b239ff06',
|
'phabricator-file-upload' => 'b239ff06',
|
||||||
'phabricator-filetree-view-css' => '7a47e387',
|
'phabricator-filetree-view-css' => '6d57aed2',
|
||||||
'phabricator-flag-css' => '7a47e387',
|
'phabricator-flag-css' => '6d57aed2',
|
||||||
'phabricator-form-view-css' => '7a47e387',
|
'phabricator-form-view-css' => '6d57aed2',
|
||||||
'phabricator-header-view-css' => '7a47e387',
|
'phabricator-header-view-css' => '6d57aed2',
|
||||||
'phabricator-jump-nav' => '7a47e387',
|
'phabricator-jump-nav' => '6d57aed2',
|
||||||
'phabricator-keyboard-shortcut' => 'b239ff06',
|
'phabricator-keyboard-shortcut' => 'b239ff06',
|
||||||
'phabricator-keyboard-shortcut-manager' => 'b239ff06',
|
'phabricator-keyboard-shortcut-manager' => 'b239ff06',
|
||||||
'phabricator-main-menu-view' => '7a47e387',
|
'phabricator-main-menu-view' => '6d57aed2',
|
||||||
'phabricator-menu-item' => 'b239ff06',
|
'phabricator-menu-item' => 'b239ff06',
|
||||||
'phabricator-nav-view-css' => '7a47e387',
|
'phabricator-nav-view-css' => '6d57aed2',
|
||||||
'phabricator-notification' => 'b239ff06',
|
'phabricator-notification' => 'b239ff06',
|
||||||
'phabricator-notification-css' => '7a47e387',
|
'phabricator-notification-css' => '6d57aed2',
|
||||||
'phabricator-notification-menu-css' => '7a47e387',
|
'phabricator-notification-menu-css' => '6d57aed2',
|
||||||
'phabricator-object-item-list-view-css' => '7a47e387',
|
'phabricator-object-item-list-view-css' => '6d57aed2',
|
||||||
'phabricator-object-selector-css' => 'ec01d039',
|
'phabricator-object-selector-css' => 'ec01d039',
|
||||||
'phabricator-paste-file-upload' => 'b239ff06',
|
'phabricator-paste-file-upload' => 'b239ff06',
|
||||||
'phabricator-prefab' => 'b239ff06',
|
'phabricator-prefab' => 'b239ff06',
|
||||||
'phabricator-project-tag-css' => 'ac211174',
|
'phabricator-project-tag-css' => 'ac211174',
|
||||||
'phabricator-remarkup-css' => '7a47e387',
|
'phabricator-remarkup-css' => '6d57aed2',
|
||||||
'phabricator-shaped-request' => 'bbd79ca2',
|
'phabricator-shaped-request' => 'bbd79ca2',
|
||||||
'phabricator-side-menu-view-css' => '7a47e387',
|
'phabricator-side-menu-view-css' => '6d57aed2',
|
||||||
'phabricator-standard-page-view' => '7a47e387',
|
'phabricator-standard-page-view' => '6d57aed2',
|
||||||
'phabricator-textareautils' => 'b239ff06',
|
'phabricator-textareautils' => 'b239ff06',
|
||||||
'phabricator-tooltip' => 'b239ff06',
|
'phabricator-tooltip' => 'b239ff06',
|
||||||
'phabricator-transaction-view-css' => '7a47e387',
|
'phabricator-transaction-view-css' => '6d57aed2',
|
||||||
'phabricator-zindex-css' => '7a47e387',
|
'phabricator-zindex-css' => '6d57aed2',
|
||||||
'sprite-apps-large-css' => '7a47e387',
|
'sprite-apps-large-css' => '6d57aed2',
|
||||||
'sprite-gradient-css' => '7a47e387',
|
'sprite-gradient-css' => '6d57aed2',
|
||||||
'sprite-icon-css' => '7a47e387',
|
'sprite-icon-css' => '6d57aed2',
|
||||||
'sprite-menu-css' => '7a47e387',
|
'sprite-menu-css' => '6d57aed2',
|
||||||
'syntax-highlighting-css' => '7a47e387',
|
'syntax-highlighting-css' => '6d57aed2',
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
|
@ -281,15 +281,6 @@ final class ManiphestTaskListController extends ManiphestController {
|
||||||
}
|
}
|
||||||
|
|
||||||
$filter = new AphrontListFilterView();
|
$filter = new AphrontListFilterView();
|
||||||
$filter->addButton(
|
|
||||||
phutil_render_tag(
|
|
||||||
'a',
|
|
||||||
array(
|
|
||||||
'href' => (string)$create_uri,
|
|
||||||
'class' => 'green button',
|
|
||||||
),
|
|
||||||
'Create New Task'));
|
|
||||||
|
|
||||||
if (empty($key)) {
|
if (empty($key)) {
|
||||||
$filter->appendChild($form);
|
$filter->appendChild($form);
|
||||||
}
|
}
|
||||||
|
@ -400,10 +391,24 @@ final class ManiphestTaskListController extends ManiphestController {
|
||||||
$list_container->appendChild('</div>');
|
$list_container->appendChild('</div>');
|
||||||
$nav->appendChild($list_container);
|
$nav->appendChild($list_container);
|
||||||
|
|
||||||
|
$title = pht('Task List');
|
||||||
|
|
||||||
|
$crumbs = $this->buildApplicationCrumbs($nav)
|
||||||
|
->addCrumb(
|
||||||
|
id(new PhabricatorCrumbView())
|
||||||
|
->setName($title))
|
||||||
|
->addAction(
|
||||||
|
id(new PhabricatorMenuItemView())
|
||||||
|
->setHref($this->getApplicationURI('/task/create/'))
|
||||||
|
->setName(pht('Create Task'))
|
||||||
|
->setIcon('create'));
|
||||||
|
|
||||||
|
$nav->setCrumbs($crumbs);
|
||||||
|
|
||||||
return $this->buildStandardPageResponse(
|
return $this->buildStandardPageResponse(
|
||||||
$nav,
|
$nav,
|
||||||
array(
|
array(
|
||||||
'title' => 'Task List',
|
'title' => $title,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,32 @@ abstract class PhabricatorOwnersController extends PhabricatorController {
|
||||||
$nav->appendChild($view);
|
$nav->appendChild($view);
|
||||||
$page->appendChild($nav);
|
$page->appendChild($nav);
|
||||||
|
|
||||||
|
$filter = $nav->getSelectedFilter();
|
||||||
|
switch ($filter) {
|
||||||
|
case 'view/owned':
|
||||||
|
case 'view/all':
|
||||||
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
|
|
||||||
|
if ($filter == 'view/owned') {
|
||||||
|
$title = pht('Owned Packages');
|
||||||
|
} else {
|
||||||
|
$title = pht('All Packages');
|
||||||
|
}
|
||||||
|
|
||||||
|
$crumbs->addCrumb(
|
||||||
|
id(new PhabricatorCrumbView())
|
||||||
|
->setName($title));
|
||||||
|
|
||||||
|
$crumbs->addAction(
|
||||||
|
id(new PhabricatorMenuItemView())
|
||||||
|
->setName(pht('Create Package'))
|
||||||
|
->setHref('/owners/new/')
|
||||||
|
->setIcon('create'));
|
||||||
|
|
||||||
|
$nav->setCrumbs($crumbs);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
$response = new AphrontWebpageResponse();
|
$response = new AphrontWebpageResponse();
|
||||||
return $response->setContent($page->render());
|
return $response->setContent($page->render());
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ final class PhabricatorOwnersDetailController
|
||||||
|
|
||||||
$path_links = array();
|
$path_links = array();
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
$repo = $repositories[$path->getRepositoryPHID()];
|
$repo = idx($repositories, $path->getRepositoryPHID());
|
||||||
if (!$repo) {
|
if (!$repo) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,14 +122,6 @@ final class PhabricatorOwnersListController
|
||||||
$nodata);
|
$nodata);
|
||||||
|
|
||||||
$filter = new AphrontListFilterView();
|
$filter = new AphrontListFilterView();
|
||||||
$filter->addButton(
|
|
||||||
phutil_render_tag(
|
|
||||||
'a',
|
|
||||||
array(
|
|
||||||
'href' => '/owners/new/',
|
|
||||||
'class' => 'green button',
|
|
||||||
),
|
|
||||||
'Create New Package'));
|
|
||||||
|
|
||||||
$owners_search_value = array();
|
$owners_search_value = array();
|
||||||
if ($request->getArr('owner')) {
|
if ($request->getArr('owner')) {
|
||||||
|
@ -250,7 +242,7 @@ final class PhabricatorOwnersListController
|
||||||
|
|
||||||
$pkg_paths = idx($paths, $package->getID(), array());
|
$pkg_paths = idx($paths, $package->getID(), array());
|
||||||
foreach ($pkg_paths as $key => $path) {
|
foreach ($pkg_paths as $key => $path) {
|
||||||
$repo = $repositories[$path->getRepositoryPHID()];
|
$repo = idx($repositories, $path->getRepositoryPHID());
|
||||||
if ($repo) {
|
if ($repo) {
|
||||||
$href = DiffusionRequest::generateDiffusionURI(
|
$href = DiffusionRequest::generateDiffusionURI(
|
||||||
array(
|
array(
|
||||||
|
|
|
@ -14,14 +14,6 @@ final class PhabricatorUIListFilterExample extends PhabricatorUIExample {
|
||||||
public function renderExample() {
|
public function renderExample() {
|
||||||
|
|
||||||
$filter = new AphrontListFilterView();
|
$filter = new AphrontListFilterView();
|
||||||
$filter->addButton(
|
|
||||||
phutil_render_tag(
|
|
||||||
'a',
|
|
||||||
array(
|
|
||||||
'href' => '#',
|
|
||||||
'class' => 'button green',
|
|
||||||
),
|
|
||||||
'Create New Thing'));
|
|
||||||
|
|
||||||
$form = new AphrontFormView();
|
$form = new AphrontFormView();
|
||||||
$form->setUser($this->getRequest()->getUser());
|
$form->setUser($this->getRequest()->getUser());
|
||||||
|
|
|
@ -2,31 +2,14 @@
|
||||||
|
|
||||||
final class AphrontListFilterView extends AphrontView {
|
final class AphrontListFilterView extends AphrontView {
|
||||||
|
|
||||||
private $buttons = array();
|
|
||||||
|
|
||||||
public function addButton($button) {
|
|
||||||
$this->buttons[] = $button;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
require_celerity_resource('aphront-list-filter-view-css');
|
require_celerity_resource('aphront-list-filter-view-css');
|
||||||
|
|
||||||
$buttons = null;
|
|
||||||
if ($this->buttons) {
|
|
||||||
$buttons =
|
|
||||||
'<td class="aphront-list-filter-view-buttons">'.
|
|
||||||
implode("\n", $this->buttons).
|
|
||||||
'</td>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
return
|
||||||
'<table class="aphront-list-filter-view">'.
|
'<table class="aphront-list-filter-view">'.
|
||||||
'<tr>'.
|
'<tr>'.
|
||||||
'<td class="aphront-list-filter-view-controls">'.
|
'<td class="aphront-list-filter-view-controls">'.
|
||||||
$this->renderChildren().
|
$this->renderChildren().
|
||||||
'</td>'.
|
'</td>'.
|
||||||
$buttons.
|
|
||||||
'</tr>'.
|
'</tr>'.
|
||||||
'</table>';
|
'</table>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,6 +209,8 @@ final class AphrontSideNavFilterView extends AphrontView {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->flexible) {
|
if ($this->flexible) {
|
||||||
|
$nav_classes[] = 'has-drag-nav';
|
||||||
|
|
||||||
Javelin::initBehavior(
|
Javelin::initBehavior(
|
||||||
'phabricator-nav',
|
'phabricator-nav',
|
||||||
array(
|
array(
|
||||||
|
|
|
@ -9,15 +9,6 @@
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.aphront-list-filter-view-buttons {
|
|
||||||
padding: 15px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aphront-list-filter-view-buttons a.button {
|
|
||||||
width: 200px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.aphront-list-filter-view-controls {
|
.aphront-list-filter-view-controls {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue