1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-20 01:08:50 +02:00

Remove collapsable option from ProfileMenu

Summary: Never really used this to full potential and takes up a lot of code and space. Remove option for now and make all profile nav menus small by default.

Test Plan: Review user, project, workboard. Set new menus.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Maniphest Tasks: T5867

Differential Revision: https://secure.phabricator.com/D17206
This commit is contained in:
Chad Little 2017-01-13 14:07:44 -08:00
parent 7276af6a81
commit 36e53fd5d0
7 changed files with 15 additions and 306 deletions

View file

@ -9,7 +9,7 @@ return array(
'names' => array(
'conpherence.pkg.css' => '0b64e988',
'conpherence.pkg.js' => '6249a1cf',
'core.pkg.css' => '9c725fa0',
'core.pkg.css' => '1afa1d13',
'core.pkg.js' => 'a2ead3fe',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => '9535a7e6',
@ -162,7 +162,7 @@ return array(
'rsrc/css/phui/phui-object-box.css' => '6b487c57',
'rsrc/css/phui/phui-pager.css' => 'bea33d23',
'rsrc/css/phui/phui-pinboard-view.css' => '2495140e',
'rsrc/css/phui/phui-profile-menu.css' => '4768721a',
'rsrc/css/phui/phui-profile-menu.css' => 'c71ecdcd',
'rsrc/css/phui/phui-property-list-view.css' => '6d8e58ac',
'rsrc/css/phui/phui-remarkup-preview.css' => '1a8f2591',
'rsrc/css/phui/phui-segment-bar-view.css' => '46342871',
@ -172,7 +172,7 @@ return array(
'rsrc/css/phui/phui-timeline-view.css' => 'bc523970',
'rsrc/css/phui/phui-two-column-view.css' => '7babf5b9',
'rsrc/css/phui/workboards/phui-workboard-color.css' => 'b60ef38a',
'rsrc/css/phui/workboards/phui-workboard.css' => '16441d5e',
'rsrc/css/phui/workboards/phui-workboard.css' => 'c88912ee',
'rsrc/css/phui/workboards/phui-workcard.css' => '00979e40',
'rsrc/css/phui/workboards/phui-workpanel.css' => 'a3a63478',
'rsrc/css/sprite-login.css' => '587d92d7',
@ -535,7 +535,6 @@ return array(
'rsrc/js/core/phtize.js' => 'd254d646',
'rsrc/js/phui/behavior-phui-dropdown-menu.js' => '1aa4c968',
'rsrc/js/phui/behavior-phui-file-upload.js' => 'b003d4fb',
'rsrc/js/phui/behavior-phui-profile-menu.js' => '12884df9',
'rsrc/js/phui/behavior-phui-submenu.js' => 'a6f7a73b',
'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9',
'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8',
@ -690,7 +689,6 @@ return array(
'javelin-behavior-phui-dropdown-menu' => '1aa4c968',
'javelin-behavior-phui-file-upload' => 'b003d4fb',
'javelin-behavior-phui-hovercards' => 'bcaccd64',
'javelin-behavior-phui-profile-menu' => '12884df9',
'javelin-behavior-phui-submenu' => 'a6f7a73b',
'javelin-behavior-phui-tab-group' => '0a0b10e9',
'javelin-behavior-policy-control' => 'd0c516d5',
@ -883,7 +881,7 @@ return array(
'phui-oi-simple-ui-css' => 'a8beebea',
'phui-pager-css' => 'bea33d23',
'phui-pinboard-view-css' => '2495140e',
'phui-profile-menu-css' => '4768721a',
'phui-profile-menu-css' => 'c71ecdcd',
'phui-property-list-view-css' => '6d8e58ac',
'phui-remarkup-preview-css' => '1a8f2591',
'phui-segment-bar-view-css' => '46342871',
@ -894,7 +892,7 @@ return array(
'phui-timeline-view-css' => 'bc523970',
'phui-two-column-view-css' => '7babf5b9',
'phui-workboard-color-css' => 'b60ef38a',
'phui-workboard-view-css' => '16441d5e',
'phui-workboard-view-css' => 'c88912ee',
'phui-workcard-view-css' => '00979e40',
'phui-workpanel-view-css' => 'a3a63478',
'phuix-action-list-view' => 'b5c256b8',
@ -1030,11 +1028,6 @@ return array(
'javelin-dom',
'javelin-typeahead-normalizer',
),
'12884df9' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
),
'13c739ea' => array(
'javelin-behavior',
'javelin-stratcom',

View file

@ -3422,7 +3422,6 @@ phutil_register_library_map(array(
'PhabricatorPolicyTestObject' => 'applications/policy/__tests__/PhabricatorPolicyTestObject.php',
'PhabricatorPolicyType' => 'applications/policy/constants/PhabricatorPolicyType.php',
'PhabricatorPonderApplication' => 'applications/ponder/application/PhabricatorPonderApplication.php',
'PhabricatorProfileMenuCollapsedSetting' => 'applications/settings/setting/PhabricatorProfileMenuCollapsedSetting.php',
'PhabricatorProfileMenuEditEngine' => 'applications/search/editor/PhabricatorProfileMenuEditEngine.php',
'PhabricatorProfileMenuEditor' => 'applications/search/editor/PhabricatorProfileMenuEditor.php',
'PhabricatorProfileMenuEngine' => 'applications/search/engine/PhabricatorProfileMenuEngine.php',
@ -8575,7 +8574,6 @@ phutil_register_library_map(array(
),
'PhabricatorPolicyType' => 'PhabricatorPolicyConstants',
'PhabricatorPonderApplication' => 'PhabricatorApplication',
'PhabricatorProfileMenuCollapsedSetting' => 'PhabricatorInternalSetting',
'PhabricatorProfileMenuEditEngine' => 'PhabricatorEditEngine',
'PhabricatorProfileMenuEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorProfileMenuEngine' => 'Phobject',

View file

@ -239,11 +239,6 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
}
}
$more_items = $this->newAutomaticMenuItems($nav);
foreach ($more_items as $item) {
$nav->addMenuItem($item);
}
$nav->selectFilter(null);
$this->navigation = $nav;
@ -410,73 +405,6 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
}
}
private function newAutomaticMenuItems(AphrontSideNavFilterView $nav) {
$items = array();
// NOTE: We're adding a spacer item for the fixed footer, so that if the
// menu taller than the page content you can still scroll down the page far
// enough to access the last item without the content being obscured by the
// fixed items.
$items[] = id(new PHUIListItemView())
->setHideInApplicationMenu(true)
->addClass('phui-profile-menu-spacer');
$collapse_id = celerity_generate_unique_node_id();
$viewer = $this->getViewer();
$collapse_key = PhabricatorProfileMenuCollapsedSetting::SETTINGKEY;
$is_collapsed = $viewer->getUserSetting($collapse_key);
if ($is_collapsed) {
$nav->addClass('phui-profile-menu-collapsed');
} else {
$nav->addClass('phui-profile-menu-expanded');
}
if ($viewer->isLoggedIn()) {
$settings_uri = '/settings/adjust/?key='.$collapse_key;
} else {
$settings_uri = null;
}
Javelin::initBehavior(
'phui-profile-menu',
array(
'menuID' => $nav->getMainID(),
'collapseID' => $collapse_id,
'isCollapsed' => (bool)$is_collapsed,
'settingsURI' => $settings_uri,
));
$collapse_icon = id(new PHUIIconCircleView())
->addClass('phui-list-item-icon')
->addClass('phui-profile-menu-visible-when-expanded')
->setIcon('fa-chevron-left');
$expand_icon = id(new PHUIIconCircleView())
->addClass('phui-list-item-icon')
->addClass('phui-profile-menu-visible-when-collapsed')
->addSigil('has-tooltip')
->setMetadata(
array(
'tip' => pht('Expand'),
'align' => 'E',
))
->setIcon('fa-chevron-right');
$items[] = id(new PHUIListItemView())
->setName('Collapse')
->addIcon($collapse_icon)
->addIcon($expand_icon)
->setID($collapse_id)
->addClass('phui-profile-menu-footer')
->addClass('phui-profile-menu-footer-1')
->setHideInApplicationMenu(true)
->setHref('#');
return $items;
}
public function getConfigureURI() {
return $this->getItemURI('configure/');
}

View file

@ -1,12 +0,0 @@
<?php
final class PhabricatorProfileMenuCollapsedSetting
extends PhabricatorInternalSetting {
const SETTINGKEY = 'profile-menu.collapsed';
public function getSettingName() {
return pht('Profile Menu Collapsed');
}
}

View file

@ -2,7 +2,7 @@
* @provides phui-profile-menu-css
*/
.device-desktop .phui-profile-menu-collapsed .phabricator-nav-local {
.device-desktop .phui-profile-menu .phabricator-nav-local {
width: {$menu.profile.width.collapsed};
max-width: {$menu.profile.width.collapsed};
}
@ -58,8 +58,7 @@
background-size: 100%;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-list-item-href {
.phui-profile-menu .phabricator-side-menu .phui-list-item-href {
text-align: center;
padding: 42px 4px 14px;
line-height: 14px;
@ -67,19 +66,17 @@
font-size: {$smallerfontsize};
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-list-item-name {
.phui-profile-menu .phabricator-side-menu .phui-list-item-name {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-list-item-icon,
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-list-item-href .phui-list-item-icon {
top: 14px;
left: 32px;
.phui-profile-menu .phabricator-side-menu .phui-list-item-icon,
.phui-profile-menu .phabricator-side-menu .phui-list-item-href
.phui-list-item-icon {
top: 14px;
left: 32px;
}
.phui-profile-menu .phabricator-side-menu
@ -131,14 +128,12 @@
padding: 16px;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-profile-menu-error {
.phui-profile-menu .phabricator-side-menu .phui-profile-menu-error {
padding: 16px 8px;
overflow: hidden;
text-overflow: ellipsis;
}
.phui-profile-menu .phabricator-side-menu .phui-list-item-disabled
.phui-list-item-href,
.phui-profile-menu .phui-list-sidenav .phui-list-item-disabled
@ -153,150 +148,15 @@
padding: 8px 12px 16px;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-profile-segment-bar {
.phui-profile-menu .phabricator-side-menu .phui-profile-segment-bar {
padding: 8px 8px 16px;
}
.phui-profile-menu .phabricator-side-menu .phui-profile-menu-spacer {
box-sizing: border-box;
height: {$menu.profile.item.height};
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-profile-menu-footer
.phui-list-item-name {
display: none;
}
.phui-profile-menu .phui-profile-menu-expanded
.phui-profile-menu-visible-when-collapsed,
.phui-profile-menu .phui-profile-menu-collapsed
.phui-profile-menu-visible-when-expanded {
display: none;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-profile-menu-footer .phui-list-item-href {
padding: 20px 0 24px;
}
.phui-profile-menu .phabricator-side-menu .phui-profile-menu-footer
.phui-list-item-href:hover {
background: transparent;
}
.phui-profile-menu .phui-profile-menu-collapsed .phabricator-side-menu
.phui-profile-menu-footer .phui-list-item-href .phui-list-item-icon {
top: 8px;
}
.phui-profile-menu .phui-profile-menu-footer .phui-icon-circle {
border-color: {$darkbluetext};
}
.phui-profile-menu .phui-profile-menu-footer .phui-icon-circle .phui-icon-view {
color: {$darkbluetext};
}
.phui-profile-menu .phui-profile-menu-footer
.phui-icon-circle.phui-list-item-icon {
font-size: 12px;
}
.phui-profile-menu .phabricator-side-menu .phui-profile-menu-footer-1 {
bottom: 0;
position: fixed;
}
.phui-profile-menu .phui-profile-menu-footer-1 {
width: {$menu.profile.width};
}
.phui-profile-menu .phui-profile-menu-collapsed .phui-profile-menu-footer-1 {
width: {$menu.profile.width.collapsed};
}
.phui-profile-menu .phabricator-side-menu
.phui-list-item-selected.phui-profile-menu-footer .phui-list-item-href {
background: transparent;
}
.phui-profile-menu .phui-profile-menu-collapsing
.phabricator-nav-local {
animation: profile-menu-collapse 0.2s;
}
.phui-profile-menu .phui-profile-menu-expanding
.phabricator-nav-local {
animation: profile-menu-expand 0.2s;
}
.phui-profile-menu .phui-profile-menu-collapsing
.phabricator-side-menu .phui-list-item-href {
animation: profile-menu-blink 0.2s;
}
.phui-profile-menu .phui-profile-menu-expanding
.phabricator-side-menu .phui-list-item-href {
animation: profile-menu-blink 0.2s;
}
@keyframes profile-menu-blink {
0% {
opacity: 1.0;
}
25% {
opacity: 0.0;
}
75% {
opacity: 0.0;
}
100% {
opacity: 1.0;
}
}
@keyframes profile-menu-collapse {
0% {
width: {$menu.profile.width};
max-width: {$menu.profile.width};
}
33% {
width: {$menu.profile.width};
max-width: {$menu.profile.width};
}
66% {
width: {$menu.profile.width.collapsed};
max-width: {$menu.profile.width.collapsed};
}
100% {
width: {$menu.profile.width.collapsed};
max-width: {$menu.profile.width.collapsed};
}
}
@keyframes profile-menu-expand {
0% {
width: {$menu.profile.width.collapsed};
max-width: {$menu.profile.width.collapsed};
}
33% {
width: {$menu.profile.width.collapsed};
max-width: {$menu.profile.width.collapsed};
}
66% {
width: {$menu.profile.width};
max-width: {$menu.profile.width};
}
100% {
width: {$menu.profile.width};
max-width: {$menu.profile.width};
}
}
!print .phui-profile-menu .phabricator-side-menu {
display: none;
}

View file

@ -32,11 +32,6 @@
}
.device-desktop .project-board-wrapper .phui-workboard-view-shadow {
left: {$menu.profile.width};
}
.device-desktop .phui-profile-menu-collapsed .project-board-wrapper
.phui-workboard-view-shadow {
left: {$menu.profile.width.collapsed};
}

View file

@ -1,53 +0,0 @@
/**
* @provides javelin-behavior-phui-profile-menu
* @requires javelin-behavior
* javelin-stratcom
* javelin-dom
*/
JX.behavior('phui-profile-menu', function(config) {
// NOTE: This behavior is not initialized in the rendering pipeline for the
// menu, so it can get initialized when we build but do not render a menu
// (for example, when a page like the panel edit page only has items in
// the mobile/application menu, and does not show the profile menu). For now,
// just bail if we can't find the menu.
try {
var menu_node = JX.$(config.menuID);
} catch (ex) {
return;
}
var collapse_node = JX.$(config.collapseID);
var is_collapsed = config.isCollapsed;
JX.DOM.listen(collapse_node, 'click', null, function(e) {
is_collapsed = !is_collapsed;
JX.DOM.alterClass(menu_node, 'phui-profile-menu-collapsing', is_collapsed);
JX.DOM.alterClass(menu_node, 'phui-profile-menu-expanding', !is_collapsed);
var duration = 0.2;
setTimeout(function() {
JX.DOM.alterClass(menu_node, 'phui-profile-menu-collapsed', is_collapsed);
JX.DOM.alterClass(menu_node, 'phui-profile-menu-expanded', !is_collapsed);
}, (duration / 2) * 1000);
setTimeout(function() {
JX.DOM.alterClass(menu_node, 'phui-profile-menu-collapsing', false);
JX.DOM.alterClass(menu_node, 'phui-profile-menu-expanding', false);
}, duration * 1000);
if (config.settingsURI) {
new JX.Request(config.settingsURI)
.setData({value: (is_collapsed ? 1 : 0)})
.send();
}
e.kill();
});
});