mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-18 04:42:40 +01:00
Redesign header menus and search
Summary: Still lots to fix here, punting up since I'm running into a few roadblocks. TODO: [] Sort Personal/Global correctly [] Quicksand in Help Items correctly on page changes Test Plan: Verify new menus work on desktop, tablet, mobile. Test logged in menus, logged out menus. Logging out via a menu, verify each link works as expected. Help menus get build when using an app like Maniphest, Differential. Check that search works, preferences still save. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12107 Differential Revision: https://secure.phabricator.com/D17209
This commit is contained in:
parent
23721799fd
commit
6f5dab634d
39 changed files with 527 additions and 810 deletions
|
@ -9,8 +9,8 @@ return array(
|
||||||
'names' => array(
|
'names' => array(
|
||||||
'conpherence.pkg.css' => '0b64e988',
|
'conpherence.pkg.css' => '0b64e988',
|
||||||
'conpherence.pkg.js' => '6249a1cf',
|
'conpherence.pkg.js' => '6249a1cf',
|
||||||
'core.pkg.css' => '1afa1d13',
|
'core.pkg.css' => '85f51b68',
|
||||||
'core.pkg.js' => '892976d4',
|
'core.pkg.js' => '2c684890',
|
||||||
'darkconsole.pkg.js' => 'e7393ebb',
|
'darkconsole.pkg.js' => 'e7393ebb',
|
||||||
'differential.pkg.css' => '9535a7e6',
|
'differential.pkg.css' => '9535a7e6',
|
||||||
'differential.pkg.js' => 'ddfeb49b',
|
'differential.pkg.js' => 'ddfeb49b',
|
||||||
|
@ -21,7 +21,7 @@ return array(
|
||||||
'maniphest.pkg.js' => '5ab2753f',
|
'maniphest.pkg.js' => '5ab2753f',
|
||||||
'rsrc/css/aphront/aphront-bars.css' => '231ac33c',
|
'rsrc/css/aphront/aphront-bars.css' => '231ac33c',
|
||||||
'rsrc/css/aphront/dark-console.css' => 'f54bf286',
|
'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/list-filter-view.css' => '5d6f0526',
|
||||||
'rsrc/css/aphront/multi-column.css' => '84cc6640',
|
'rsrc/css/aphront/multi-column.css' => '84cc6640',
|
||||||
'rsrc/css/aphront/notification.css' => '3f6c89c9',
|
'rsrc/css/aphront/notification.css' => '3f6c89c9',
|
||||||
|
@ -34,8 +34,8 @@ return array(
|
||||||
'rsrc/css/aphront/typeahead.css' => 'd4f16145',
|
'rsrc/css/aphront/typeahead.css' => 'd4f16145',
|
||||||
'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af',
|
'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af',
|
||||||
'rsrc/css/application/auth/auth.css' => '0877ed6e',
|
'rsrc/css/application/auth/auth.css' => '0877ed6e',
|
||||||
'rsrc/css/application/base/main-menu-view.css' => 'f03e17be',
|
'rsrc/css/application/base/main-menu-view.css' => '7bc94bc2',
|
||||||
'rsrc/css/application/base/notification-menu.css' => '1e055865',
|
'rsrc/css/application/base/notification-menu.css' => '6a697e43',
|
||||||
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
|
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
|
||||||
'rsrc/css/application/base/phui-theme.css' => '798c69b8',
|
'rsrc/css/application/base/phui-theme.css' => '798c69b8',
|
||||||
'rsrc/css/application/base/standard-page-view.css' => '894d8a25',
|
'rsrc/css/application/base/standard-page-view.css' => '894d8a25',
|
||||||
|
@ -96,7 +96,7 @@ return array(
|
||||||
'rsrc/css/application/policy/policy-transaction-detail.css' => '82100a43',
|
'rsrc/css/application/policy/policy-transaction-detail.css' => '82100a43',
|
||||||
'rsrc/css/application/policy/policy.css' => '957ea14c',
|
'rsrc/css/application/policy/policy.css' => '957ea14c',
|
||||||
'rsrc/css/application/ponder/ponder-view.css' => 'fbd45f96',
|
'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/project/project-view.css' => '1e6f7072',
|
||||||
'rsrc/css/application/releeph/releeph-core.css' => '9b3c5733',
|
'rsrc/css/application/releeph/releeph-core.css' => '9b3c5733',
|
||||||
'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5',
|
'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5',
|
||||||
|
@ -108,7 +108,7 @@ return array(
|
||||||
'rsrc/css/application/tokens/tokens.css' => '3d0f239e',
|
'rsrc/css/application/tokens/tokens.css' => '3d0f239e',
|
||||||
'rsrc/css/application/uiexample/example.css' => '528b19de',
|
'rsrc/css/application/uiexample/example.css' => '528b19de',
|
||||||
'rsrc/css/core/core.css' => 'd0801452',
|
'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/syntax.css' => '769d3498',
|
||||||
'rsrc/css/core/z-index.css' => '5e72c4e0',
|
'rsrc/css/core/z-index.css' => '5e72c4e0',
|
||||||
'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa',
|
'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa',
|
||||||
|
@ -128,29 +128,29 @@ return array(
|
||||||
'rsrc/css/phui/object-item/phui-oi-flush-ui.css' => '9d9685d6',
|
'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-list-view.css' => 'bff632a4',
|
||||||
'rsrc/css/phui/object-item/phui-oi-simple-ui.css' => 'a8beebea',
|
'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' => '5679229f',
|
||||||
'rsrc/css/phui/phui-action-panel.css' => '91c7b835',
|
'rsrc/css/phui/phui-action-panel.css' => '91c7b835',
|
||||||
'rsrc/css/phui/phui-badge.css' => '3baef8db',
|
'rsrc/css/phui/phui-badge.css' => '3baef8db',
|
||||||
'rsrc/css/phui/phui-basic-nav-view.css' => '7093573b',
|
'rsrc/css/phui/phui-basic-nav-view.css' => '7093573b',
|
||||||
'rsrc/css/phui/phui-big-info-view.css' => 'bd903741',
|
'rsrc/css/phui/phui-big-info-view.css' => 'bd903741',
|
||||||
'rsrc/css/phui/phui-box.css' => '33b629f8',
|
'rsrc/css/phui/phui-box.css' => '33b629f8',
|
||||||
'rsrc/css/phui/phui-button.css' => '43f4912e',
|
'rsrc/css/phui/phui-button.css' => '9718cb0c',
|
||||||
'rsrc/css/phui/phui-chart.css' => '6bf6f78e',
|
'rsrc/css/phui/phui-chart.css' => '6bf6f78e',
|
||||||
'rsrc/css/phui/phui-cms.css' => 'be43c8a8',
|
'rsrc/css/phui/phui-cms.css' => 'be43c8a8',
|
||||||
'rsrc/css/phui/phui-comment-form.css' => '48fbd65d',
|
'rsrc/css/phui/phui-comment-form.css' => '48fbd65d',
|
||||||
'rsrc/css/phui/phui-comment-panel.css' => 'f50152ad',
|
'rsrc/css/phui/phui-comment-panel.css' => 'f50152ad',
|
||||||
'rsrc/css/phui/phui-crumbs-view.css' => 'f82868f2',
|
'rsrc/css/phui/phui-crumbs-view.css' => 'f82868f2',
|
||||||
'rsrc/css/phui/phui-curtain-view.css' => '947bf1a4',
|
'rsrc/css/phui/phui-curtain-view.css' => '947bf1a4',
|
||||||
'rsrc/css/phui/phui-document-pro.css' => 'c354e312',
|
'rsrc/css/phui/phui-document-pro.css' => 'f56738ed',
|
||||||
'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf',
|
'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf',
|
||||||
'rsrc/css/phui/phui-document.css' => 'c32e8dec',
|
'rsrc/css/phui/phui-document.css' => 'c32e8dec',
|
||||||
'rsrc/css/phui/phui-feed-story.css' => '44a9c8e9',
|
'rsrc/css/phui/phui-feed-story.css' => '44a9c8e9',
|
||||||
'rsrc/css/phui/phui-fontkit.css' => '9cda225e',
|
'rsrc/css/phui/phui-fontkit.css' => '9cda225e',
|
||||||
'rsrc/css/phui/phui-form-view.css' => '04cc4771',
|
'rsrc/css/phui/phui-form-view.css' => 'adca31ce',
|
||||||
'rsrc/css/phui/phui-form.css' => '2342b0e5',
|
'rsrc/css/phui/phui-form.css' => '2342b0e5',
|
||||||
'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f',
|
'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f',
|
||||||
'rsrc/css/phui/phui-header-view.css' => '6ec8f155',
|
'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-set-selector.css' => '1ab67aad',
|
||||||
'rsrc/css/phui/phui-icon.css' => '09f46dd9',
|
'rsrc/css/phui/phui-icon.css' => '09f46dd9',
|
||||||
'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c',
|
'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c',
|
||||||
|
@ -170,10 +170,10 @@ return array(
|
||||||
'rsrc/css/phui/phui-status.css' => 'd5263e49',
|
'rsrc/css/phui/phui-status.css' => 'd5263e49',
|
||||||
'rsrc/css/phui/phui-tag-view.css' => '84d65f26',
|
'rsrc/css/phui/phui-tag-view.css' => '84d65f26',
|
||||||
'rsrc/css/phui/phui-timeline-view.css' => 'bc523970',
|
'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' => 'a0d3858a',
|
||||||
'rsrc/css/phui/workboards/phui-workboard-color.css' => 'b60ef38a',
|
'rsrc/css/phui/workboards/phui-workboard-color.css' => 'b60ef38a',
|
||||||
'rsrc/css/phui/workboards/phui-workboard.css' => 'c88912ee',
|
'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/phui/workboards/phui-workpanel.css' => 'a3a63478',
|
||||||
'rsrc/css/sprite-login.css' => '587d92d7',
|
'rsrc/css/sprite-login.css' => '587d92d7',
|
||||||
'rsrc/css/sprite-tokens.css' => '9cdfd599',
|
'rsrc/css/sprite-tokens.css' => '9cdfd599',
|
||||||
|
@ -538,7 +538,7 @@ return array(
|
||||||
'rsrc/js/phui/behavior-phui-submenu.js' => 'a6f7a73b',
|
'rsrc/js/phui/behavior-phui-submenu.js' => 'a6f7a73b',
|
||||||
'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9',
|
'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9',
|
||||||
'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8',
|
'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/PHUIXAutocomplete.js' => '6d86ce8b',
|
||||||
'rsrc/js/phuix/PHUIXDropdownMenu.js' => '82e270da',
|
'rsrc/js/phuix/PHUIXDropdownMenu.js' => '82e270da',
|
||||||
'rsrc/js/phuix/PHUIXFormControl.js' => 'bbece68d',
|
'rsrc/js/phuix/PHUIXFormControl.js' => 'bbece68d',
|
||||||
|
@ -548,7 +548,7 @@ return array(
|
||||||
'almanac-css' => 'dbb9b3af',
|
'almanac-css' => 'dbb9b3af',
|
||||||
'aphront-bars' => '231ac33c',
|
'aphront-bars' => '231ac33c',
|
||||||
'aphront-dark-console-css' => 'f54bf286',
|
'aphront-dark-console-css' => 'f54bf286',
|
||||||
'aphront-dialog-view-css' => '938f52c5',
|
'aphront-dialog-view-css' => '5e5aa60b',
|
||||||
'aphront-list-filter-view-css' => '5d6f0526',
|
'aphront-list-filter-view-css' => '5d6f0526',
|
||||||
'aphront-multi-column-view-css' => '84cc6640',
|
'aphront-multi-column-view-css' => '84cc6640',
|
||||||
'aphront-panel-view-css' => '8427b78d',
|
'aphront-panel-view-css' => '8427b78d',
|
||||||
|
@ -778,7 +778,7 @@ return array(
|
||||||
'paste-css' => '1898e534',
|
'paste-css' => '1898e534',
|
||||||
'path-typeahead' => 'f7fc67ec',
|
'path-typeahead' => 'f7fc67ec',
|
||||||
'people-profile-css' => '2473d929',
|
'people-profile-css' => '2473d929',
|
||||||
'phabricator-action-list-view-css' => 'e1d48300',
|
'phabricator-action-list-view-css' => '5679229f',
|
||||||
'phabricator-application-launch-view-css' => '95351601',
|
'phabricator-application-launch-view-css' => '95351601',
|
||||||
'phabricator-busy' => '59a7976a',
|
'phabricator-busy' => '59a7976a',
|
||||||
'phabricator-chatlog-css' => 'd295b020',
|
'phabricator-chatlog-css' => 'd295b020',
|
||||||
|
@ -796,15 +796,15 @@ return array(
|
||||||
'phabricator-flag-css' => 'bba8f811',
|
'phabricator-flag-css' => 'bba8f811',
|
||||||
'phabricator-keyboard-shortcut' => '1ae869f2',
|
'phabricator-keyboard-shortcut' => '1ae869f2',
|
||||||
'phabricator-keyboard-shortcut-manager' => '4a021c10',
|
'phabricator-keyboard-shortcut-manager' => '4a021c10',
|
||||||
'phabricator-main-menu-view' => 'f03e17be',
|
'phabricator-main-menu-view' => '7bc94bc2',
|
||||||
'phabricator-nav-view-css' => 'b29426e9',
|
'phabricator-nav-view-css' => 'b29426e9',
|
||||||
'phabricator-notification' => 'ccf1cbf8',
|
'phabricator-notification' => 'ccf1cbf8',
|
||||||
'phabricator-notification-css' => '3f6c89c9',
|
'phabricator-notification-css' => '3f6c89c9',
|
||||||
'phabricator-notification-menu-css' => '1e055865',
|
'phabricator-notification-menu-css' => '6a697e43',
|
||||||
'phabricator-object-selector-css' => '85ee8ce6',
|
'phabricator-object-selector-css' => '85ee8ce6',
|
||||||
'phabricator-phtize' => 'd254d646',
|
'phabricator-phtize' => 'd254d646',
|
||||||
'phabricator-prefab' => '8d40ae75',
|
'phabricator-prefab' => '8d40ae75',
|
||||||
'phabricator-remarkup-css' => 'aebc1180',
|
'phabricator-remarkup-css' => '4a2de2bb',
|
||||||
'phabricator-search-results-css' => '64ad079a',
|
'phabricator-search-results-css' => '64ad079a',
|
||||||
'phabricator-shaped-request' => '7cbe244b',
|
'phabricator-shaped-request' => '7cbe244b',
|
||||||
'phabricator-slowvote-css' => 'a94b7230',
|
'phabricator-slowvote-css' => 'a94b7230',
|
||||||
|
@ -840,7 +840,7 @@ return array(
|
||||||
'phui-basic-nav-view-css' => '7093573b',
|
'phui-basic-nav-view-css' => '7093573b',
|
||||||
'phui-big-info-view-css' => 'bd903741',
|
'phui-big-info-view-css' => 'bd903741',
|
||||||
'phui-box-css' => '33b629f8',
|
'phui-box-css' => '33b629f8',
|
||||||
'phui-button-css' => '43f4912e',
|
'phui-button-css' => '9718cb0c',
|
||||||
'phui-calendar-css' => '477acfaa',
|
'phui-calendar-css' => '477acfaa',
|
||||||
'phui-calendar-day-css' => '572b1893',
|
'phui-calendar-day-css' => '572b1893',
|
||||||
'phui-calendar-list-css' => 'fcc9fb41',
|
'phui-calendar-list-css' => 'fcc9fb41',
|
||||||
|
@ -853,16 +853,16 @@ return array(
|
||||||
'phui-curtain-view-css' => '947bf1a4',
|
'phui-curtain-view-css' => '947bf1a4',
|
||||||
'phui-document-summary-view-css' => '9ca48bdf',
|
'phui-document-summary-view-css' => '9ca48bdf',
|
||||||
'phui-document-view-css' => 'c32e8dec',
|
'phui-document-view-css' => 'c32e8dec',
|
||||||
'phui-document-view-pro-css' => 'c354e312',
|
'phui-document-view-pro-css' => 'f56738ed',
|
||||||
'phui-feed-story-css' => '44a9c8e9',
|
'phui-feed-story-css' => '44a9c8e9',
|
||||||
'phui-font-icon-base-css' => '870a7360',
|
'phui-font-icon-base-css' => '870a7360',
|
||||||
'phui-fontkit-css' => '9cda225e',
|
'phui-fontkit-css' => '9cda225e',
|
||||||
'phui-form-css' => '2342b0e5',
|
'phui-form-css' => '2342b0e5',
|
||||||
'phui-form-view-css' => '04cc4771',
|
'phui-form-view-css' => 'adca31ce',
|
||||||
'phui-head-thing-view-css' => 'fd311e5f',
|
'phui-head-thing-view-css' => 'fd311e5f',
|
||||||
'phui-header-view-css' => '6ec8f155',
|
'phui-header-view-css' => '6ec8f155',
|
||||||
'phui-hovercard' => '1bd28176',
|
'phui-hovercard' => '1bd28176',
|
||||||
'phui-hovercard-view-css' => 'de1a2119',
|
'phui-hovercard-view-css' => 'e904f5dc',
|
||||||
'phui-icon-set-selector-css' => '1ab67aad',
|
'phui-icon-set-selector-css' => '1ab67aad',
|
||||||
'phui-icon-view-css' => '09f46dd9',
|
'phui-icon-view-css' => '09f46dd9',
|
||||||
'phui-image-mask-css' => 'a8498f9c',
|
'phui-image-mask-css' => 'a8498f9c',
|
||||||
|
@ -890,13 +890,13 @@ return array(
|
||||||
'phui-tag-view-css' => '84d65f26',
|
'phui-tag-view-css' => '84d65f26',
|
||||||
'phui-theme-css' => '798c69b8',
|
'phui-theme-css' => '798c69b8',
|
||||||
'phui-timeline-view-css' => 'bc523970',
|
'phui-timeline-view-css' => 'bc523970',
|
||||||
'phui-two-column-view-css' => '7babf5b9',
|
'phui-two-column-view-css' => 'a0d3858a',
|
||||||
'phui-workboard-color-css' => 'b60ef38a',
|
'phui-workboard-color-css' => 'b60ef38a',
|
||||||
'phui-workboard-view-css' => 'c88912ee',
|
'phui-workboard-view-css' => 'c88912ee',
|
||||||
'phui-workcard-view-css' => '00979e40',
|
'phui-workcard-view-css' => 'cca5fa92',
|
||||||
'phui-workpanel-view-css' => 'a3a63478',
|
'phui-workpanel-view-css' => 'a3a63478',
|
||||||
'phuix-action-list-view' => 'b5c256b8',
|
'phuix-action-list-view' => 'b5c256b8',
|
||||||
'phuix-action-view' => '8cf6d262',
|
'phuix-action-view' => '9cc178ed',
|
||||||
'phuix-autocomplete' => '6d86ce8b',
|
'phuix-autocomplete' => '6d86ce8b',
|
||||||
'phuix-dropdown-menu' => '82e270da',
|
'phuix-dropdown-menu' => '82e270da',
|
||||||
'phuix-form-control-view' => 'bbece68d',
|
'phuix-form-control-view' => 'bbece68d',
|
||||||
|
@ -905,7 +905,7 @@ return array(
|
||||||
'policy-edit-css' => '815c66f7',
|
'policy-edit-css' => '815c66f7',
|
||||||
'policy-transaction-detail-css' => '82100a43',
|
'policy-transaction-detail-css' => '82100a43',
|
||||||
'ponder-view-css' => 'fbd45f96',
|
'ponder-view-css' => 'fbd45f96',
|
||||||
'project-card-view-css' => '9418c97d',
|
'project-card-view-css' => 'd27c67ae',
|
||||||
'project-view-css' => '1e6f7072',
|
'project-view-css' => '1e6f7072',
|
||||||
'releeph-core' => '9b3c5733',
|
'releeph-core' => '9b3c5733',
|
||||||
'releeph-preview-branch' => 'b7a6f4a5',
|
'releeph-preview-branch' => 'b7a6f4a5',
|
||||||
|
@ -1508,6 +1508,9 @@ return array(
|
||||||
'owners-path-editor',
|
'owners-path-editor',
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
),
|
),
|
||||||
|
'7bc94bc2' => array(
|
||||||
|
'phui-theme-css',
|
||||||
|
),
|
||||||
'7cbe244b' => array(
|
'7cbe244b' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
|
@ -1603,11 +1606,6 @@ return array(
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
),
|
),
|
||||||
'8cf6d262' => array(
|
|
||||||
'javelin-install',
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
),
|
|
||||||
'8d3bc1b2' => array(
|
'8d3bc1b2' => array(
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
|
@ -1707,6 +1705,11 @@ return array(
|
||||||
'javelin-workflow',
|
'javelin-workflow',
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
),
|
),
|
||||||
|
'9cc178ed' => array(
|
||||||
|
'javelin-install',
|
||||||
|
'javelin-dom',
|
||||||
|
'javelin-util',
|
||||||
|
),
|
||||||
'9d9685d6' => array(
|
'9d9685d6' => array(
|
||||||
'phui-oi-list-view-css',
|
'phui-oi-list-view-css',
|
||||||
),
|
),
|
||||||
|
@ -2161,9 +2164,6 @@ return array(
|
||||||
'javelin-workflow',
|
'javelin-workflow',
|
||||||
'javelin-json',
|
'javelin-json',
|
||||||
),
|
),
|
||||||
'f03e17be' => array(
|
|
||||||
'phui-theme-css',
|
|
||||||
),
|
|
||||||
'f12cbc9f' => array(
|
'f12cbc9f' => array(
|
||||||
'phui-oi-list-view-css',
|
'phui-oi-list-view-css',
|
||||||
),
|
),
|
||||||
|
|
|
@ -1698,7 +1698,6 @@ phutil_register_library_map(array(
|
||||||
'PHUIListItemView' => 'view/phui/PHUIListItemView.php',
|
'PHUIListItemView' => 'view/phui/PHUIListItemView.php',
|
||||||
'PHUIListView' => 'view/phui/PHUIListView.php',
|
'PHUIListView' => 'view/phui/PHUIListView.php',
|
||||||
'PHUIListViewTestCase' => 'view/layout/__tests__/PHUIListViewTestCase.php',
|
'PHUIListViewTestCase' => 'view/layout/__tests__/PHUIListViewTestCase.php',
|
||||||
'PHUIMainMenuView' => 'view/phui/PHUIMainMenuView.php',
|
|
||||||
'PHUIObjectBoxView' => 'view/phui/PHUIObjectBoxView.php',
|
'PHUIObjectBoxView' => 'view/phui/PHUIObjectBoxView.php',
|
||||||
'PHUIObjectItemListExample' => 'applications/uiexample/examples/PHUIObjectItemListExample.php',
|
'PHUIObjectItemListExample' => 'applications/uiexample/examples/PHUIObjectItemListExample.php',
|
||||||
'PHUIObjectItemListView' => 'view/phui/PHUIObjectItemListView.php',
|
'PHUIObjectItemListView' => 'view/phui/PHUIObjectItemListView.php',
|
||||||
|
@ -2592,7 +2591,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorEditEngineConfigurationTransactionQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationTransactionQuery.php',
|
'PhabricatorEditEngineConfigurationTransactionQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationTransactionQuery.php',
|
||||||
'PhabricatorEditEngineConfigurationViewController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php',
|
'PhabricatorEditEngineConfigurationViewController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php',
|
||||||
'PhabricatorEditEngineController' => 'applications/transactions/controller/PhabricatorEditEngineController.php',
|
'PhabricatorEditEngineController' => 'applications/transactions/controller/PhabricatorEditEngineController.php',
|
||||||
'PhabricatorEditEngineCreateQuickActions' => 'applications/settings/quickmenu/PhabricatorEditEngineCreateQuickActions.php',
|
|
||||||
'PhabricatorEditEngineDatasource' => 'applications/transactions/typeahead/PhabricatorEditEngineDatasource.php',
|
'PhabricatorEditEngineDatasource' => 'applications/transactions/typeahead/PhabricatorEditEngineDatasource.php',
|
||||||
'PhabricatorEditEngineExtension' => 'applications/transactions/engineextension/PhabricatorEditEngineExtension.php',
|
'PhabricatorEditEngineExtension' => 'applications/transactions/engineextension/PhabricatorEditEngineExtension.php',
|
||||||
'PhabricatorEditEngineExtensionModule' => 'applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php',
|
'PhabricatorEditEngineExtensionModule' => 'applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php',
|
||||||
|
@ -2673,7 +2671,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFavoritesConstants' => 'applications/favorites/constants/PhabricatorFavoritesConstants.php',
|
'PhabricatorFavoritesConstants' => 'applications/favorites/constants/PhabricatorFavoritesConstants.php',
|
||||||
'PhabricatorFavoritesController' => 'applications/favorites/controller/PhabricatorFavoritesController.php',
|
'PhabricatorFavoritesController' => 'applications/favorites/controller/PhabricatorFavoritesController.php',
|
||||||
'PhabricatorFavoritesMainController' => 'applications/favorites/controller/PhabricatorFavoritesMainController.php',
|
'PhabricatorFavoritesMainController' => 'applications/favorites/controller/PhabricatorFavoritesMainController.php',
|
||||||
'PhabricatorFavoritesManageProfileMenuItem' => 'applications/favorites/menuitem/PhabricatorFavoritesManageProfileMenuItem.php',
|
|
||||||
'PhabricatorFavoritesMenuItemController' => 'applications/favorites/controller/PhabricatorFavoritesMenuItemController.php',
|
'PhabricatorFavoritesMenuItemController' => 'applications/favorites/controller/PhabricatorFavoritesMenuItemController.php',
|
||||||
'PhabricatorFavoritesProfileMenuEngine' => 'applications/favorites/engine/PhabricatorFavoritesProfileMenuEngine.php',
|
'PhabricatorFavoritesProfileMenuEngine' => 'applications/favorites/engine/PhabricatorFavoritesProfileMenuEngine.php',
|
||||||
'PhabricatorFaxContentSource' => 'infrastructure/contentsource/PhabricatorFaxContentSource.php',
|
'PhabricatorFaxContentSource' => 'infrastructure/contentsource/PhabricatorFaxContentSource.php',
|
||||||
|
@ -2828,7 +2825,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorHelpDocumentationController' => 'applications/help/controller/PhabricatorHelpDocumentationController.php',
|
'PhabricatorHelpDocumentationController' => 'applications/help/controller/PhabricatorHelpDocumentationController.php',
|
||||||
'PhabricatorHelpEditorProtocolController' => 'applications/help/controller/PhabricatorHelpEditorProtocolController.php',
|
'PhabricatorHelpEditorProtocolController' => 'applications/help/controller/PhabricatorHelpEditorProtocolController.php',
|
||||||
'PhabricatorHelpKeyboardShortcutController' => 'applications/help/controller/PhabricatorHelpKeyboardShortcutController.php',
|
'PhabricatorHelpKeyboardShortcutController' => 'applications/help/controller/PhabricatorHelpKeyboardShortcutController.php',
|
||||||
'PhabricatorHelpMainMenuBarExtension' => 'applications/help/extension/PhabricatorHelpMainMenuBarExtension.php',
|
|
||||||
'PhabricatorHeraldApplication' => 'applications/herald/application/PhabricatorHeraldApplication.php',
|
'PhabricatorHeraldApplication' => 'applications/herald/application/PhabricatorHeraldApplication.php',
|
||||||
'PhabricatorHeraldContentSource' => 'applications/herald/contentsource/PhabricatorHeraldContentSource.php',
|
'PhabricatorHeraldContentSource' => 'applications/herald/contentsource/PhabricatorHeraldContentSource.php',
|
||||||
'PhabricatorHighSecurityRequestExceptionHandler' => 'aphront/handler/PhabricatorHighSecurityRequestExceptionHandler.php',
|
'PhabricatorHighSecurityRequestExceptionHandler' => 'aphront/handler/PhabricatorHighSecurityRequestExceptionHandler.php',
|
||||||
|
@ -2841,7 +2837,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorHomeMenuItemController' => 'applications/home/controller/PhabricatorHomeMenuItemController.php',
|
'PhabricatorHomeMenuItemController' => 'applications/home/controller/PhabricatorHomeMenuItemController.php',
|
||||||
'PhabricatorHomePreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php',
|
'PhabricatorHomePreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php',
|
||||||
'PhabricatorHomeProfileMenuEngine' => 'applications/home/engine/PhabricatorHomeProfileMenuEngine.php',
|
'PhabricatorHomeProfileMenuEngine' => 'applications/home/engine/PhabricatorHomeProfileMenuEngine.php',
|
||||||
'PhabricatorHomeQuickCreateController' => 'applications/home/controller/PhabricatorHomeQuickCreateController.php',
|
|
||||||
'PhabricatorHovercardEngineExtension' => 'applications/search/engineextension/PhabricatorHovercardEngineExtension.php',
|
'PhabricatorHovercardEngineExtension' => 'applications/search/engineextension/PhabricatorHovercardEngineExtension.php',
|
||||||
'PhabricatorHovercardEngineExtensionModule' => 'applications/search/engineextension/PhabricatorHovercardEngineExtensionModule.php',
|
'PhabricatorHovercardEngineExtensionModule' => 'applications/search/engineextension/PhabricatorHovercardEngineExtensionModule.php',
|
||||||
'PhabricatorIDsSearchEngineExtension' => 'applications/search/engineextension/PhabricatorIDsSearchEngineExtension.php',
|
'PhabricatorIDsSearchEngineExtension' => 'applications/search/engineextension/PhabricatorIDsSearchEngineExtension.php',
|
||||||
|
@ -3317,7 +3312,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleLogQuery' => 'applications/people/query/PhabricatorPeopleLogQuery.php',
|
'PhabricatorPeopleLogQuery' => 'applications/people/query/PhabricatorPeopleLogQuery.php',
|
||||||
'PhabricatorPeopleLogSearchEngine' => 'applications/people/query/PhabricatorPeopleLogSearchEngine.php',
|
'PhabricatorPeopleLogSearchEngine' => 'applications/people/query/PhabricatorPeopleLogSearchEngine.php',
|
||||||
'PhabricatorPeopleLogsController' => 'applications/people/controller/PhabricatorPeopleLogsController.php',
|
'PhabricatorPeopleLogsController' => 'applications/people/controller/PhabricatorPeopleLogsController.php',
|
||||||
'PhabricatorPeopleMainMenuBarExtension' => 'applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php',
|
|
||||||
'PhabricatorPeopleManageProfileMenuItem' => 'applications/people/menuitem/PhabricatorPeopleManageProfileMenuItem.php',
|
'PhabricatorPeopleManageProfileMenuItem' => 'applications/people/menuitem/PhabricatorPeopleManageProfileMenuItem.php',
|
||||||
'PhabricatorPeopleNewController' => 'applications/people/controller/PhabricatorPeopleNewController.php',
|
'PhabricatorPeopleNewController' => 'applications/people/controller/PhabricatorPeopleNewController.php',
|
||||||
'PhabricatorPeopleNoOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleNoOwnerDatasource.php',
|
'PhabricatorPeopleNoOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleNoOwnerDatasource.php',
|
||||||
|
@ -3562,7 +3556,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorQueryOrderItem' => 'infrastructure/query/order/PhabricatorQueryOrderItem.php',
|
'PhabricatorQueryOrderItem' => 'infrastructure/query/order/PhabricatorQueryOrderItem.php',
|
||||||
'PhabricatorQueryOrderTestCase' => 'infrastructure/query/order/__tests__/PhabricatorQueryOrderTestCase.php',
|
'PhabricatorQueryOrderTestCase' => 'infrastructure/query/order/__tests__/PhabricatorQueryOrderTestCase.php',
|
||||||
'PhabricatorQueryOrderVector' => 'infrastructure/query/order/PhabricatorQueryOrderVector.php',
|
'PhabricatorQueryOrderVector' => 'infrastructure/query/order/PhabricatorQueryOrderVector.php',
|
||||||
'PhabricatorQuickActions' => 'applications/settings/quickmenu/PhabricatorQuickActions.php',
|
|
||||||
'PhabricatorRateLimitRequestExceptionHandler' => 'aphront/handler/PhabricatorRateLimitRequestExceptionHandler.php',
|
'PhabricatorRateLimitRequestExceptionHandler' => 'aphront/handler/PhabricatorRateLimitRequestExceptionHandler.php',
|
||||||
'PhabricatorRecaptchaConfigOptions' => 'applications/config/option/PhabricatorRecaptchaConfigOptions.php',
|
'PhabricatorRecaptchaConfigOptions' => 'applications/config/option/PhabricatorRecaptchaConfigOptions.php',
|
||||||
'PhabricatorRecipientHasBadgeEdgeType' => 'applications/badges/edge/PhabricatorRecipientHasBadgeEdgeType.php',
|
'PhabricatorRecipientHasBadgeEdgeType' => 'applications/badges/edge/PhabricatorRecipientHasBadgeEdgeType.php',
|
||||||
|
@ -3771,7 +3764,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorSettingsListController' => 'applications/settings/controller/PhabricatorSettingsListController.php',
|
'PhabricatorSettingsListController' => 'applications/settings/controller/PhabricatorSettingsListController.php',
|
||||||
'PhabricatorSettingsLogsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsLogsPanelGroup.php',
|
'PhabricatorSettingsLogsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsLogsPanelGroup.php',
|
||||||
'PhabricatorSettingsMainController' => 'applications/settings/controller/PhabricatorSettingsMainController.php',
|
'PhabricatorSettingsMainController' => 'applications/settings/controller/PhabricatorSettingsMainController.php',
|
||||||
'PhabricatorSettingsMainMenuBarExtension' => 'applications/settings/extension/PhabricatorSettingsMainMenuBarExtension.php',
|
|
||||||
'PhabricatorSettingsPanel' => 'applications/settings/panel/PhabricatorSettingsPanel.php',
|
'PhabricatorSettingsPanel' => 'applications/settings/panel/PhabricatorSettingsPanel.php',
|
||||||
'PhabricatorSettingsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsPanelGroup.php',
|
'PhabricatorSettingsPanelGroup' => 'applications/settings/panelgroup/PhabricatorSettingsPanelGroup.php',
|
||||||
'PhabricatorSettingsTimezoneController' => 'applications/settings/controller/PhabricatorSettingsTimezoneController.php',
|
'PhabricatorSettingsTimezoneController' => 'applications/settings/controller/PhabricatorSettingsTimezoneController.php',
|
||||||
|
@ -6575,7 +6567,6 @@ phutil_register_library_map(array(
|
||||||
'PHUIListItemView' => 'AphrontTagView',
|
'PHUIListItemView' => 'AphrontTagView',
|
||||||
'PHUIListView' => 'AphrontTagView',
|
'PHUIListView' => 'AphrontTagView',
|
||||||
'PHUIListViewTestCase' => 'PhabricatorTestCase',
|
'PHUIListViewTestCase' => 'PhabricatorTestCase',
|
||||||
'PHUIMainMenuView' => 'AphrontView',
|
|
||||||
'PHUIObjectBoxView' => 'AphrontTagView',
|
'PHUIObjectBoxView' => 'AphrontTagView',
|
||||||
'PHUIObjectItemListExample' => 'PhabricatorUIExample',
|
'PHUIObjectItemListExample' => 'PhabricatorUIExample',
|
||||||
'PHUIObjectItemListView' => 'AphrontTagView',
|
'PHUIObjectItemListView' => 'AphrontTagView',
|
||||||
|
@ -6679,7 +6670,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorAccessLogConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
'PhabricatorAccessLogConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||||
'PhabricatorAccessibilitySetting' => 'PhabricatorSelectSetting',
|
'PhabricatorAccessibilitySetting' => 'PhabricatorSelectSetting',
|
||||||
'PhabricatorAccountSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
|
'PhabricatorAccountSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
|
||||||
'PhabricatorActionListView' => 'AphrontView',
|
'PhabricatorActionListView' => 'AphrontTagView',
|
||||||
'PhabricatorActionView' => 'AphrontView',
|
'PhabricatorActionView' => 'AphrontView',
|
||||||
'PhabricatorActivitySettingsPanel' => 'PhabricatorSettingsPanel',
|
'PhabricatorActivitySettingsPanel' => 'PhabricatorSettingsPanel',
|
||||||
'PhabricatorAdministratorsPolicyRule' => 'PhabricatorPolicyRule',
|
'PhabricatorAdministratorsPolicyRule' => 'PhabricatorPolicyRule',
|
||||||
|
@ -7613,7 +7604,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorEditEngineConfigurationTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
'PhabricatorEditEngineConfigurationTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
||||||
'PhabricatorEditEngineConfigurationViewController' => 'PhabricatorEditEngineController',
|
'PhabricatorEditEngineConfigurationViewController' => 'PhabricatorEditEngineController',
|
||||||
'PhabricatorEditEngineController' => 'PhabricatorApplicationTransactionController',
|
'PhabricatorEditEngineController' => 'PhabricatorApplicationTransactionController',
|
||||||
'PhabricatorEditEngineCreateQuickActions' => 'PhabricatorQuickActions',
|
|
||||||
'PhabricatorEditEngineDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorEditEngineDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
'PhabricatorEditEngineExtension' => 'Phobject',
|
'PhabricatorEditEngineExtension' => 'Phobject',
|
||||||
'PhabricatorEditEngineExtensionModule' => 'PhabricatorConfigModule',
|
'PhabricatorEditEngineExtensionModule' => 'PhabricatorConfigModule',
|
||||||
|
@ -7696,7 +7686,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFavoritesConstants' => 'PhabricatorFavoritesController',
|
'PhabricatorFavoritesConstants' => 'PhabricatorFavoritesController',
|
||||||
'PhabricatorFavoritesController' => 'PhabricatorController',
|
'PhabricatorFavoritesController' => 'PhabricatorController',
|
||||||
'PhabricatorFavoritesMainController' => 'PhabricatorFavoritesController',
|
'PhabricatorFavoritesMainController' => 'PhabricatorFavoritesController',
|
||||||
'PhabricatorFavoritesManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
|
||||||
'PhabricatorFavoritesMenuItemController' => 'PhabricatorFavoritesController',
|
'PhabricatorFavoritesMenuItemController' => 'PhabricatorFavoritesController',
|
||||||
'PhabricatorFavoritesProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
'PhabricatorFavoritesProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
||||||
'PhabricatorFaxContentSource' => 'PhabricatorContentSource',
|
'PhabricatorFaxContentSource' => 'PhabricatorContentSource',
|
||||||
|
@ -7887,7 +7876,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorHelpDocumentationController' => 'PhabricatorHelpController',
|
'PhabricatorHelpDocumentationController' => 'PhabricatorHelpController',
|
||||||
'PhabricatorHelpEditorProtocolController' => 'PhabricatorHelpController',
|
'PhabricatorHelpEditorProtocolController' => 'PhabricatorHelpController',
|
||||||
'PhabricatorHelpKeyboardShortcutController' => 'PhabricatorHelpController',
|
'PhabricatorHelpKeyboardShortcutController' => 'PhabricatorHelpController',
|
||||||
'PhabricatorHelpMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
|
|
||||||
'PhabricatorHeraldApplication' => 'PhabricatorApplication',
|
'PhabricatorHeraldApplication' => 'PhabricatorApplication',
|
||||||
'PhabricatorHeraldContentSource' => 'PhabricatorContentSource',
|
'PhabricatorHeraldContentSource' => 'PhabricatorContentSource',
|
||||||
'PhabricatorHighSecurityRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
|
'PhabricatorHighSecurityRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
|
||||||
|
@ -7900,7 +7888,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorHomeMenuItemController' => 'PhabricatorHomeController',
|
'PhabricatorHomeMenuItemController' => 'PhabricatorHomeController',
|
||||||
'PhabricatorHomePreferencesSettingsPanel' => 'PhabricatorSettingsPanel',
|
'PhabricatorHomePreferencesSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||||
'PhabricatorHomeProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
'PhabricatorHomeProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
||||||
'PhabricatorHomeQuickCreateController' => 'PhabricatorHomeController',
|
|
||||||
'PhabricatorHovercardEngineExtension' => 'Phobject',
|
'PhabricatorHovercardEngineExtension' => 'Phobject',
|
||||||
'PhabricatorHovercardEngineExtensionModule' => 'PhabricatorConfigModule',
|
'PhabricatorHovercardEngineExtensionModule' => 'PhabricatorConfigModule',
|
||||||
'PhabricatorIDsSearchEngineExtension' => 'PhabricatorSearchEngineExtension',
|
'PhabricatorIDsSearchEngineExtension' => 'PhabricatorSearchEngineExtension',
|
||||||
|
@ -8450,7 +8437,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorPeopleLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorPeopleLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
'PhabricatorPeopleLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
||||||
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
|
|
||||||
'PhabricatorPeopleManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
'PhabricatorPeopleManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorPeopleNewController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleNewController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleNoOwnerDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorPeopleNoOwnerDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
|
@ -8749,7 +8735,6 @@ phutil_register_library_map(array(
|
||||||
'Phobject',
|
'Phobject',
|
||||||
'Iterator',
|
'Iterator',
|
||||||
),
|
),
|
||||||
'PhabricatorQuickActions' => 'Phobject',
|
|
||||||
'PhabricatorRateLimitRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
|
'PhabricatorRateLimitRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
|
||||||
'PhabricatorRecaptchaConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
'PhabricatorRecaptchaConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||||
'PhabricatorRecipientHasBadgeEdgeType' => 'PhabricatorEdgeType',
|
'PhabricatorRecipientHasBadgeEdgeType' => 'PhabricatorEdgeType',
|
||||||
|
@ -9016,7 +9001,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorSettingsListController' => 'PhabricatorController',
|
'PhabricatorSettingsListController' => 'PhabricatorController',
|
||||||
'PhabricatorSettingsLogsPanelGroup' => 'PhabricatorSettingsPanelGroup',
|
'PhabricatorSettingsLogsPanelGroup' => 'PhabricatorSettingsPanelGroup',
|
||||||
'PhabricatorSettingsMainController' => 'PhabricatorController',
|
'PhabricatorSettingsMainController' => 'PhabricatorController',
|
||||||
'PhabricatorSettingsMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
|
|
||||||
'PhabricatorSettingsPanel' => 'Phobject',
|
'PhabricatorSettingsPanel' => 'Phobject',
|
||||||
'PhabricatorSettingsPanelGroup' => 'Phobject',
|
'PhabricatorSettingsPanelGroup' => 'Phobject',
|
||||||
'PhabricatorSettingsTimezoneController' => 'PhabricatorController',
|
'PhabricatorSettingsTimezoneController' => 'PhabricatorController',
|
||||||
|
|
|
@ -13,9 +13,7 @@ final class PhabricatorAuthMainMenuBarExtension
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
if ($viewer->isLoggedIn()) {
|
if ($viewer->isLoggedIn()) {
|
||||||
return array(
|
return array();
|
||||||
$this->buildLogoutMenu(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
|
@ -30,25 +28,6 @@ final class PhabricatorAuthMainMenuBarExtension
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
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() {
|
private function buildLoginMenu() {
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
|
|
||||||
|
@ -58,16 +37,12 @@ final class PhabricatorAuthMainMenuBarExtension
|
||||||
$uri->setQueryParam('next', $path);
|
$uri->setQueryParam('next', $path);
|
||||||
}
|
}
|
||||||
|
|
||||||
$bar_item = id(new PHUIListItemView())
|
return id(new PHUIButtonView())
|
||||||
->addClass('core-menu-item')
|
->setTag('a')
|
||||||
->setName(pht('Log In'))
|
->setText(pht('Log In'))
|
||||||
->setIcon('fa-sign-in')
|
|
||||||
->setHref($uri)
|
->setHref($uri)
|
||||||
->setAural(pht('Log In'));
|
->setNoCSS(true)
|
||||||
|
->addClass('phabricator-core-login-button');
|
||||||
return id(new PHUIMainMenuView())
|
|
||||||
->setOrder(900)
|
|
||||||
->setMenuBarItem($bar_item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,36 +172,24 @@ abstract class PhabricatorApplication
|
||||||
|
|
||||||
$articles = $this->getHelpDocumentationArticles($viewer);
|
$articles = $this->getHelpDocumentationArticles($viewer);
|
||||||
if ($articles) {
|
if ($articles) {
|
||||||
$items[] = id(new PHUIListItemView())
|
|
||||||
->setType(PHUIListItemView::TYPE_LABEL)
|
|
||||||
->setName(pht('%s Documentation', $this->getName()));
|
|
||||||
foreach ($articles as $article) {
|
foreach ($articles as $article) {
|
||||||
$item = id(new PHUIListItemView())
|
$item = id(new PhabricatorActionView())
|
||||||
->setName($article['name'])
|
->setName($article['name'])
|
||||||
->setIcon('fa-book')
|
->setHref($article['href']);
|
||||||
->setHref($article['href'])
|
|
||||||
->setOpenInNewWindow(true);
|
|
||||||
|
|
||||||
$items[] = $item;
|
$items[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$command_specs = $this->getMailCommandObjects();
|
$command_specs = $this->getMailCommandObjects();
|
||||||
if ($command_specs) {
|
if ($command_specs) {
|
||||||
$items[] = id(new PHUIListItemView())
|
|
||||||
->setType(PHUIListItemView::TYPE_LABEL)
|
|
||||||
->setName(pht('Email Help'));
|
|
||||||
foreach ($command_specs as $key => $spec) {
|
foreach ($command_specs as $key => $spec) {
|
||||||
$object = $spec['object'];
|
$object = $spec['object'];
|
||||||
|
|
||||||
$class = get_class($this);
|
$class = get_class($this);
|
||||||
$href = '/applications/mailcommands/'.$class.'/'.$key.'/';
|
$href = '/applications/mailcommands/'.$class.'/'.$key.'/';
|
||||||
|
$item = id(new PhabricatorActionView())
|
||||||
$item = id(new PHUIListItemView())
|
|
||||||
->setName($spec['name'])
|
->setName($spec['name'])
|
||||||
->setIcon('fa-envelope-o')
|
->setHref($href);
|
||||||
->setHref($href)
|
|
||||||
->setOpenInNewWindow(true);
|
|
||||||
$items[] = $item;
|
$items[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ final class CelerityDefaultPostprocessor
|
||||||
"Arial, sans-serif",
|
"Arial, sans-serif",
|
||||||
|
|
||||||
// Drop Shadow
|
// 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)',
|
'whitetextshadow' => '0 1px 0 rgba(255, 255, 255, 1)',
|
||||||
|
|
||||||
// Anchors
|
// Anchors
|
||||||
|
|
|
@ -15,7 +15,7 @@ final class PhabricatorFavoritesApplication extends PhabricatorApplication {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getIcon() {
|
public function getIcon() {
|
||||||
return 'fa-star-o';
|
return 'fa-star';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRoutes() {
|
public function getRoutes() {
|
||||||
|
@ -32,8 +32,64 @@ final class PhabricatorFavoritesApplication extends PhabricatorApplication {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getApplicationOrder() {
|
public function buildMainMenuExtraNodes(
|
||||||
return 9;
|
PhabricatorUser $viewer,
|
||||||
|
PhabricatorController $controller = null) {
|
||||||
|
|
||||||
|
return id(new PHUIButtonView())
|
||||||
|
->setTag('a')
|
||||||
|
->setHref('#')
|
||||||
|
->setIcon('fa-star')
|
||||||
|
->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)
|
||||||
|
->setMenuType(PhabricatorProfileMenuEngine::MENU_COMBINED)
|
||||||
|
->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 (!strlen($item->getName())) {
|
||||||
|
$type = PhabricatorActionView::TYPE_DIVIDER;
|
||||||
|
}
|
||||||
|
$action = id(new PhabricatorActionView())
|
||||||
|
->setName($item->getName())
|
||||||
|
->setHref($item->getHref())
|
||||||
|
->setType($type);
|
||||||
|
$view->addAction($action);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build out edit interface
|
||||||
|
if ($viewer->isLoggedIn()) {
|
||||||
|
$view->addAction(
|
||||||
|
id(new PhabricatorActionView())
|
||||||
|
->setType(PhabricatorActionView::TYPE_DIVIDER));
|
||||||
|
$view->addAction(
|
||||||
|
id(new PhabricatorActionView())
|
||||||
|
->setName(pht('Edit Favorites'))
|
||||||
|
->setHref('/favorites/'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,6 @@ final class PhabricatorFavoritesConstants
|
||||||
const ITEM_TASK = 'favorites.task';
|
const ITEM_TASK = 'favorites.task';
|
||||||
const ITEM_PROJECT = 'favorites.project';
|
const ITEM_PROJECT = 'favorites.project';
|
||||||
const ITEM_REPOSITORY = 'favorites.repository';
|
const ITEM_REPOSITORY = 'favorites.repository';
|
||||||
const ITEM_MANAGE = 'favorites.manage';
|
const ITEM_DIVIDER = 'favorites.divider';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,11 @@ final class PhabricatorFavoritesMainController
|
||||||
public function handleRequest(AphrontRequest $request) {
|
public function handleRequest(AphrontRequest $request) {
|
||||||
$viewer = $request->getViewer();
|
$viewer = $request->getViewer();
|
||||||
|
|
||||||
|
if (!$viewer->getIsAdmin()) {
|
||||||
|
$uri = '/favorites/personal/item/configure/';
|
||||||
|
return id(new AphrontRedirectResponse())->setURI($uri);
|
||||||
|
}
|
||||||
|
|
||||||
$menu = id(new PHUIObjectItemListView())
|
$menu = id(new PHUIObjectItemListView())
|
||||||
->setUser($viewer);
|
->setUser($viewer);
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,10 @@ final class PhabricatorFavoritesMenuItemController
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
$type = $request->getURIData('type');
|
$type = $request->getURIData('type');
|
||||||
$custom_phid = null;
|
$custom_phid = null;
|
||||||
|
$menu = PhabricatorProfileMenuEngine::MENU_GLOBAL;
|
||||||
if ($type == 'personal') {
|
if ($type == 'personal') {
|
||||||
$custom_phid = $viewer->getPHID();
|
$custom_phid = $viewer->getPHID();
|
||||||
|
$menu = PhabricatorProfileMenuEngine::MENU_PERSONAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
$application = 'PhabricatorFavoritesApplication';
|
$application = 'PhabricatorFavoritesApplication';
|
||||||
|
@ -21,7 +23,9 @@ final class PhabricatorFavoritesMenuItemController
|
||||||
$engine = id(new PhabricatorFavoritesProfileMenuEngine())
|
$engine = id(new PhabricatorFavoritesProfileMenuEngine())
|
||||||
->setProfileObject($favorites)
|
->setProfileObject($favorites)
|
||||||
->setCustomPHID($custom_phid)
|
->setCustomPHID($custom_phid)
|
||||||
->setController($this);
|
->setController($this)
|
||||||
|
->setMenuType($menu)
|
||||||
|
->setShowNavigation(false);
|
||||||
|
|
||||||
return $engine->buildResponse();
|
return $engine->buildResponse();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ final class PhabricatorFavoritesProfileMenuEngine
|
||||||
protected function getBuiltinProfileItems($object) {
|
protected function getBuiltinProfileItems($object) {
|
||||||
$items = array();
|
$items = array();
|
||||||
$custom_phid = $this->getCustomPHID();
|
$custom_phid = $this->getCustomPHID();
|
||||||
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
// Built-in Global Defaults
|
// Built-in Global Defaults
|
||||||
if (!$custom_phid) {
|
if (!$custom_phid) {
|
||||||
|
@ -58,12 +59,6 @@ final class PhabricatorFavoritesProfileMenuEngine
|
||||||
->setMenuItemProperties($create_repository);
|
->setMenuItemProperties($create_repository);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Single Manage Item, switches URI based on admin/user
|
|
||||||
$items[] = $this->newItem()
|
|
||||||
->setBuiltinKey(PhabricatorFavoritesConstants::ITEM_MANAGE)
|
|
||||||
->setMenuItemKey(
|
|
||||||
PhabricatorFavoritesManageProfileMenuItem::MENUITEMKEY);
|
|
||||||
|
|
||||||
return $items;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class PhabricatorFavoritesManageProfileMenuItem
|
|
||||||
extends PhabricatorProfileMenuItem {
|
|
||||||
|
|
||||||
const MENUITEMKEY = 'favorites.manage';
|
|
||||||
|
|
||||||
public function getMenuItemTypeName() {
|
|
||||||
return pht('Manage Favorites');
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getDefaultName() {
|
|
||||||
return pht('Manage');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function canHideMenuItem(
|
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function canMakeDefault(
|
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDisplayName(
|
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
|
||||||
$name = $config->getMenuItemProperty('name');
|
|
||||||
|
|
||||||
if (strlen($name)) {
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getDefaultName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function buildEditEngineFields(
|
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
|
||||||
return array(
|
|
||||||
id(new PhabricatorTextEditField())
|
|
||||||
->setKey('name')
|
|
||||||
->setLabel(pht('Name'))
|
|
||||||
->setPlaceholder($this->getDefaultName())
|
|
||||||
->setValue($config->getMenuItemProperty('name')),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function newNavigationMenuItems(
|
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
|
||||||
$viewer = $this->getViewer();
|
|
||||||
|
|
||||||
if ($viewer->isLoggedIn()) {
|
|
||||||
$admin = $viewer->getIsAdmin();
|
|
||||||
$name = $this->getDisplayName($config);
|
|
||||||
$icon = 'fa-pencil';
|
|
||||||
$href = '/favorites/personal/item/configure/';
|
|
||||||
if ($admin) {
|
|
||||||
$href = '/favorites/';
|
|
||||||
}
|
|
||||||
|
|
||||||
$item = $this->newItem()
|
|
||||||
->setHref($href)
|
|
||||||
->setName($name)
|
|
||||||
->setIcon($icon);
|
|
||||||
}
|
|
||||||
|
|
||||||
return array(
|
|
||||||
$item,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -31,7 +31,6 @@ final class PhabricatorHelpDocumentationController
|
||||||
$list->addItem(
|
$list->addItem(
|
||||||
id(new PHUIObjectItemView())
|
id(new PHUIObjectItemView())
|
||||||
->setHeader($item->getName())
|
->setHeader($item->getName())
|
||||||
->setWorkflow($item->getWorkflow())
|
|
||||||
->setHref($item->getHref()));
|
->setHref($item->getHref()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class PhabricatorHelpMainMenuBarExtension
|
|
||||||
extends PhabricatorMainMenuBarExtension {
|
|
||||||
|
|
||||||
const MAINMENUBARKEY = 'help';
|
|
||||||
|
|
||||||
public function isExtensionEnabledForViewer(PhabricatorUser $viewer) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function buildMainMenus() {
|
|
||||||
$application = $this->getApplication();
|
|
||||||
if (!$application) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$viewer = $this->getViewer();
|
|
||||||
$help_links = $application->getHelpMenuItems($viewer);
|
|
||||||
if (!$help_links) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$help_id = celerity_generate_unique_node_id();
|
|
||||||
|
|
||||||
Javelin::initBehavior(
|
|
||||||
'aphlict-dropdown',
|
|
||||||
array(
|
|
||||||
'bubbleID' => $help_id,
|
|
||||||
'dropdownID' => 'phabricator-help-menu',
|
|
||||||
'local' => true,
|
|
||||||
'desktop' => true,
|
|
||||||
'right' => true,
|
|
||||||
));
|
|
||||||
|
|
||||||
$help_name = pht('%s Help', $application->getName());
|
|
||||||
|
|
||||||
$help_item = id(new PHUIListItemView())
|
|
||||||
->setIcon('fa-book')
|
|
||||||
->addClass('core-menu-item')
|
|
||||||
->setID($help_id)
|
|
||||||
->setName($help_name)
|
|
||||||
->setHref('/help/documentation/'.get_class($application).'/')
|
|
||||||
->setAural($help_name);
|
|
||||||
|
|
||||||
$view = new PHUIListView();
|
|
||||||
foreach ($help_links as $help_link) {
|
|
||||||
$view->addMenuItem($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,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
final class PhabricatorHomeApplication extends PhabricatorApplication {
|
final class PhabricatorHomeApplication extends PhabricatorApplication {
|
||||||
|
|
||||||
private $quickItems;
|
private $application;
|
||||||
|
|
||||||
const DASHBOARD_DEFAULT = 'dashboard:default';
|
const DASHBOARD_DEFAULT = 'dashboard:default';
|
||||||
|
|
||||||
public function getBaseURI() {
|
public function getBaseURI() {
|
||||||
|
@ -26,7 +27,6 @@ final class PhabricatorHomeApplication extends PhabricatorApplication {
|
||||||
'/' => 'PhabricatorHomeMainController',
|
'/' => 'PhabricatorHomeMainController',
|
||||||
'/(?P<only>home)/' => 'PhabricatorHomeMainController',
|
'/(?P<only>home)/' => 'PhabricatorHomeMainController',
|
||||||
'/home/' => array(
|
'/home/' => array(
|
||||||
'create/' => 'PhabricatorHomeQuickCreateController',
|
|
||||||
'menu/' => array(
|
'menu/' => array(
|
||||||
'' => 'PhabricatorHomeMenuController',
|
'' => 'PhabricatorHomeMenuController',
|
||||||
'(?P<type>global|personal)/item/' => $this->getProfileMenuRouting(
|
'(?P<type>global|personal)/item/' => $this->getProfileMenuRouting(
|
||||||
|
@ -44,73 +44,87 @@ final class PhabricatorHomeApplication extends PhabricatorApplication {
|
||||||
return 9;
|
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(
|
public function buildMainMenuExtraNodes(
|
||||||
PhabricatorUser $viewer,
|
PhabricatorUser $viewer,
|
||||||
PhabricatorController $controller = null) {
|
PhabricatorController $controller = null) {
|
||||||
|
|
||||||
$items = $this->getQuickActionItems($viewer);
|
if (!$viewer->isLoggedIn()) {
|
||||||
|
return;
|
||||||
$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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$image = $viewer->getProfileImageURI();
|
||||||
|
if ($controller) {
|
||||||
|
$this->application = $controller->getCurrentApplication();
|
||||||
|
}
|
||||||
|
|
||||||
|
$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));
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderUserDropdown(PhabricatorUser $viewer) {
|
||||||
|
|
||||||
|
$view = id(new PhabricatorActionListView())
|
||||||
|
->setViewer($viewer);
|
||||||
|
|
||||||
|
// User Menu
|
||||||
|
$view->addAction(
|
||||||
|
id(new PhabricatorActionView())
|
||||||
|
->setName($viewer->getRealName())
|
||||||
|
->setLabel(true));
|
||||||
|
|
||||||
|
$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().'/'));
|
||||||
|
|
||||||
|
$view->addAction(
|
||||||
|
id(new PhabricatorActionView())
|
||||||
|
->setName(pht('Manage'))
|
||||||
|
->setHref('/people/manage/'.$viewer->getID().'/'));
|
||||||
|
|
||||||
|
// Help Menus
|
||||||
|
if ($this->application) {
|
||||||
|
$application = $this->application;
|
||||||
|
$help_links = $application->getHelpMenuItems($viewer);
|
||||||
|
if ($help_links) {
|
||||||
|
$view->addAction(
|
||||||
|
id(new PhabricatorActionView())
|
||||||
|
->setType(PhabricatorActionView::TYPE_DIVIDER));
|
||||||
|
|
||||||
|
foreach ($help_links as $link) {
|
||||||
|
$link->setOpenInNewWindow(true);
|
||||||
|
$view->addAction($link);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getQuickActionItems(PhabricatorUser $viewer) {
|
|
||||||
if ($this->quickItems === null) {
|
|
||||||
$items = PhabricatorQuickActions::loadMenuItemsForUser($viewer);
|
|
||||||
$this->quickItems = $items;
|
|
||||||
}
|
|
||||||
return $this->quickItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class PhabricatorHomeQuickCreateController
|
|
||||||
extends PhabricatorHomeController {
|
|
||||||
|
|
||||||
public function handleRequest(AphrontRequest $request) {
|
|
||||||
$viewer = $this->getViewer();
|
|
||||||
|
|
||||||
$items = PhabricatorQuickActions::loadMenuItemsForUser($viewer);
|
|
||||||
|
|
||||||
$list = id(new PHUIObjectItemListView())
|
|
||||||
->setUser($viewer);
|
|
||||||
|
|
||||||
foreach ($items as $item) {
|
|
||||||
$list->addItem(
|
|
||||||
id(new PHUIObjectItemView())
|
|
||||||
->setHeader($item->getName())
|
|
||||||
->setWorkflow($item->getWorkflow())
|
|
||||||
->setHref($item->getHref()));
|
|
||||||
}
|
|
||||||
|
|
||||||
$title = pht('Quick Create');
|
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
|
||||||
$crumbs->addTextCrumb(pht('Quick Create'));
|
|
||||||
$crumbs->setBorder(true);
|
|
||||||
|
|
||||||
$box = id(new PHUIObjectBoxView())
|
|
||||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
|
|
||||||
->setObjectList($list);
|
|
||||||
|
|
||||||
$header = id(new PHUIHeaderView())
|
|
||||||
->setHeader($title)
|
|
||||||
->setHeaderIcon('fa-plus-square');
|
|
||||||
|
|
||||||
$view = id(new PHUITwoColumnView())
|
|
||||||
->setHeader($header)
|
|
||||||
->setFooter($box);
|
|
||||||
|
|
||||||
return $this->newPage()
|
|
||||||
->setTitle($title)
|
|
||||||
->setCrumbs($crumbs)
|
|
||||||
->appendChild($view);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -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,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -11,7 +11,7 @@ final class PhabricatorPhameApplication extends PhabricatorApplication {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getIcon() {
|
public function getIcon() {
|
||||||
return 'fa-star';
|
return 'fa-feed';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getShortDescription() {
|
public function getShortDescription() {
|
||||||
|
|
|
@ -6,9 +6,15 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
private $profileObject;
|
private $profileObject;
|
||||||
private $customPHID;
|
private $customPHID;
|
||||||
private $items;
|
private $items;
|
||||||
|
private $menuType;
|
||||||
private $defaultItem;
|
private $defaultItem;
|
||||||
private $controller;
|
private $controller;
|
||||||
private $navigation;
|
private $navigation;
|
||||||
|
private $showNavigation = true;
|
||||||
|
|
||||||
|
const MENU_GLOBAL = 'global';
|
||||||
|
const MENU_PERSONAL = 'personal';
|
||||||
|
const MENU_COMBINED = 'menu';
|
||||||
|
|
||||||
public function setViewer(PhabricatorUser $viewer) {
|
public function setViewer(PhabricatorUser $viewer) {
|
||||||
$this->viewer = $viewer;
|
$this->viewer = $viewer;
|
||||||
|
@ -57,6 +63,24 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
return $this->defaultItem;
|
return $this->defaultItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setMenuType($type) {
|
||||||
|
$this->menuType = $type;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getMenuType() {
|
||||||
|
return $this->menuType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setShowNavigation($show) {
|
||||||
|
$this->showNavigation = $show;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getShowNavigation() {
|
||||||
|
return $this->showNavigation;
|
||||||
|
}
|
||||||
|
|
||||||
abstract protected function getItemURI($path);
|
abstract protected function getItemURI($path);
|
||||||
|
|
||||||
abstract protected function isMenuEngineConfigurable();
|
abstract protected function isMenuEngineConfigurable();
|
||||||
|
@ -130,6 +154,14 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
$navigation->selectFilter('item.configure');
|
$navigation->selectFilter('item.configure');
|
||||||
|
|
||||||
$crumbs = $controller->buildApplicationCrumbsForEditEngine();
|
$crumbs = $controller->buildApplicationCrumbsForEditEngine();
|
||||||
|
switch ($this->getMenuType()) {
|
||||||
|
case 'personal':
|
||||||
|
$crumbs->addTextCrumb(pht('Personal'));
|
||||||
|
break;
|
||||||
|
case 'global':
|
||||||
|
$crumbs->addTextCrumb(pht('Global'));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($item_action) {
|
switch ($item_action) {
|
||||||
case 'view':
|
case 'view':
|
||||||
|
@ -177,11 +209,15 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
|
|
||||||
$crumbs->setBorder(true);
|
$crumbs->setBorder(true);
|
||||||
|
|
||||||
return $controller->newPage()
|
$page = $controller->newPage()
|
||||||
->setTitle(pht('Configure Menu'))
|
->setTitle(pht('Configure Menu'))
|
||||||
->setNavigation($navigation)
|
|
||||||
->setCrumbs($crumbs)
|
->setCrumbs($crumbs)
|
||||||
->appendChild($content);
|
->appendChild($content);
|
||||||
|
|
||||||
|
if ($this->getShowNavigation()) {
|
||||||
|
$page->setNavigation($navigation);
|
||||||
|
}
|
||||||
|
return $page;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildNavigation() {
|
public function buildNavigation() {
|
||||||
|
@ -258,17 +294,20 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
|
|
||||||
$items = $this->loadBuiltinProfileItems();
|
$items = $this->loadBuiltinProfileItems();
|
||||||
|
$menu = $this->getMenuType();
|
||||||
|
|
||||||
if ($this->getCustomPHID()) {
|
if ($this->getCustomPHID()) {
|
||||||
$stored_items = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
$stored_items = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withProfilePHIDs(array($object->getPHID()))
|
->withProfilePHIDs(array($object->getPHID()))
|
||||||
->withCustomPHIDs(array($this->getCustomPHID()))
|
->withCustomPHIDs(array($this->getCustomPHID()))
|
||||||
|
->setMenuType($menu)
|
||||||
->execute();
|
->execute();
|
||||||
} else {
|
} else {
|
||||||
$stored_items = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
$stored_items = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withProfilePHIDs(array($object->getPHID()))
|
->withProfilePHIDs(array($object->getPHID()))
|
||||||
|
->setMenuType($menu)
|
||||||
->execute();
|
->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,7 +540,8 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
));
|
));
|
||||||
|
|
||||||
$list = id(new PHUIObjectItemListView())
|
$list = id(new PHUIObjectItemListView())
|
||||||
->setID($list_id);
|
->setID($list_id)
|
||||||
|
->setNoDataString(pht('This menu currently has no items.'));
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$id = $item->getID();
|
$id = $item->getID();
|
||||||
|
@ -638,11 +678,11 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->setName($doc_name));
|
->setName($doc_name));
|
||||||
|
|
||||||
$header = id(new PHUIHeaderView())
|
$header = id(new PHUIHeaderView())
|
||||||
->setHeader(pht('Profile Menu Items'))
|
->setHeader(pht('Menu Items'))
|
||||||
->setHeaderIcon('fa-list');
|
->setHeaderIcon('fa-list');
|
||||||
|
|
||||||
$box = id(new PHUIObjectBoxView())
|
$box = id(new PHUIObjectBoxView())
|
||||||
->setHeaderText(pht('Navigation'))
|
->setHeaderText(pht('Current Menu Items'))
|
||||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
|
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
|
||||||
->setObjectList($list);
|
->setObjectList($list);
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ final class PhabricatorProfileMenuItemConfigurationQuery
|
||||||
private $phids;
|
private $phids;
|
||||||
private $profilePHIDs;
|
private $profilePHIDs;
|
||||||
private $customPHIDs;
|
private $customPHIDs;
|
||||||
|
private $menuType;
|
||||||
|
|
||||||
public function withIDs(array $ids) {
|
public function withIDs(array $ids) {
|
||||||
$this->ids = $ids;
|
$this->ids = $ids;
|
||||||
|
@ -28,6 +29,11 @@ final class PhabricatorProfileMenuItemConfigurationQuery
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setMenuType($type) {
|
||||||
|
$this->menuType = $type;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function newResultObject() {
|
public function newResultObject() {
|
||||||
return new PhabricatorProfileMenuItemConfiguration();
|
return new PhabricatorProfileMenuItemConfiguration();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class PhabricatorEditEngineCreateQuickActions
|
|
||||||
extends PhabricatorQuickActions {
|
|
||||||
|
|
||||||
const QUICKACTIONSKEY = 'editengine.create';
|
|
||||||
|
|
||||||
public function getQuickMenuItems() {
|
|
||||||
$viewer = $this->getViewer();
|
|
||||||
|
|
||||||
$engines = PhabricatorEditEngine::getAllEditEngines();
|
|
||||||
|
|
||||||
foreach ($engines as $key => $engine) {
|
|
||||||
if (!$engine->hasQuickCreateActions()) {
|
|
||||||
unset($engines[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$engines) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$engine_keys = array_keys($engines);
|
|
||||||
|
|
||||||
$configs = id(new PhabricatorEditEngineConfigurationQuery())
|
|
||||||
->setViewer($viewer)
|
|
||||||
->withEngineKeys($engine_keys)
|
|
||||||
->withIsDefault(true)
|
|
||||||
->withIsDisabled(false)
|
|
||||||
->execute();
|
|
||||||
$configs = msort($configs, 'getCreateSortKey');
|
|
||||||
$configs = mgroup($configs, 'getEngineKey');
|
|
||||||
|
|
||||||
$items = array();
|
|
||||||
foreach ($engines as $key => $engine) {
|
|
||||||
$engine_configs = idx($configs, $key, array());
|
|
||||||
$engine_items = $engine->newQuickCreateActions($engine_configs);
|
|
||||||
foreach ($engine_items as $engine_item) {
|
|
||||||
$items[] = $engine_item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $items;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
abstract class PhabricatorQuickActions extends Phobject {
|
|
||||||
|
|
||||||
private $viewer;
|
|
||||||
|
|
||||||
public function setViewer(PhabricatorUser $viewer) {
|
|
||||||
$this->viewer = $viewer;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getViewer() {
|
|
||||||
return $this->viewer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isEnabled() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract public function getQuickMenuItems();
|
|
||||||
|
|
||||||
final public function getQuickActionsKey() {
|
|
||||||
return $this->getPhobjectClassConstant('QUICKACTIONSKEY');
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getAllQuickActions() {
|
|
||||||
return id(new PhutilClassMapQuery())
|
|
||||||
->setAncestorClass(__CLASS__)
|
|
||||||
->setUniqueMethod('getQuickActionsKey')
|
|
||||||
->execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function loadMenuItemsForUser(PhabricatorUser $viewer) {
|
|
||||||
$actions = self::getAllQuickActions();
|
|
||||||
|
|
||||||
foreach ($actions as $key => $action) {
|
|
||||||
$action->setViewer($viewer);
|
|
||||||
if (!$action->isEnabled()) {
|
|
||||||
unset($actions[$key]);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$items = array();
|
|
||||||
foreach ($actions as $key => $action) {
|
|
||||||
foreach ($action->getQuickMenuItems() as $item) {
|
|
||||||
$items[] = $item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $items;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorActionListView extends AphrontView {
|
final class PhabricatorActionListView extends AphrontTagView {
|
||||||
|
|
||||||
private $actions = array();
|
private $actions = array();
|
||||||
private $object;
|
private $object;
|
||||||
|
@ -25,7 +25,19 @@ final class PhabricatorActionListView extends AphrontView {
|
||||||
return $this->id;
|
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();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
$event = new PhabricatorEvent(
|
$event = new PhabricatorEvent(
|
||||||
|
@ -55,13 +67,7 @@ final class PhabricatorActionListView extends AphrontView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return phutil_tag(
|
return $items;
|
||||||
'ul',
|
|
||||||
array(
|
|
||||||
'class' => 'phabricator-action-list-view',
|
|
||||||
'id' => $this->id,
|
|
||||||
),
|
|
||||||
$items);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDropdownMenuMetadata() {
|
public function getDropdownMenuMetadata() {
|
||||||
|
|
|
@ -18,6 +18,13 @@ final class PhabricatorActionView extends AphrontView {
|
||||||
private $hidden;
|
private $hidden;
|
||||||
private $depth;
|
private $depth;
|
||||||
private $id;
|
private $id;
|
||||||
|
private $order;
|
||||||
|
private $color;
|
||||||
|
private $type;
|
||||||
|
|
||||||
|
const TYPE_DIVIDER = 'type-divider';
|
||||||
|
const TYPE_LABEL = 'label';
|
||||||
|
const RED = 'action-item-red';
|
||||||
|
|
||||||
public function setSelected($selected) {
|
public function setSelected($selected) {
|
||||||
$this->selected = $selected;
|
$this->selected = $selected;
|
||||||
|
@ -51,6 +58,11 @@ final class PhabricatorActionView extends AphrontView {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setColor($color) {
|
||||||
|
$this->color = $color;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function addSigil($sigil) {
|
public function addSigil($sigil) {
|
||||||
$this->sigils[] = $sigil;
|
$this->sigils[] = $sigil;
|
||||||
return $this;
|
return $this;
|
||||||
|
@ -114,6 +126,24 @@ final class PhabricatorActionView extends AphrontView {
|
||||||
return $this->id;
|
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) {
|
public function setSubmenu(array $submenu) {
|
||||||
$this->submenu = $submenu;
|
$this->submenu = $submenu;
|
||||||
|
|
||||||
|
@ -280,6 +310,18 @@ final class PhabricatorActionView extends AphrontView {
|
||||||
$classes[] = 'phabricator-action-view-href';
|
$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();
|
$style = array();
|
||||||
|
|
||||||
if ($this->hidden) {
|
if ($this->hidden) {
|
||||||
|
|
|
@ -769,7 +769,7 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView
|
||||||
|
|
||||||
$rendered_dropdowns = array();
|
$rendered_dropdowns = array();
|
||||||
$applications = array(
|
$applications = array(
|
||||||
'PhabricatorHelpApplication',
|
'PhabricatorHomeApplication',
|
||||||
);
|
);
|
||||||
foreach ($applications as $application_class) {
|
foreach ($applications as $application_class) {
|
||||||
if (!PhabricatorApplication::isClassInstalledForViewer(
|
if (!PhabricatorApplication::isClassInstalledForViewer(
|
||||||
|
@ -778,10 +778,9 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$application = PhabricatorApplication::getByClass($application_class);
|
$application = PhabricatorApplication::getByClass($application_class);
|
||||||
$rendered_dropdowns[$application_class] =
|
$menu = $application->buildMainMenuExtraNodes($viewer, $controller);
|
||||||
$application->buildMainMenuExtraNodes(
|
// TODO: Doesn't work with Quicksand active.
|
||||||
$viewer,
|
$rendered_dropdowns[$application_class] = hsprintf('%s', $menu);
|
||||||
$controller);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$hisec_warning_config = $this->getHighSecurityWarningConfig();
|
$hisec_warning_config = $this->getHighSecurityWarningConfig();
|
||||||
|
|
|
@ -99,8 +99,10 @@ final class PhabricatorMainMenuSearchView extends AphrontView {
|
||||||
'id' => $button_id,
|
'id' => $button_id,
|
||||||
'class' => 'phui-icon-view phui-font-fa fa-search',
|
'class' => 'phui-icon-view phui-font-fa fa-search',
|
||||||
),
|
),
|
||||||
$search_text),
|
array(
|
||||||
$selector,
|
$selector,
|
||||||
|
$search_text,
|
||||||
|
)),
|
||||||
$primary_input,
|
$primary_input,
|
||||||
$target,
|
$target,
|
||||||
)));
|
)));
|
||||||
|
@ -118,7 +120,7 @@ final class PhabricatorMainMenuSearchView extends AphrontView {
|
||||||
|
|
||||||
$items[] = array(
|
$items[] = array(
|
||||||
'icon' => 'fa-globe',
|
'icon' => 'fa-globe',
|
||||||
'name' => pht('Search All Documents'),
|
'name' => pht('All Documents'),
|
||||||
'value' => 'all',
|
'value' => 'all',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -134,7 +136,7 @@ final class PhabricatorMainMenuSearchView extends AphrontView {
|
||||||
|
|
||||||
$items[] = array(
|
$items[] = array(
|
||||||
'icon' => $application_icon,
|
'icon' => $application_icon,
|
||||||
'name' => pht('Search Current Application'),
|
'name' => pht('Current Application'),
|
||||||
'value' => PhabricatorSearchController::SCOPE_CURRENT_APPLICATION,
|
'value' => PhabricatorSearchController::SCOPE_CURRENT_APPLICATION,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -52,10 +52,10 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
$alerts[] = $menu;
|
$alerts[] = $menu;
|
||||||
}
|
}
|
||||||
$menu_bar = array_merge($menu_bar, $dropdowns);
|
$menu_bar = array_merge($menu_bar, $dropdowns);
|
||||||
$app_button = $this->renderApplicationMenuButton($header_id);
|
$app_button = $this->renderApplicationMenuButton();
|
||||||
$search_button = $this->renderSearchMenuButton($header_id);
|
$search_button = $this->renderSearchMenuButton($header_id);
|
||||||
} else {
|
} else {
|
||||||
$app_button = $this->renderApplicationMenuButton($header_id);
|
$app_button = $this->renderApplicationMenuButton();
|
||||||
if (PhabricatorEnv::getEnvConfig('policy.allow-public')) {
|
if (PhabricatorEnv::getEnvConfig('policy.allow-public')) {
|
||||||
$search_button = $this->renderSearchMenuButton($header_id);
|
$search_button = $this->renderSearchMenuButton($header_id);
|
||||||
}
|
}
|
||||||
|
@ -82,27 +82,17 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
phutil_implode_html(' ', $aural));
|
phutil_implode_html(' ', $aural));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Build out Header Menus
|
||||||
$applications = PhabricatorApplication::getAllInstalledApplications();
|
$applications = PhabricatorApplication::getAllInstalledApplications();
|
||||||
|
|
||||||
$menus = array();
|
$menus = array();
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
foreach ($applications as $application) {
|
foreach ($applications as $application) {
|
||||||
$app_actions = $application->buildMainMenuItems(
|
|
||||||
$viewer,
|
|
||||||
$controller);
|
|
||||||
$app_extra = $application->buildMainMenuExtraNodes(
|
$app_extra = $application->buildMainMenuExtraNodes(
|
||||||
$viewer,
|
$viewer,
|
||||||
$controller);
|
$controller);
|
||||||
|
|
||||||
foreach ($app_actions as $action) {
|
|
||||||
$menus[] = id(new PHUIMainMenuView())
|
|
||||||
->setMenuBarItem($action)
|
|
||||||
->setOrder($action->getOrder());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($app_extra !== null) {
|
if ($app_extra !== null) {
|
||||||
$menus[] = id(new PHUIMainMenuView())
|
$menus[] = $app_extra;
|
||||||
->appendChild($app_extra);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,26 +116,17 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Builds out "login" button
|
||||||
foreach ($extensions as $extension) {
|
foreach ($extensions as $extension) {
|
||||||
foreach ($extension->buildMainMenus() as $menu) {
|
foreach ($extension->buildMainMenus() as $menu) {
|
||||||
$menus[] = $menu;
|
$menus[] = $menu;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$menus = msort($menus, 'getOrder');
|
|
||||||
$bar_items = array();
|
|
||||||
foreach ($menus as $menu) {
|
foreach ($menus as $menu) {
|
||||||
$menu_bar[] = $menu;
|
$menu_bar[] = $menu;
|
||||||
|
|
||||||
$item = $menu->getMenuBarItem();
|
|
||||||
if ($item === null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$bar_items[] = $item;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$application_menu = $this->renderApplicationMenu($bar_items);
|
|
||||||
$classes = array();
|
$classes = array();
|
||||||
$classes[] = 'phabricator-main-menu';
|
$classes[] = 'phabricator-main-menu';
|
||||||
$classes[] = 'phabricator-main-menu-background';
|
$classes[] = 'phabricator-main-menu-background';
|
||||||
|
@ -162,7 +143,6 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
$this->renderPhabricatorLogo(),
|
$this->renderPhabricatorLogo(),
|
||||||
$alerts,
|
$alerts,
|
||||||
$aural,
|
$aural,
|
||||||
$application_menu,
|
|
||||||
$search_menu,
|
$search_menu,
|
||||||
$menu_bar,
|
$menu_bar,
|
||||||
));
|
));
|
||||||
|
@ -218,53 +198,37 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function renderApplicationMenuButton($header_id) {
|
public function renderApplicationMenuButton() {
|
||||||
$button_id = celerity_generate_unique_node_id();
|
$dropdown = $this->renderApplicationMenu();
|
||||||
return javelin_tag(
|
if (!$dropdown) {
|
||||||
'a',
|
return null;
|
||||||
array(
|
}
|
||||||
'class' => 'phabricator-main-menu-expand-button '.
|
|
||||||
'phabricator-expand-search-menu',
|
return id(new PHUIButtonView())
|
||||||
'sigil' => 'jx-toggle-class',
|
->setTag('a')
|
||||||
'meta' => array(
|
->setHref('#')
|
||||||
'map' => array(
|
->setIcon('fa-bars')
|
||||||
$header_id => 'phabricator-application-menu-expanded',
|
->addClass('phabricator-core-user-menu')
|
||||||
$button_id => 'menu-icon-selected',
|
->addClass('phabricator-core-user-mobile-menu')
|
||||||
),
|
->setNoCSS(true)
|
||||||
),
|
->setDropdownMenu($dropdown);
|
||||||
),
|
|
||||||
phutil_tag(
|
|
||||||
'span',
|
|
||||||
array(
|
|
||||||
'class' => 'phabricator-menu-button-icon phui-icon-view '.
|
|
||||||
'phui-font-fa fa-bars',
|
|
||||||
'id' => $button_id,
|
|
||||||
),
|
|
||||||
''));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function renderApplicationMenu(array $bar_items) {
|
private function renderApplicationMenu() {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
$view = $this->getApplicationMenu();
|
$view = $this->getApplicationMenu();
|
||||||
|
if ($view) {
|
||||||
if (!$view) {
|
$items = $view->getItems();
|
||||||
$view = new PHUIListView();
|
$view = id(new PhabricatorActionListView())
|
||||||
}
|
->setViewer($viewer);
|
||||||
|
foreach ($items as $item) {
|
||||||
$view->addClass('phabricator-dark-menu');
|
$view->addAction(
|
||||||
$view->addClass('phabricator-application-menu');
|
id(new PhabricatorActionView())
|
||||||
|
->setName($item->getName())
|
||||||
if ($bar_items) {
|
->setHref($item->getHref())
|
||||||
$view->addMenuItem(
|
->setType($item->getType()));
|
||||||
id(new PHUIListItemView())
|
|
||||||
->setType(PHUIListItemView::TYPE_LABEL)
|
|
||||||
->setName(pht('Actions')));
|
|
||||||
foreach ($bar_items as $bar_item) {
|
|
||||||
$view->addMenuItem($bar_item);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,7 +260,6 @@ final class PhabricatorMainMenuView extends AphrontView {
|
||||||
private function renderPhabricatorSearchMenu() {
|
private function renderPhabricatorSearchMenu() {
|
||||||
|
|
||||||
$view = new PHUIListView();
|
$view = new PHUIListView();
|
||||||
$view->addClass('phabricator-dark-menu');
|
|
||||||
$view->addClass('phabricator-search-menu');
|
$view->addClass('phabricator-search-menu');
|
||||||
|
|
||||||
$search = $this->renderSearch();
|
$search = $this->renderSearch();
|
||||||
|
|
|
@ -27,6 +27,7 @@ final class PHUIButtonView extends AphrontTagView {
|
||||||
private $disabled;
|
private $disabled;
|
||||||
private $name;
|
private $name;
|
||||||
private $tooltip;
|
private $tooltip;
|
||||||
|
private $noCSS;
|
||||||
|
|
||||||
public function setName($name) {
|
public function setName($name) {
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
|
@ -87,6 +88,11 @@ final class PHUIButtonView extends AphrontTagView {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setNoCSS($no_css) {
|
||||||
|
$this->noCSS = $no_css;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function setIcon($icon, $first = true) {
|
public function setIcon($icon, $first = true) {
|
||||||
if (!($icon instanceof PHUIIconView)) {
|
if (!($icon instanceof PHUIIconView)) {
|
||||||
$icon = id(new PHUIIconView())
|
$icon = id(new PHUIIconView())
|
||||||
|
@ -164,6 +170,10 @@ final class PHUIButtonView extends AphrontTagView {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->noCSS) {
|
||||||
|
$classes = array();
|
||||||
|
}
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'class' => $classes,
|
'class' => $classes,
|
||||||
'href' => $this->href,
|
'href' => $this->href,
|
||||||
|
|
|
@ -202,7 +202,7 @@ final class PHUIListItemView extends AphrontTagView {
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'class' => $classes,
|
'class' => implode(' ', $classes),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ final class PHUIListItemView extends AphrontTagView {
|
||||||
$name = phutil_tag(
|
$name = phutil_tag(
|
||||||
'span',
|
'span',
|
||||||
array(
|
array(
|
||||||
'class' => implode(' ', $classes),
|
'class' => $classes,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
$this->name,
|
$this->name,
|
||||||
|
|
|
@ -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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -606,8 +606,8 @@ final class PHUITimelineEventView extends AphrontView {
|
||||||
|
|
||||||
$items[] = id(new PhabricatorActionView())
|
$items[] = id(new PhabricatorActionView())
|
||||||
->setIcon('fa-quote-left')
|
->setIcon('fa-quote-left')
|
||||||
|
->setName(pht('Quote Comment'))
|
||||||
->setHref('#')
|
->setHref('#')
|
||||||
->setName(pht('Quote'))
|
|
||||||
->addSigil('transaction-quote')
|
->addSigil('transaction-quote')
|
||||||
->setMetadata(
|
->setMetadata(
|
||||||
array(
|
array(
|
||||||
|
@ -619,9 +619,9 @@ final class PHUITimelineEventView extends AphrontView {
|
||||||
|
|
||||||
if ($this->getIsNormalComment()) {
|
if ($this->getIsNormalComment()) {
|
||||||
$items[] = id(new PhabricatorActionView())
|
$items[] = id(new PhabricatorActionView())
|
||||||
->setIcon('fa-cutlery')
|
->setIcon('fa-code')
|
||||||
->setHref('/transactions/raw/'.$xaction_phid.'/')
|
->setHref('/transactions/raw/'.$xaction_phid.'/')
|
||||||
->setName(pht('View Raw'))
|
->setName(pht('View Remarkup'))
|
||||||
->addSigil('transaction-raw')
|
->addSigil('transaction-raw')
|
||||||
->setMetadata(
|
->setMetadata(
|
||||||
array(
|
array(
|
||||||
|
@ -648,9 +648,13 @@ final class PHUITimelineEventView extends AphrontView {
|
||||||
|
|
||||||
if ($this->getIsRemovable()) {
|
if ($this->getIsRemovable()) {
|
||||||
$items[] = id(new PhabricatorActionView())
|
$items[] = id(new PhabricatorActionView())
|
||||||
->setIcon('fa-times')
|
->setType(PhabricatorActionView::TYPE_DIVIDER);
|
||||||
|
|
||||||
|
$items[] = id(new PhabricatorActionView())
|
||||||
|
->setIcon('fa-trash-o')
|
||||||
->setHref('/transactions/remove/'.$xaction_phid.'/')
|
->setHref('/transactions/remove/'.$xaction_phid.'/')
|
||||||
->setName(pht('Remove Comment'))
|
->setName(pht('Remove Comment'))
|
||||||
|
->setColor(PhabricatorActionView::RED)
|
||||||
->addSigil('transaction-remove')
|
->addSigil('transaction-remove')
|
||||||
->setMetadata(
|
->setMetadata(
|
||||||
array(
|
array(
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.device-phone .phabricator-wordmark {
|
.device-phone .phabricator-wordmark {
|
||||||
max-width: 112px; /* iPhone 5 limitation */
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-wordmark {
|
.phabricator-wordmark {
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.device-desktop .phabricator-main-menu-search {
|
.device-desktop .phabricator-main-menu-search {
|
||||||
width: 220px;
|
width: 298px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-main-menu-search {
|
.device .phabricator-main-menu-search {
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
padding: 8px 0;
|
padding: 8px 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
margin: 0 8px;
|
margin: 0 8px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-main-menu-search-target {
|
.phabricator-main-menu-search-target {
|
||||||
|
@ -150,6 +150,7 @@
|
||||||
|
|
||||||
.device .phabricator-main-menu-search-container {
|
.device .phabricator-main-menu-search-container {
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
|
margin: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-main-menu .phabricator-main-menu-search input {
|
.phabricator-main-menu .phabricator-main-menu-search input {
|
||||||
|
@ -169,9 +170,9 @@
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
padding: 3px 30px 3px 6px;
|
padding: 3px 28px 3px 52px;
|
||||||
float: left;
|
float: left;
|
||||||
width: 205px;
|
width: 280px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-main-menu-search input {
|
.device .phabricator-main-menu-search input {
|
||||||
|
@ -196,7 +197,7 @@
|
||||||
.phabricator-main-menu-search button {
|
.phabricator-main-menu-search button {
|
||||||
color: {$bluetext};
|
color: {$bluetext};
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: {$greybackground};
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
@ -204,7 +205,7 @@
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
width: 28px;
|
width: 28px;
|
||||||
top: 10px;
|
top: 9px;
|
||||||
right: -6px;
|
right: -6px;
|
||||||
margin: 0 8px 0 0;
|
margin: 0 8px 0 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@ -214,20 +215,22 @@
|
||||||
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown {
|
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: auto;
|
right: auto;
|
||||||
left: -45px;
|
left: 12px;
|
||||||
width: 40px;
|
width: 46px;
|
||||||
background: transparent;
|
background: {$greybackground};
|
||||||
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device-desktop .phabricator-main-menu-search
|
.device-desktop .phabricator-main-menu-search
|
||||||
button.phabricator-main-menu-search-dropdown {
|
button.phabricator-main-menu-search-dropdown {
|
||||||
height: 28px;
|
height: 24px;
|
||||||
top: 8px;
|
top: 10px;
|
||||||
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device-desktop .phabricator-main-menu-search
|
.device-desktop .phabricator-main-menu-search
|
||||||
button.phabricator-main-menu-search-dropdown:hover .phui-icon-view {
|
button.phabricator-main-menu-search-dropdown:hover .phui-icon-view {
|
||||||
color: #fff;
|
color: {$sky};
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-main-menu-search
|
.device .phabricator-main-menu-search
|
||||||
|
@ -236,34 +239,24 @@
|
||||||
background: {$greybackground};
|
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";
|
content: "\f107";
|
||||||
font-family: FontAwesome;
|
font-family: FontAwesome;
|
||||||
color: {$hoverwhite};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown
|
.phabricator-main-menu-search button.phabricator-main-menu-search-dropdown
|
||||||
.phui-icon-view {
|
.phui-icon-view {
|
||||||
color: {$hoverwhite};
|
color: {$bluetext};
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
top: 6px;
|
top: 4px;
|
||||||
left: 8px;
|
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 {
|
.phabricator-main-menu-search-dropdown .caret {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 15px;
|
right: 18px;
|
||||||
top: 5px;
|
top: 2px;
|
||||||
border: none;
|
border: none;
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
}
|
}
|
||||||
|
@ -284,7 +277,7 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
border: 1px solid {$blueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin-left: 40px;
|
margin-left: 40px;
|
||||||
}
|
}
|
||||||
|
@ -339,12 +332,6 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
font-size: {$normalfontsize};
|
font-size: {$normalfontsize};
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-dark-menu .phui-list-item-type-link
|
|
||||||
.phabricator-main-search-typeahead-result {
|
|
||||||
line-height: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* - Alert ---------------------------------------------------------------------
|
/* - Alert ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -442,36 +429,6 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* - Dark Menu -----------------------------------------------------------------
|
|
||||||
|
|
||||||
Styles shared between the "core" menu (left button on mobile) and
|
|
||||||
"application" menu (right button on mobile). These styles give the menu a
|
|
||||||
white-on-black appearance.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
.device .phabricator-dark-menu,
|
|
||||||
.device .phabricator-dark-menu a.phui-list-item-href {
|
|
||||||
color: {$darkbluetext};
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
}
|
|
||||||
|
|
||||||
.device .phabricator-dark-menu .phui-list-item-type-label {
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: {$normalfontsize};
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 6px 0 6px 12px;
|
|
||||||
display: block;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.device .phabricator-dark-menu .phui-list-item-href {
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 4px 0 4px 20px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* - Core Menu -----------------------------------------------------------------
|
/* - Core Menu -----------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -479,10 +436,6 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.phabricator-core-menu-profile-image {
|
|
||||||
background-size: 28px 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.device .phabricator-search-menu {
|
.device .phabricator-search-menu {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -500,12 +453,7 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
border: 1px solid {$lightblueborder};
|
border: 1px solid {$lightblueborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
}
|
background: {$page.background};
|
||||||
|
|
||||||
.device .phabricator-dark-menu .phui-list-item-type-link {
|
|
||||||
min-height: 24px;
|
|
||||||
line-height: 20px;
|
|
||||||
background: #fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.device-desktop .phabricator-application-menu {
|
.device-desktop .phabricator-application-menu {
|
||||||
|
@ -531,12 +479,6 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-dark-menu.phabricator-application-menu
|
|
||||||
.phui-list-item-icon.phui-font-fa,
|
|
||||||
.device .phabricator-dark-menu .phabricator-core-menu-icon {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.device .phabricator-application-menu .phui-list-item-icon.phui-font-fa {
|
.device .phabricator-application-menu .phui-list-item-icon.phui-font-fa {
|
||||||
margin: 4px 12px 4px 0;
|
margin: 4px 12px 4px 0;
|
||||||
}
|
}
|
||||||
|
@ -606,29 +548,85 @@ button.phabricator-main-menu-search-dropdown .caret:before {
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* - User Menu -----------------------------------------------------------------
|
||||||
|
|
||||||
/* - Application Menu ----------------------------------------------------------
|
Styles unique to the user profile menu.
|
||||||
|
|
||||||
Styles unique to the application menu (right button on mobile).
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.device .phabricator-application-menu-expanded .phabricator-application-menu {
|
.phabricator-core-user-menu {
|
||||||
display: block;
|
float: right;
|
||||||
position: absolute;
|
display: inline-block;
|
||||||
border: 1px solid {$blueborder};
|
padding: 9px 24px 0 8px;
|
||||||
border-radius: 3px;
|
height: 35px;
|
||||||
box-shadow: {$dropshadow};
|
position: relative;
|
||||||
top: 42px;
|
|
||||||
right: 8px;
|
|
||||||
width: 240px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-application-menu,
|
.phabricator-core-user-mobile-menu {
|
||||||
.device-desktop .phabricator-dark-menu .phui-list-item-type-label {
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phabricator-core-user-menu span.phui-icon-view.phuihead-small {
|
||||||
|
height: 24px;
|
||||||
|
width: 24px;
|
||||||
|
background-size: 24px;
|
||||||
|
border-radius: 3px;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 1px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-core-user-menu .phui-icon-view {
|
||||||
|
color: {$hoverwhite};
|
||||||
|
font-size: 18px;
|
||||||
|
margin: 4px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-core-user-menu .caret {
|
||||||
|
position: absolute;
|
||||||
|
right: 17px;
|
||||||
|
top: 13px;
|
||||||
|
border: none;
|
||||||
|
margin: 1px;
|
||||||
|
color: {$hoverwhite};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-core-login-button {
|
||||||
|
float: right;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px 12px;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 8px 6px 4px;
|
||||||
|
border: 1px solid {$hoverwhite};
|
||||||
|
color: {$hoverwhite};
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-desktop .phabricator-core-login-button:hover {
|
||||||
|
border: 1px solid #fff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-desktop .phabricator-core-user-menu:hover .caret,
|
||||||
|
.device-desktop .phabricator-core-user-menu:hover .phui-icon-view {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phabricator-core-user-menu .caret {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phabricator-core-user-mobile-menu {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phabricator-core-user-menu {
|
||||||
|
padding: 9px 8px 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phabricator-core-user-menu .phui-icon-view {
|
||||||
|
font-size: 20px;
|
||||||
|
margin: 3px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* - Print ---------------------------------------------------------------------
|
/* - Print ---------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
border: 1px solid {$blueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
/* When an action list view appears inside a dropdown menu, don't hide it
|
/* When an action list view appears inside a dropdown menu, don't hide it
|
||||||
by default. */
|
by default. */
|
||||||
display: block;
|
display: block;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.device .phabricator-action-list-view.phabricator-action-list-toggle,
|
.device .phabricator-action-list-view.phabricator-action-list-toggle,
|
||||||
|
@ -18,7 +19,7 @@
|
||||||
.phabricator-action-list-view.phabricator-action-list-toggle {
|
.phabricator-action-list-view.phabricator-action-list-toggle {
|
||||||
display: block;
|
display: block;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
border: 1px solid {$lightblueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 16px;
|
right: 16px;
|
||||||
|
@ -58,18 +59,49 @@
|
||||||
|
|
||||||
.phabricator-action-view button.phabricator-action-view-item,
|
.phabricator-action-view button.phabricator-action-view-item,
|
||||||
.phabricator-action-view-item {
|
.phabricator-action-view-item {
|
||||||
padding: 4px 4px 4px 28px;
|
padding: 4px 8px 6px 8px;
|
||||||
display: block;
|
display: block;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: {$darkbluetext};
|
color: {$darkbluetext};
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-action-view-label .phabricator-action-view-item {
|
.action-has-icon button.phabricator-action-view-item,
|
||||||
font-size: {$normalfontsize};
|
.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,
|
||||||
|
.phabricator-action-view-type-label .phabricator-action-view-item {
|
||||||
|
font-size: {$smallerfontsize};
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: {$bluetext};
|
color: {$bluetext};
|
||||||
padding: 4px 8px 6px 8px;
|
padding: 4px 8px 6px 8px;
|
||||||
display: block;
|
display: block;
|
||||||
|
text-transform: uppercase;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,37 +119,23 @@
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 8px;
|
top: 7px;
|
||||||
left: 8px;
|
left: 8px;
|
||||||
text-align: center;
|
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 .phabricator-action-view-item,
|
||||||
.phabricator-action-view-disabled button.phabricator-action-view-item {
|
.phabricator-action-view-disabled button.phabricator-action-view-item {
|
||||||
color: {$lightgreytext};
|
color: {$lightgreytext};
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-action-view-selected {
|
.phabricator-action-view-selected {
|
||||||
border-left: 3px solid {$sky};
|
background: {$sh-violetbackground};
|
||||||
background: {$hoverblue};
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-action-view-selected .phabricator-action-view-item {
|
.phabricator-action-view-selected:hover a {
|
||||||
padding-left: 25px;
|
text-decoration: none;
|
||||||
}
|
|
||||||
|
|
||||||
.phabricator-action-view-selected .phabricator-action-view-icon {
|
|
||||||
left: 6px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.phabricator-action-view button[disabled] {
|
.phabricator-action-view button[disabled] {
|
||||||
|
@ -135,3 +153,8 @@
|
||||||
background-color: {$greybackground};
|
background-color: {$greybackground};
|
||||||
color: {$lightgreytext};
|
color: {$lightgreytext};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phabricator-action-view-type-divider {
|
||||||
|
margin-top: 8px;
|
||||||
|
border-top: 1px solid {$thinblueborder};
|
||||||
|
}
|
||||||
|
|
|
@ -198,12 +198,12 @@ button.link:hover {
|
||||||
|
|
||||||
.phuix-dropdown-menu {
|
.phuix-dropdown-menu {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 240px;
|
width: 200px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
padding: 5px 0;
|
padding: 12px;
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
border: 1px solid {$blueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@ a.button.phui-document-toc {
|
||||||
|
|
||||||
.phui-document-view-pro .phui-document-toc-list {
|
.phui-document-view-pro .phui-document-toc-list {
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border: 1px solid {$blueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
width: 200px;
|
width: 200px;
|
||||||
|
|
|
@ -460,8 +460,7 @@ body .phui-form-view .remarkup-assist-textarea.aphront-textarea-drag-and-drop {
|
||||||
|
|
||||||
.fancy-datepicker-core {
|
.fancy-datepicker-core {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 1px solid {$lightblueborder};
|
border: 1px solid {$lightgreyborder};
|
||||||
border-bottom: 1px solid {$blueborder};
|
|
||||||
box-shadow: {$dropshadow};
|
box-shadow: {$dropshadow};
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,24 +159,6 @@
|
||||||
padding: 0 12px;
|
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-section-header,
|
||||||
.phui-two-column-view .phui-property-list-text-content {
|
.phui-two-column-view .phui-property-list-text-content {
|
||||||
margin: 0 16px;
|
margin: 0 16px;
|
||||||
|
@ -199,6 +181,10 @@
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phui-two-column-view .phui-oi-empty .phui-info-view {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.phui-two-column-view .phui-side-column .phui-oi-empty
|
.phui-two-column-view .phui-side-column .phui-oi-empty
|
||||||
.phui-info-view {
|
.phui-info-view {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
|
@ -77,15 +77,24 @@ JX.install('PHUIXActionView', {
|
||||||
|
|
||||||
getNode: function() {
|
getNode: function() {
|
||||||
if (!this._node) {
|
if (!this._node) {
|
||||||
var attr = {
|
var classes = ['phabricator-action-view'];
|
||||||
className: 'phabricator-action-view'
|
|
||||||
};
|
if (this._href || this._handler) {
|
||||||
|
classes.push('phabricator-action-view-href');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._icon) {
|
||||||
|
classes.push('action-has-icon');
|
||||||
|
}
|
||||||
|
|
||||||
var content = [
|
var content = [
|
||||||
this._buildIconNode(),
|
this._buildIconNode(),
|
||||||
this._buildNameNode()
|
this._buildNameNode()
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var attr = {
|
||||||
|
className: classes.join(' ')
|
||||||
|
};
|
||||||
this._node = JX.$N('li', attr, content);
|
this._node = JX.$N('li', attr, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue