Page MenuHomePhabricator

D17209.id41378.diff
No OneTemporary

D17209.id41378.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -9,8 +9,8 @@
'names' => array(
'conpherence.pkg.css' => '0b64e988',
'conpherence.pkg.js' => '6249a1cf',
- 'core.pkg.css' => '1afa1d13',
- 'core.pkg.js' => 'a2ead3fe',
+ 'core.pkg.css' => 'b4ddd279',
+ 'core.pkg.js' => '5bce5b2e',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => '9535a7e6',
'differential.pkg.js' => 'ddfeb49b',
@@ -21,7 +21,7 @@
'maniphest.pkg.js' => '5ab2753f',
'rsrc/css/aphront/aphront-bars.css' => '231ac33c',
'rsrc/css/aphront/dark-console.css' => 'f54bf286',
- 'rsrc/css/aphront/dialog-view.css' => '938f52c5',
+ 'rsrc/css/aphront/dialog-view.css' => '5e5aa60b',
'rsrc/css/aphront/list-filter-view.css' => '5d6f0526',
'rsrc/css/aphront/multi-column.css' => '84cc6640',
'rsrc/css/aphront/notification.css' => '3f6c89c9',
@@ -34,8 +34,8 @@
'rsrc/css/aphront/typeahead.css' => 'd4f16145',
'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af',
'rsrc/css/application/auth/auth.css' => '0877ed6e',
- 'rsrc/css/application/base/main-menu-view.css' => 'f03e17be',
- 'rsrc/css/application/base/notification-menu.css' => '1e055865',
+ 'rsrc/css/application/base/main-menu-view.css' => 'b2ed42ba',
+ 'rsrc/css/application/base/notification-menu.css' => '19f2d56f',
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
'rsrc/css/application/base/phui-theme.css' => '798c69b8',
'rsrc/css/application/base/standard-page-view.css' => '894d8a25',
@@ -96,7 +96,7 @@
'rsrc/css/application/policy/policy-transaction-detail.css' => '82100a43',
'rsrc/css/application/policy/policy.css' => '957ea14c',
'rsrc/css/application/ponder/ponder-view.css' => 'fbd45f96',
- 'rsrc/css/application/project/project-card-view.css' => '9418c97d',
+ 'rsrc/css/application/project/project-card-view.css' => 'd27c67ae',
'rsrc/css/application/project/project-view.css' => '1e6f7072',
'rsrc/css/application/releeph/releeph-core.css' => '9b3c5733',
'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5',
@@ -108,7 +108,7 @@
'rsrc/css/application/tokens/tokens.css' => '3d0f239e',
'rsrc/css/application/uiexample/example.css' => '528b19de',
'rsrc/css/core/core.css' => 'd0801452',
- 'rsrc/css/core/remarkup.css' => 'aebc1180',
+ 'rsrc/css/core/remarkup.css' => '4a2de2bb',
'rsrc/css/core/syntax.css' => '769d3498',
'rsrc/css/core/z-index.css' => '5e72c4e0',
'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa',
@@ -128,29 +128,29 @@
'rsrc/css/phui/object-item/phui-oi-flush-ui.css' => '9d9685d6',
'rsrc/css/phui/object-item/phui-oi-list-view.css' => 'bff632a4',
'rsrc/css/phui/object-item/phui-oi-simple-ui.css' => 'a8beebea',
- 'rsrc/css/phui/phui-action-list.css' => 'e1d48300',
+ 'rsrc/css/phui/phui-action-list.css' => 'b780f633',
'rsrc/css/phui/phui-action-panel.css' => '91c7b835',
'rsrc/css/phui/phui-badge.css' => '3baef8db',
'rsrc/css/phui/phui-basic-nav-view.css' => '7093573b',
'rsrc/css/phui/phui-big-info-view.css' => 'bd903741',
'rsrc/css/phui/phui-box.css' => '33b629f8',
- 'rsrc/css/phui/phui-button.css' => '43f4912e',
+ 'rsrc/css/phui/phui-button.css' => 'd6753f69',
'rsrc/css/phui/phui-chart.css' => '6bf6f78e',
'rsrc/css/phui/phui-cms.css' => 'be43c8a8',
'rsrc/css/phui/phui-comment-form.css' => '48fbd65d',
'rsrc/css/phui/phui-comment-panel.css' => 'f50152ad',
'rsrc/css/phui/phui-crumbs-view.css' => 'f82868f2',
'rsrc/css/phui/phui-curtain-view.css' => '947bf1a4',
- 'rsrc/css/phui/phui-document-pro.css' => 'c354e312',
+ 'rsrc/css/phui/phui-document-pro.css' => '5cf6a78a',
'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf',
'rsrc/css/phui/phui-document.css' => 'c32e8dec',
'rsrc/css/phui/phui-feed-story.css' => '44a9c8e9',
'rsrc/css/phui/phui-fontkit.css' => '9cda225e',
- 'rsrc/css/phui/phui-form-view.css' => '04cc4771',
+ 'rsrc/css/phui/phui-form-view.css' => 'e2359388',
'rsrc/css/phui/phui-form.css' => '2342b0e5',
'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f',
'rsrc/css/phui/phui-header-view.css' => '6ec8f155',
- 'rsrc/css/phui/phui-hovercard.css' => 'de1a2119',
+ 'rsrc/css/phui/phui-hovercard.css' => 'e904f5dc',
'rsrc/css/phui/phui-icon-set-selector.css' => '1ab67aad',
'rsrc/css/phui/phui-icon.css' => '09f46dd9',
'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c',
@@ -170,10 +170,10 @@
'rsrc/css/phui/phui-status.css' => 'd5263e49',
'rsrc/css/phui/phui-tag-view.css' => '84d65f26',
'rsrc/css/phui/phui-timeline-view.css' => 'bc523970',
- 'rsrc/css/phui/phui-two-column-view.css' => '7babf5b9',
+ 'rsrc/css/phui/phui-two-column-view.css' => '4497a51f',
'rsrc/css/phui/workboards/phui-workboard-color.css' => 'b60ef38a',
'rsrc/css/phui/workboards/phui-workboard.css' => 'c88912ee',
- 'rsrc/css/phui/workboards/phui-workcard.css' => '00979e40',
+ 'rsrc/css/phui/workboards/phui-workcard.css' => 'cca5fa92',
'rsrc/css/phui/workboards/phui-workpanel.css' => 'a3a63478',
'rsrc/css/sprite-login.css' => '587d92d7',
'rsrc/css/sprite-tokens.css' => '9cdfd599',
@@ -538,7 +538,7 @@
'rsrc/js/phui/behavior-phui-submenu.js' => 'a6f7a73b',
'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9',
'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8',
- 'rsrc/js/phuix/PHUIXActionView.js' => '8cf6d262',
+ 'rsrc/js/phuix/PHUIXActionView.js' => '9cc178ed',
'rsrc/js/phuix/PHUIXAutocomplete.js' => '6d86ce8b',
'rsrc/js/phuix/PHUIXDropdownMenu.js' => '82e270da',
'rsrc/js/phuix/PHUIXFormControl.js' => 'bbece68d',
@@ -548,7 +548,7 @@
'almanac-css' => 'dbb9b3af',
'aphront-bars' => '231ac33c',
'aphront-dark-console-css' => 'f54bf286',
- 'aphront-dialog-view-css' => '938f52c5',
+ 'aphront-dialog-view-css' => '5e5aa60b',
'aphront-list-filter-view-css' => '5d6f0526',
'aphront-multi-column-view-css' => '84cc6640',
'aphront-panel-view-css' => '8427b78d',
@@ -778,7 +778,7 @@
'paste-css' => '1898e534',
'path-typeahead' => 'f7fc67ec',
'people-profile-css' => '2473d929',
- 'phabricator-action-list-view-css' => 'e1d48300',
+ 'phabricator-action-list-view-css' => 'b780f633',
'phabricator-application-launch-view-css' => '95351601',
'phabricator-busy' => '59a7976a',
'phabricator-chatlog-css' => 'd295b020',
@@ -796,15 +796,15 @@
'phabricator-flag-css' => 'bba8f811',
'phabricator-keyboard-shortcut' => '1ae869f2',
'phabricator-keyboard-shortcut-manager' => '4a021c10',
- 'phabricator-main-menu-view' => 'f03e17be',
+ 'phabricator-main-menu-view' => 'b2ed42ba',
'phabricator-nav-view-css' => 'b29426e9',
'phabricator-notification' => 'ccf1cbf8',
'phabricator-notification-css' => '3f6c89c9',
- 'phabricator-notification-menu-css' => '1e055865',
+ 'phabricator-notification-menu-css' => '19f2d56f',
'phabricator-object-selector-css' => '85ee8ce6',
'phabricator-phtize' => 'd254d646',
'phabricator-prefab' => '8d40ae75',
- 'phabricator-remarkup-css' => 'aebc1180',
+ 'phabricator-remarkup-css' => '4a2de2bb',
'phabricator-search-results-css' => '64ad079a',
'phabricator-shaped-request' => '7cbe244b',
'phabricator-slowvote-css' => 'a94b7230',
@@ -840,7 +840,7 @@
'phui-basic-nav-view-css' => '7093573b',
'phui-big-info-view-css' => 'bd903741',
'phui-box-css' => '33b629f8',
- 'phui-button-css' => '43f4912e',
+ 'phui-button-css' => 'd6753f69',
'phui-calendar-css' => '477acfaa',
'phui-calendar-day-css' => '572b1893',
'phui-calendar-list-css' => 'fcc9fb41',
@@ -853,16 +853,16 @@
'phui-curtain-view-css' => '947bf1a4',
'phui-document-summary-view-css' => '9ca48bdf',
'phui-document-view-css' => 'c32e8dec',
- 'phui-document-view-pro-css' => 'c354e312',
+ 'phui-document-view-pro-css' => '5cf6a78a',
'phui-feed-story-css' => '44a9c8e9',
'phui-font-icon-base-css' => '870a7360',
'phui-fontkit-css' => '9cda225e',
'phui-form-css' => '2342b0e5',
- 'phui-form-view-css' => '04cc4771',
+ 'phui-form-view-css' => 'e2359388',
'phui-head-thing-view-css' => 'fd311e5f',
'phui-header-view-css' => '6ec8f155',
'phui-hovercard' => '1bd28176',
- 'phui-hovercard-view-css' => 'de1a2119',
+ 'phui-hovercard-view-css' => 'e904f5dc',
'phui-icon-set-selector-css' => '1ab67aad',
'phui-icon-view-css' => '09f46dd9',
'phui-image-mask-css' => 'a8498f9c',
@@ -890,13 +890,13 @@
'phui-tag-view-css' => '84d65f26',
'phui-theme-css' => '798c69b8',
'phui-timeline-view-css' => 'bc523970',
- 'phui-two-column-view-css' => '7babf5b9',
+ 'phui-two-column-view-css' => '4497a51f',
'phui-workboard-color-css' => 'b60ef38a',
'phui-workboard-view-css' => 'c88912ee',
- 'phui-workcard-view-css' => '00979e40',
+ 'phui-workcard-view-css' => 'cca5fa92',
'phui-workpanel-view-css' => 'a3a63478',
'phuix-action-list-view' => 'b5c256b8',
- 'phuix-action-view' => '8cf6d262',
+ 'phuix-action-view' => '9cc178ed',
'phuix-autocomplete' => '6d86ce8b',
'phuix-dropdown-menu' => '82e270da',
'phuix-form-control-view' => 'bbece68d',
@@ -905,7 +905,7 @@
'policy-edit-css' => '815c66f7',
'policy-transaction-detail-css' => '82100a43',
'ponder-view-css' => 'fbd45f96',
- 'project-card-view-css' => '9418c97d',
+ 'project-card-view-css' => 'd27c67ae',
'project-view-css' => '1e6f7072',
'releeph-core' => '9b3c5733',
'releeph-preview-branch' => 'b7a6f4a5',
@@ -1603,11 +1603,6 @@
'javelin-stratcom',
'javelin-behavior',
),
- '8cf6d262' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-util',
- ),
'8d3bc1b2' => array(
'javelin-dom',
'javelin-util',
@@ -1707,6 +1702,11 @@
'javelin-workflow',
'javelin-stratcom',
),
+ '9cc178ed' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
+ ),
'9d9685d6' => array(
'phui-oi-list-view-css',
),
@@ -1852,6 +1852,9 @@
'javelin-uri',
'javelin-request',
),
+ 'b2ed42ba' => array(
+ 'phui-theme-css',
+ ),
'b3a4b884' => array(
'javelin-behavior',
'phabricator-prefab',
@@ -2161,9 +2164,6 @@
'javelin-workflow',
'javelin-json',
),
- 'f03e17be' => array(
- 'phui-theme-css',
- ),
'f12cbc9f' => array(
'phui-oi-list-view-css',
),
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1697,7 +1697,6 @@
'PHUIListItemView' => 'view/phui/PHUIListItemView.php',
'PHUIListView' => 'view/phui/PHUIListView.php',
'PHUIListViewTestCase' => 'view/layout/__tests__/PHUIListViewTestCase.php',
- 'PHUIMainMenuView' => 'view/phui/PHUIMainMenuView.php',
'PHUIObjectBoxView' => 'view/phui/PHUIObjectBoxView.php',
'PHUIObjectItemListExample' => 'applications/uiexample/examples/PHUIObjectItemListExample.php',
'PHUIObjectItemListView' => 'view/phui/PHUIObjectItemListView.php',
@@ -3316,7 +3315,6 @@
'PhabricatorPeopleLogQuery' => 'applications/people/query/PhabricatorPeopleLogQuery.php',
'PhabricatorPeopleLogSearchEngine' => 'applications/people/query/PhabricatorPeopleLogSearchEngine.php',
'PhabricatorPeopleLogsController' => 'applications/people/controller/PhabricatorPeopleLogsController.php',
- 'PhabricatorPeopleMainMenuBarExtension' => 'applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php',
'PhabricatorPeopleManageProfileMenuItem' => 'applications/people/menuitem/PhabricatorPeopleManageProfileMenuItem.php',
'PhabricatorPeopleNewController' => 'applications/people/controller/PhabricatorPeopleNewController.php',
'PhabricatorPeopleNoOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleNoOwnerDatasource.php',
@@ -3770,7 +3768,6 @@
'PhabricatorSettingsListController' => 'applications/settings/controller/PhabricatorSettingsListController.php',
'PhabricatorSettingsLogsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsLogsPanelGroup.php',
'PhabricatorSettingsMainController' => 'applications/settings/controller/PhabricatorSettingsMainController.php',
- 'PhabricatorSettingsMainMenuBarExtension' => 'applications/settings/extension/PhabricatorSettingsMainMenuBarExtension.php',
'PhabricatorSettingsPanel' => 'applications/settings/panel/PhabricatorSettingsPanel.php',
'PhabricatorSettingsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsPanelGroup.php',
'PhabricatorSettingsTimezoneController' => 'applications/settings/controller/PhabricatorSettingsTimezoneController.php',
@@ -6573,7 +6570,6 @@
'PHUIListItemView' => 'AphrontTagView',
'PHUIListView' => 'AphrontTagView',
'PHUIListViewTestCase' => 'PhabricatorTestCase',
- 'PHUIMainMenuView' => 'AphrontView',
'PHUIObjectBoxView' => 'AphrontTagView',
'PHUIObjectItemListExample' => 'PhabricatorUIExample',
'PHUIObjectItemListView' => 'AphrontTagView',
@@ -6677,7 +6673,7 @@
'PhabricatorAccessLogConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorAccessibilitySetting' => 'PhabricatorSelectSetting',
'PhabricatorAccountSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
- 'PhabricatorActionListView' => 'AphrontView',
+ 'PhabricatorActionListView' => 'AphrontTagView',
'PhabricatorActionView' => 'AphrontView',
'PhabricatorActivitySettingsPanel' => 'PhabricatorSettingsPanel',
'PhabricatorAdministratorsPolicyRule' => 'PhabricatorPolicyRule',
@@ -8448,7 +8444,6 @@
'PhabricatorPeopleLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorPeopleLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
- 'PhabricatorPeopleMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
'PhabricatorPeopleManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
'PhabricatorPeopleNewController' => 'PhabricatorPeopleController',
'PhabricatorPeopleNoOwnerDatasource' => 'PhabricatorTypeaheadDatasource',
@@ -9013,7 +9008,6 @@
'PhabricatorSettingsListController' => 'PhabricatorController',
'PhabricatorSettingsLogsPanelGroup' => 'PhabricatorSettingsPanelGroup',
'PhabricatorSettingsMainController' => 'PhabricatorController',
- 'PhabricatorSettingsMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
'PhabricatorSettingsPanel' => 'Phobject',
'PhabricatorSettingsPanelGroup' => 'Phobject',
'PhabricatorSettingsTimezoneController' => 'PhabricatorController',
diff --git a/src/applications/auth/extension/PhabricatorAuthMainMenuBarExtension.php b/src/applications/auth/extension/PhabricatorAuthMainMenuBarExtension.php
--- a/src/applications/auth/extension/PhabricatorAuthMainMenuBarExtension.php
+++ b/src/applications/auth/extension/PhabricatorAuthMainMenuBarExtension.php
@@ -12,12 +12,6 @@
public function buildMainMenus() {
$viewer = $this->getViewer();
- if ($viewer->isLoggedIn()) {
- return array(
- $this->buildLogoutMenu(),
- );
- }
-
$controller = $this->getController();
if ($controller instanceof PhabricatorAuthController) {
// Don't show the "Login" item on auth controllers, since they're
@@ -30,25 +24,6 @@
);
}
- private function buildLogoutMenu() {
- $controller = $this->getController();
-
- $is_selected = ($controller instanceof PhabricatorLogoutController);
-
- $bar_item = id(new PHUIListItemView())
- ->addClass('core-menu-item')
- ->setName(pht('Log Out'))
- ->setIcon('fa-sign-out')
- ->setWorkflow(true)
- ->setHref('/logout/')
- ->setSelected($is_selected)
- ->setAural(pht('Log Out'));
-
- return id(new PHUIMainMenuView())
- ->setOrder(900)
- ->setMenuBarItem($bar_item);
- }
-
private function buildLoginMenu() {
$controller = $this->getController();
@@ -58,16 +33,12 @@
$uri->setQueryParam('next', $path);
}
- $bar_item = id(new PHUIListItemView())
- ->addClass('core-menu-item')
+ return id(new PHUIButtonView())
+ ->setTag('a')
->setName(pht('Log In'))
- ->setIcon('fa-sign-in')
->setHref($uri)
- ->setAural(pht('Log In'));
-
- return id(new PHUIMainMenuView())
- ->setOrder(900)
- ->setMenuBarItem($bar_item);
+ ->addClass('phabricator-core-login-button')
+ ->setNoCSS(true);
}
}
diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php
--- a/src/applications/base/PhabricatorApplication.php
+++ b/src/applications/base/PhabricatorApplication.php
@@ -172,15 +172,13 @@
$articles = $this->getHelpDocumentationArticles($viewer);
if ($articles) {
- $items[] = id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LABEL)
+ $items[] = id(new PhabricatorActionView())
->setName(pht('%s Documentation', $this->getName()));
foreach ($articles as $article) {
- $item = id(new PHUIListItemView())
+ $item = id(new PhabricatorActionView())
->setName($article['name'])
->setIcon('fa-book')
- ->setHref($article['href'])
- ->setOpenInNewWindow(true);
+ ->setHref($article['href']);
$items[] = $item;
}
@@ -188,8 +186,7 @@
$command_specs = $this->getMailCommandObjects();
if ($command_specs) {
- $items[] = id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LABEL)
+ $items[] = id(new PhabricatorActionView())
->setName(pht('Email Help'));
foreach ($command_specs as $key => $spec) {
$object = $spec['object'];
@@ -197,11 +194,10 @@
$class = get_class($this);
$href = '/applications/mailcommands/'.$class.'/'.$key.'/';
- $item = id(new PHUIListItemView())
+ $item = id(new PhabricatorActionView())
->setName($spec['name'])
->setIcon('fa-envelope-o')
- ->setHref($href)
- ->setOpenInNewWindow(true);
+ ->setHref($href);
$items[] = $item;
}
}
diff --git a/src/applications/celerity/postprocessor/CelerityDefaultPostprocessor.php b/src/applications/celerity/postprocessor/CelerityDefaultPostprocessor.php
--- a/src/applications/celerity/postprocessor/CelerityDefaultPostprocessor.php
+++ b/src/applications/celerity/postprocessor/CelerityDefaultPostprocessor.php
@@ -29,7 +29,7 @@
"Arial, sans-serif",
// Drop Shadow
- 'dropshadow' => '0 1px 6px rgba(0, 0, 0, .25)',
+ 'dropshadow' => '0 2px 12px rgba(0, 0, 0, .20)',
'whitetextshadow' => '0 1px 0 rgba(255, 255, 255, 1)',
// Anchors
diff --git a/src/applications/favorites/application/PhabricatorFavoritesApplication.php b/src/applications/favorites/application/PhabricatorFavoritesApplication.php
--- a/src/applications/favorites/application/PhabricatorFavoritesApplication.php
+++ b/src/applications/favorites/application/PhabricatorFavoritesApplication.php
@@ -2,6 +2,8 @@
final class PhabricatorFavoritesApplication extends PhabricatorApplication {
+ private $quickItems;
+
public function getBaseURI() {
return '/favorites/';
}
@@ -32,8 +34,52 @@
return false;
}
- public function getApplicationOrder() {
- return 9;
+ public function buildMainMenuExtraNodes(
+ PhabricatorUser $viewer,
+ PhabricatorController $controller = null) {
+
+ return id(new PHUIButtonView())
+ ->setTag('a')
+ ->setHref('/home/create/')
+ ->setIcon('fa-star-o')
+ ->addClass('phabricator-core-user-menu')
+ ->setNoCSS(true)
+ ->setDropdown(true)
+ ->setDropdownMenu($this->renderFavoritesDropdown($viewer));
+ }
+
+ private function renderFavoritesDropdown(PhabricatorUser $viewer) {
+
+ $application = __CLASS__;
+ $favorites = id(new PhabricatorApplicationQuery())
+ ->setViewer($viewer)
+ ->withClasses(array($application))
+ ->withInstalled(true)
+ ->executeOne();
+
+ $filter_view = id(new PhabricatorFavoritesProfileMenuEngine())
+ ->setViewer($viewer)
+ ->setProfileObject($favorites)
+ ->buildNavigation();
+
+ $menu_view = $filter_view->getMenu();
+ $item_views = $menu_view->getItems();
+
+ $view = id(new PhabricatorActionListView())
+ ->setViewer($viewer);
+ foreach ($item_views as $item) {
+ $type = null;
+ if (!$item->getName()) {
+ $type = PhabricatorActionView::TYPE_DIVIDER;
+ }
+ $action = id(new PhabricatorActionView())
+ ->setName($item->getName())
+ ->setHref($item->getHref())
+ ->setType($type);
+ $view->addAction($action);
+ }
+
+ return $view;
}
}
diff --git a/src/applications/favorites/menuitem/PhabricatorFavoritesManageProfileMenuItem.php b/src/applications/favorites/menuitem/PhabricatorFavoritesManageProfileMenuItem.php
--- a/src/applications/favorites/menuitem/PhabricatorFavoritesManageProfileMenuItem.php
+++ b/src/applications/favorites/menuitem/PhabricatorFavoritesManageProfileMenuItem.php
@@ -10,7 +10,7 @@
}
private function getDefaultName() {
- return pht('Manage');
+ return pht('Edit Favorites');
}
public function canHideMenuItem(
diff --git a/src/applications/help/extension/PhabricatorHelpMainMenuBarExtension.php b/src/applications/help/extension/PhabricatorHelpMainMenuBarExtension.php
--- a/src/applications/help/extension/PhabricatorHelpMainMenuBarExtension.php
+++ b/src/applications/help/extension/PhabricatorHelpMainMenuBarExtension.php
@@ -21,6 +21,7 @@
return array();
}
+ $help_menus = array();
$help_id = celerity_generate_unique_node_id();
Javelin::initBehavior(
@@ -35,36 +36,22 @@
$help_name = pht('%s Help', $application->getName());
- $help_item = id(new PHUIListItemView())
+ $order = 600;
+ $help_menus[] = id(new PhabricatorActionView())
->setIcon('fa-book')
->addClass('core-menu-item')
->setID($help_id)
->setName($help_name)
->setHref('/help/documentation/'.get_class($application).'/')
- ->setAural($help_name);
+ ->setAural($help_name)
+ ->setOrder($order);
- $view = new PHUIListView();
foreach ($help_links as $help_link) {
- $view->addMenuItem($help_link);
+ $help_link->setOrder($order++);
+ $help_menus[] = $help_link;
}
- $dropdown_menu = phutil_tag(
- 'div',
- array(
- 'id' => 'phabricator-help-menu',
- 'class' => 'phabricator-main-menu-dropdown phui-list-sidenav',
- 'style' => 'display: none',
- ),
- $view);
-
- $help_menu = id(new PHUIMainMenuView())
- ->setOrder(200)
- ->setMenuBarItem($help_item)
- ->appendChild($dropdown_menu);
-
- return array(
- $help_menu,
- );
+ return $help_menus;
}
}
diff --git a/src/applications/home/application/PhabricatorHomeApplication.php b/src/applications/home/application/PhabricatorHomeApplication.php
--- a/src/applications/home/application/PhabricatorHomeApplication.php
+++ b/src/applications/home/application/PhabricatorHomeApplication.php
@@ -2,7 +2,6 @@
final class PhabricatorHomeApplication extends PhabricatorApplication {
- private $quickItems;
const DASHBOARD_DEFAULT = 'dashboard:default';
public function getBaseURI() {
@@ -44,73 +43,62 @@
return 9;
}
- public function buildMainMenuItems(
- PhabricatorUser $user,
- PhabricatorController $controller = null) {
-
- $quick_items = $this->getQuickActionItems($user);
- if (!$quick_items) {
- return array();
- }
-
- $items = array();
- $create_id = celerity_generate_unique_node_id();
-
- Javelin::initBehavior(
- 'aphlict-dropdown',
- array(
- 'bubbleID' => $create_id,
- 'dropdownID' => 'phabricator-quick-create-menu',
- 'local' => true,
- 'desktop' => true,
- 'right' => true,
- ));
-
- $item = id(new PHUIListItemView())
- ->setName(pht('Quick Actions'))
- ->setIcon('fa-plus')
- ->addClass('core-menu-item')
- ->setHref('/home/create/')
- ->addSigil('quick-create-menu')
- ->setID($create_id)
- ->setAural(pht('Quick Actions'))
- ->setOrder(300);
- $items[] = $item;
-
- return $items;
- }
-
public function buildMainMenuExtraNodes(
PhabricatorUser $viewer,
PhabricatorController $controller = null) {
- $items = $this->getQuickActionItems($viewer);
-
- $view = null;
- if ($items) {
- $view = new PHUIListView();
- foreach ($items as $item) {
- $view->addMenuItem($item);
- }
-
- return phutil_tag(
- 'div',
- array(
- 'id' => 'phabricator-quick-create-menu',
- 'class' => 'phabricator-main-menu-dropdown phui-list-sidenav',
- 'style' => 'display: none',
- ),
- $view);
- }
- return $view;
+ $image = $viewer->getProfileImageURI();
+
+ $profile_image = id(new PHUIIconView())
+ ->setImage($image)
+ ->setHeadSize(PHUIIconView::HEAD_SMALL);
+
+ return id(new PHUIButtonView())
+ ->setTag('a')
+ ->setHref('/p/'.$viewer->getUsername().'/')
+ ->setIcon($profile_image)
+ ->addClass('phabricator-core-user-menu')
+ ->setNoCSS(true)
+ ->setDropdown(true)
+ ->setDropdownMenu($this->renderUserDropdown($viewer))
+ ->appendChild($profile_image);
}
- private function getQuickActionItems(PhabricatorUser $viewer) {
- if ($this->quickItems === null) {
- $items = PhabricatorQuickActions::loadMenuItemsForUser($viewer);
- $this->quickItems = $items;
+ private function renderUserDropdown(PhabricatorUser $viewer) {
+
+ $view = id(new PhabricatorActionListView())
+ ->setViewer($viewer);
+
+ // User Menu
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Profile'))
+ ->setHref('/p/'.$viewer->getUsername().'/'));
+
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Settings'))
+ ->setHref('/settings/user/'.$viewer->getUsername().'/'));
+
+ $item_views = array();
+ foreach ($item_views as $item) {
+ $action = id(new PhabricatorActionView())
+ ->setName($item->getName())
+ ->setHref($item->getHref());
}
- return $this->quickItems;
+
+ // Logout Menu
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setType(PhabricatorActionView::TYPE_DIVIDER));
+
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Log Out %s', $viewer->getUsername()))
+ ->setHref('/logout/')
+ ->setWorkflow(true));
+
+ return $view;
}
}
diff --git a/src/applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php b/src/applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php
deleted file mode 100644
--- a/src/applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-final class PhabricatorPeopleMainMenuBarExtension
- extends PhabricatorMainMenuBarExtension {
-
- const MAINMENUBARKEY = 'people';
-
- public function buildMainMenus() {
- $viewer = $this->getViewer();
- $image = $viewer->getProfileImageURI();
-
- $bar_item = id(new PHUIListItemView())
- ->setName($viewer->getUsername())
- ->setHref('/p/'.$viewer->getUsername().'/')
- ->addClass('core-menu-item')
- ->setAural(pht('Profile'));
-
- $classes = array(
- 'phabricator-core-menu-icon',
- 'phabricator-core-menu-profile-image',
- );
-
- $bar_item->appendChild(
- phutil_tag(
- 'span',
- array(
- 'class' => implode(' ', $classes),
- 'style' => 'background-image: url('.$image.')',
- ),
- ''));
-
- $profile_menu = id(new PHUIMainMenuView())
- ->setOrder(100)
- ->setMenuBarItem($bar_item);
-
- return array(
- $profile_menu,
- );
- }
-
-}
diff --git a/src/applications/settings/extension/PhabricatorSettingsMainMenuBarExtension.php b/src/applications/settings/extension/PhabricatorSettingsMainMenuBarExtension.php
deleted file mode 100644
--- a/src/applications/settings/extension/PhabricatorSettingsMainMenuBarExtension.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-final class PhabricatorSettingsMainMenuBarExtension
- extends PhabricatorMainMenuBarExtension {
-
- const MAINMENUBARKEY = 'settings';
-
- public function buildMainMenus() {
- $controller = $this->getController();
- $is_selected = ($controller instanceof PhabricatorSettingsMainController);
-
- $bar_item = id(new PHUIListItemView())
- ->setName(pht('Settings'))
- ->setIcon('fa-wrench')
- ->addClass('core-menu-item')
- ->setSelected($is_selected)
- ->setHref('/settings/')
- ->setAural(pht('Settings'));
-
- $settings_menu = id(new PHUIMainMenuView())
- ->setMenuBarItem($bar_item)
- ->setOrder(400);
-
- return array(
- $settings_menu,
- );
- }
-
-}
diff --git a/src/view/layout/PhabricatorActionListView.php b/src/view/layout/PhabricatorActionListView.php
--- a/src/view/layout/PhabricatorActionListView.php
+++ b/src/view/layout/PhabricatorActionListView.php
@@ -1,6 +1,6 @@
<?php
-final class PhabricatorActionListView extends AphrontView {
+final class PhabricatorActionListView extends AphrontTagView {
private $actions = array();
private $object;
@@ -25,7 +25,19 @@
return $this->id;
}
- public function render() {
+ protected function getTagName() {
+ return 'ul';
+ }
+
+ protected function getTagAttributes() {
+ $classes = array();
+ $classes[] = 'phabricator-action-list-view';
+ return array(
+ 'class' => implode(' ', $classes),
+ );
+ }
+
+ protected function getTagContent() {
$viewer = $this->getViewer();
$event = new PhabricatorEvent(
@@ -55,13 +67,7 @@
}
}
- return phutil_tag(
- 'ul',
- array(
- 'class' => 'phabricator-action-list-view',
- 'id' => $this->id,
- ),
- $items);
+ return $items;
}
public function getDropdownMenuMetadata() {
diff --git a/src/view/layout/PhabricatorActionView.php b/src/view/layout/PhabricatorActionView.php
--- a/src/view/layout/PhabricatorActionView.php
+++ b/src/view/layout/PhabricatorActionView.php
@@ -18,6 +18,12 @@
private $hidden;
private $depth;
private $id;
+ private $order;
+ private $color;
+ private $type;
+
+ const TYPE_DIVIDER = 'type-divider';
+ const RED = 'action-item-red';
public function setSelected($selected) {
$this->selected = $selected;
@@ -51,6 +57,11 @@
return $this;
}
+ public function setColor($color) {
+ $this->color = $color;
+ return $this;
+ }
+
public function addSigil($sigil) {
$this->sigils[] = $sigil;
return $this;
@@ -114,6 +125,24 @@
return $this->id;
}
+ public function setOrder($order) {
+ $this->order = $order;
+ return $this;
+ }
+
+ public function getOrder() {
+ return $this->order;
+ }
+
+ public function setType($type) {
+ $this->type = $type;
+ return $this;
+ }
+
+ public function getType() {
+ return $this->type;
+ }
+
public function setSubmenu(array $submenu) {
$this->submenu = $submenu;
@@ -275,6 +304,18 @@
$classes[] = 'phabricator-action-view-href';
}
+ if ($this->icon) {
+ $classes[] = 'action-has-icon';
+ }
+
+ if ($this->color) {
+ $classes[] = $this->color;
+ }
+
+ if ($this->type) {
+ $classes[] = 'phabricator-action-view-'.$this->type;
+ }
+
$style = array();
if ($this->hidden) {
diff --git a/src/view/page/menu/PhabricatorMainMenuSearchView.php b/src/view/page/menu/PhabricatorMainMenuSearchView.php
--- a/src/view/page/menu/PhabricatorMainMenuSearchView.php
+++ b/src/view/page/menu/PhabricatorMainMenuSearchView.php
@@ -99,8 +99,10 @@
'id' => $button_id,
'class' => 'phui-icon-view phui-font-fa fa-search',
),
- $search_text),
- $selector,
+ array(
+ $selector,
+ $search_text,
+ )),
$primary_input,
$target,
)));
@@ -118,7 +120,7 @@
$items[] = array(
'icon' => 'fa-globe',
- 'name' => pht('Search All Documents'),
+ 'name' => pht('All Documents'),
'value' => 'all',
);
@@ -134,7 +136,7 @@
$items[] = array(
'icon' => $application_icon,
- 'name' => pht('Search Current Application'),
+ 'name' => pht('Current Application'),
'value' => PhabricatorSearchController::SCOPE_CURRENT_APPLICATION,
);
diff --git a/src/view/page/menu/PhabricatorMainMenuView.php b/src/view/page/menu/PhabricatorMainMenuView.php
--- a/src/view/page/menu/PhabricatorMainMenuView.php
+++ b/src/view/page/menu/PhabricatorMainMenuView.php
@@ -4,6 +4,7 @@
private $controller;
private $applicationMenu;
+ private $quickItems;
public function setApplicationMenu(PHUIListView $application_menu) {
$this->applicationMenu = $application_menu;
@@ -82,27 +83,17 @@
phutil_implode_html(' ', $aural));
}
+ // Build out Header Menus
$applications = PhabricatorApplication::getAllInstalledApplications();
$menus = array();
$controller = $this->getController();
foreach ($applications as $application) {
- $app_actions = $application->buildMainMenuItems(
- $viewer,
- $controller);
$app_extra = $application->buildMainMenuExtraNodes(
$viewer,
$controller);
-
- foreach ($app_actions as $action) {
- $menus[] = id(new PHUIMainMenuView())
- ->setMenuBarItem($action)
- ->setOrder($action->getOrder());
- }
-
if ($app_extra !== null) {
- $menus[] = id(new PHUIMainMenuView())
- ->appendChild($app_extra);
+ $menus[] = $app_extra;
}
}
@@ -162,7 +153,6 @@
$this->renderPhabricatorLogo(),
$alerts,
$aural,
- $application_menu,
$search_menu,
$menu_bar,
));
@@ -245,23 +235,19 @@
private function renderApplicationMenu(array $bar_items) {
$viewer = $this->getViewer();
-
$view = $this->getApplicationMenu();
if (!$view) {
- $view = new PHUIListView();
+ $view = id(new PhabricatorActionListView())
+ ->setViewer($viewer);
}
- $view->addClass('phabricator-dark-menu');
- $view->addClass('phabricator-application-menu');
-
if ($bar_items) {
- $view->addMenuItem(
- id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LABEL)
+ $view->addAction(
+ id(new PhabricatorActionView())
->setName(pht('Actions')));
foreach ($bar_items as $bar_item) {
- $view->addMenuItem($bar_item);
+ $view->addAction($bar_item);
}
}
diff --git a/src/view/phui/PHUIButtonView.php b/src/view/phui/PHUIButtonView.php
--- a/src/view/phui/PHUIButtonView.php
+++ b/src/view/phui/PHUIButtonView.php
@@ -27,6 +27,7 @@
private $disabled;
private $name;
private $tooltip;
+ private $noCSS;
public function setName($name) {
$this->name = $name;
@@ -87,6 +88,11 @@
return $this;
}
+ public function setNoCSS($no_puppet) {
+ $this->noCSS = $no_puppet;
+ return $this;
+ }
+
public function setIcon($icon, $first = true) {
if (!($icon instanceof PHUIIconView)) {
$icon = id(new PHUIIconView())
@@ -164,6 +170,10 @@
);
}
+ if ($this->noCSS) {
+ $classes = array();
+ }
+
return array(
'class' => $classes,
'href' => $this->href,
diff --git a/src/view/phui/PHUIListItemView.php b/src/view/phui/PHUIListItemView.php
--- a/src/view/phui/PHUIListItemView.php
+++ b/src/view/phui/PHUIListItemView.php
@@ -202,7 +202,7 @@
}
return array(
- 'class' => $classes,
+ 'class' => implode(' ', $classes),
);
}
diff --git a/src/view/phui/PHUIMainMenuView.php b/src/view/phui/PHUIMainMenuView.php
deleted file mode 100644
--- a/src/view/phui/PHUIMainMenuView.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-final class PHUIMainMenuView extends AphrontView {
-
- private $menuItem;
- private $extraContent = array();
- private $order;
-
- public function setMenuBarItem(PHUIListItemView $menu_item) {
- $this->menuItem = $menu_item;
- return $this;
- }
-
- public function getMenuBarItem() {
- return $this->menuItem;
- }
-
- public function setOrder($order) {
- $this->order = $order;
- return $this;
- }
-
- public function getOrder() {
- return $this->order;
- }
-
- public function render() {
- return $this->renderChildren();
- }
-
-}
diff --git a/src/view/phui/PHUITimelineEventView.php b/src/view/phui/PHUITimelineEventView.php
--- a/src/view/phui/PHUITimelineEventView.php
+++ b/src/view/phui/PHUITimelineEventView.php
@@ -585,7 +585,6 @@
if ($this->getIsEditable()) {
$items[] = id(new PhabricatorActionView())
- ->setIcon('fa-pencil')
->setHref('/transactions/edit/'.$xaction_phid.'/')
->setName(pht('Edit Comment'))
->addSigil('transaction-edit')
@@ -605,9 +604,8 @@
}
$items[] = id(new PhabricatorActionView())
- ->setIcon('fa-quote-left')
+ ->setName(pht('Quote Comment'))
->setHref('#')
- ->setName(pht('Quote'))
->addSigil('transaction-quote')
->setMetadata(
array(
@@ -619,9 +617,8 @@
if ($this->getIsNormalComment()) {
$items[] = id(new PhabricatorActionView())
- ->setIcon('fa-cutlery')
->setHref('/transactions/raw/'.$xaction_phid.'/')
- ->setName(pht('View Raw'))
+ ->setName(pht('View Remarkup'))
->addSigil('transaction-raw')
->setMetadata(
array(
@@ -634,7 +631,6 @@
$source_id = $content_source->getContentSourceParameter('id');
if ($source_id) {
$items[] = id(new PhabricatorActionView())
- ->setIcon('fa-envelope-o')
->setHref('/transactions/raw/'.$xaction_phid.'/?email')
->setName(pht('View Email Body'))
->addSigil('transaction-raw')
@@ -648,9 +644,9 @@
if ($this->getIsRemovable()) {
$items[] = id(new PhabricatorActionView())
- ->setIcon('fa-times')
->setHref('/transactions/remove/'.$xaction_phid.'/')
->setName(pht('Remove Comment'))
+ ->setColor(PhabricatorActionView::RED)
->addSigil('transaction-remove')
->setMetadata(
array(
diff --git a/webroot/rsrc/css/application/base/main-menu-view.css b/webroot/rsrc/css/application/base/main-menu-view.css
--- a/webroot/rsrc/css/application/base/main-menu-view.css
+++ b/webroot/rsrc/css/application/base/main-menu-view.css
@@ -119,7 +119,7 @@
*/
.device-desktop .phabricator-main-menu-search {
- width: 220px;
+ width: 298px;
}
.device .phabricator-main-menu-search {
@@ -130,7 +130,7 @@
padding: 8px 0;
position: relative;
height: 24px;
- margin: 0 8px;
+ margin: 0 8px 0 0;
}
.phabricator-main-menu-search-target {
@@ -169,9 +169,9 @@
border-style: solid;
background-color: #fff;
height: 28px;
- padding: 3px 30px 3px 6px;
+ padding: 3px 28px 3px 52px;
float: left;
- width: 205px;
+ width: 280px;
}
.device .phabricator-main-menu-search input {
@@ -196,7 +196,7 @@
.phabricator-main-menu-search button {
color: {$bluetext};
position: absolute;
- background: {$greybackground};
+ background: transparent;
border: none;
outline: none;
box-shadow: none;
@@ -204,7 +204,7 @@
min-width: 0;
height: 24px;
width: 28px;
- top: 10px;
+ top: 9px;
right: -6px;
margin: 0 8px 0 0;
padding: 0;
@@ -214,20 +214,22 @@
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown {
position: absolute;
right: auto;
- left: -45px;
- width: 40px;
- background: transparent;
+ left: 12px;
+ width: 46px;
+ background: {$greybackground};
+ z-index: 1;
}
.device-desktop .phabricator-main-menu-search
button.phabricator-main-menu-search-dropdown {
- height: 28px;
- top: 8px;
+ height: 24px;
+ top: 10px;
+ border-radius: 3px;
}
.device-desktop .phabricator-main-menu-search
button.phabricator-main-menu-search-dropdown:hover .phui-icon-view {
- color: #fff;
+ color: {$sky};
}
.device .phabricator-main-menu-search
@@ -236,34 +238,24 @@
background: {$greybackground};
}
-button.phabricator-main-menu-search-dropdown .caret:before {
+button.phabricator-main-menu-search-dropdown .caret:before,
+a.phabricator-core-user-menu .caret:before {
content: "\f107";
font-family: FontAwesome;
- color: {$hoverwhite};
}
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown
.phui-icon-view {
- color: {$hoverwhite};
+ color: {$bluetext};
font-size: 15px;
- top: 6px;
+ top: 4px;
left: 8px;
}
-.device
- .phabricator-main-menu-search button.phabricator-main-menu-search-dropdown
- .phui-icon-view {
- color: {$bluetext};
-}
-
-.device button.phabricator-main-menu-search-dropdown .caret:before {
- color: {$bluetext};
-}
-
.phabricator-main-menu-search-dropdown .caret {
position: absolute;
- right: 15px;
- top: 5px;
+ right: 18px;
+ top: 2px;
border: none;
margin-top: 1px;
}
@@ -479,10 +471,6 @@
*/
-.phabricator-core-menu-profile-image {
- background-size: 28px 28px;
-}
-
.device .phabricator-search-menu {
display: none;
}
@@ -606,6 +594,53 @@
padding-left: 12px;
}
+/* - User Menu -----------------------------------------------------------------
+
+ Styles unique to the user profile menu (psyduck).
+
+*/
+
+.phabricator-core-user-menu {
+ float: right;
+ display: inline-block;
+ padding: 9px 24px 0 8px;
+ height: 35px;
+ position: relative;
+}
+
+.phabricator-core-user-menu .phui-icon-view.phuihead-small {
+ height: 26px;
+ width: 26px;
+ background-size: 26px;
+ border-radius: 3px;
+ display: inline-block;
+ margin: 0;
+}
+
+.phabricator-core-user-menu .phui-icon-view {
+ color: {$hoverwhite};
+ font-size: 16px;
+ margin: 5px 0 0 0;
+}
+
+.phabricator-core-user-menu .caret {
+ position: absolute;
+ right: 17px;
+ top: 13px;
+ border: none;
+ margin: 1px;
+ color: {$hoverwhite};
+}
+
+.phabricator-core-user-menu:hover .caret,
+.phabricator-core-user-menu:hover .phui-icon-view {
+ color: #fff;
+}
+
+.device-phone .phabricator-core-user-menu {
+ display: none;
+}
+
/* - Application Menu ----------------------------------------------------------
diff --git a/webroot/rsrc/css/phui/phui-action-list.css b/webroot/rsrc/css/phui/phui-action-list.css
--- a/webroot/rsrc/css/phui/phui-action-list.css
+++ b/webroot/rsrc/css/phui/phui-action-list.css
@@ -58,18 +58,48 @@
.phabricator-action-view button.phabricator-action-view-item,
.phabricator-action-view-item {
- padding: 4px 4px 4px 28px;
+ padding: 4px 8px 6px 8px;
display: block;
text-decoration: none;
color: {$darkbluetext};
}
+.action-has-icon button.phabricator-action-view-item,
+.action-has-icon .phabricator-action-view-item {
+ padding: 4px 4px 4px 28px;
+}
+
+.device-desktop .phabricator-action-view-href:hover
+ .phabricator-action-view-item {
+ text-decoration: none;
+ background: rgba({$alphablue}, .08);
+ color: {$sky};
+ border-radius: 3px;
+}
+
+.device-desktop .phabricator-action-view-href:hover
+ .phabricator-action-view-icon {
+ color: {$sky};
+}
+
+.device-desktop .phabricator-action-view-href.action-item-red:hover
+ .phabricator-action-view-item {
+ background-color: {$sh-redbackground};
+ color: {$sh-redtext};
+}
+
+.device-desktop .phabricator-action-view-href.action-item-red:hover
+ .phabricator-action-view-icon {
+ color: {$red};
+}
+
.phabricator-action-view-label .phabricator-action-view-item {
- font-size: {$normalfontsize};
+ font-size: {$smallerfontsize};
font-weight: bold;
color: {$bluetext};
padding: 4px 8px 6px 8px;
display: block;
+ text-transform: uppercase;
-webkit-font-smoothing: antialiased;
}
@@ -92,32 +122,18 @@
text-align: center;
}
-.device-desktop .phabricator-action-view:hover .phabricator-action-view-item {
- text-decoration: none;
- background-color: {$sky};
- color: #fff;
-}
-
-.device-desktop .phabricator-action-view:hover .phabricator-action-view-icon {
- color: #fff;
-}
-
.phabricator-action-view-disabled .phabricator-action-view-item,
.phabricator-action-view-disabled button.phabricator-action-view-item {
color: {$lightgreytext};
}
.phabricator-action-view-selected {
- border-left: 3px solid {$sky};
- background: {$hoverblue};
-}
-
-.phabricator-action-view-selected .phabricator-action-view-item {
- padding-left: 25px;
+ background: {$sh-violetbackground};
+ border-radius: 3px;
}
-.phabricator-action-view-selected .phabricator-action-view-icon {
- left: 6px;
+.phabricator-action-view-selected:hover a {
+ text-decoration: none;
}
.phabricator-action-view button[disabled] {
@@ -135,3 +151,8 @@
background-color: {$greybackground};
color: {$lightgreytext};
}
+
+.phabricator-action-view-type-divider {
+ margin-top: 8px;
+ border-top: 1px solid {$thinblueborder};
+}
diff --git a/webroot/rsrc/css/phui/phui-button.css b/webroot/rsrc/css/phui/phui-button.css
--- a/webroot/rsrc/css/phui/phui-button.css
+++ b/webroot/rsrc/css/phui/phui-button.css
@@ -198,14 +198,15 @@
.phuix-dropdown-menu {
position: absolute;
- width: 240px;
+ width: 200px;
background: #fff;
margin-top: -1px;
- padding: 5px 0;
+ padding: 12px;
box-shadow: {$dropshadow};
- border: 1px solid {$blueborder};
+ border: 1px solid {$lightgreyborder};
border-radius: 3px;
margin-bottom: 16px;
+ /*font-size: {$biggerfontsize};*/
}
.phuix-dropdown-menu a:focus {
diff --git a/webroot/rsrc/css/phui/phui-two-column-view.css b/webroot/rsrc/css/phui/phui-two-column-view.css
--- a/webroot/rsrc/css/phui/phui-two-column-view.css
+++ b/webroot/rsrc/css/phui/phui-two-column-view.css
@@ -159,24 +159,6 @@
padding: 0 12px;
}
-.phabricator-action-view button.phabricator-action-view-item,
-.phabricator-action-view-item {
- padding: 5px 4px 5px 28px;
-}
-
-.device-desktop .phui-two-column-properties .phabricator-action-view-href:hover
- .phabricator-action-view-item {
- text-decoration: none;
- background-color: rgba({$alphablue}, .08);
- color: {$sky};
- border-radius: 3px;
-}
-
-.device-desktop .phui-two-column-properties .phabricator-action-view-href:hover
- .phabricator-action-view-icon {
- color: {$sky};
-}
-
.phui-two-column-view .phui-property-list-section-header,
.phui-two-column-view .phui-property-list-text-content {
margin: 0 16px;
diff --git a/webroot/rsrc/js/phuix/PHUIXActionView.js b/webroot/rsrc/js/phuix/PHUIXActionView.js
--- a/webroot/rsrc/js/phuix/PHUIXActionView.js
+++ b/webroot/rsrc/js/phuix/PHUIXActionView.js
@@ -77,15 +77,24 @@
getNode: function() {
if (!this._node) {
- var attr = {
- className: 'phabricator-action-view'
- };
+ var classes = ['phabricator-action-view'];
+
+ if (this._href || this._handler) {
+ classes.push('phabricator-action-view-href');
+ }
+
+ if (this._icon) {
+ classes.push('action-has-icon');
+ }
var content = [
this._buildIconNode(),
this._buildNameNode()
];
+ var attr = {
+ className: classes.join(' ')
+ };
this._node = JX.$N('li', attr, content);
}

File Metadata

Mime Type
text/plain
Expires
Sat, May 18, 10:07 AM (2 w, 1 d ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/jv/ab/7hucxhf7svearhda
Default Alt Text
D17209.id41378.diff (47 KB)

Event Timeline