mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-03 19:31:02 +01:00
Remove Differential "objectives" UI
Summary: Ref T12733. Completely removes the objectives UI. Test Plan: - Grepped for `objective`, etc. - Browsed revisions, no JS errors / broken stuff. - (If I missed anything, it's likely to turn up in followup changes.) Reviewers: chad Reviewed By: chad Maniphest Tasks: T12733 Differential Revision: https://secure.phabricator.com/D18043
This commit is contained in:
parent
d161a07781
commit
d20221dc7d
12 changed files with 44 additions and 556 deletions
|
@ -9,11 +9,11 @@ return array(
|
||||||
'names' => array(
|
'names' => array(
|
||||||
'conpherence.pkg.css' => 'ff161f2d',
|
'conpherence.pkg.css' => 'ff161f2d',
|
||||||
'conpherence.pkg.js' => 'b5b51108',
|
'conpherence.pkg.js' => 'b5b51108',
|
||||||
'core.pkg.css' => '525ecd1c',
|
'core.pkg.css' => 'bb7f0446',
|
||||||
'core.pkg.js' => '1475bd91',
|
'core.pkg.js' => '1475bd91',
|
||||||
'darkconsole.pkg.js' => '1f9a31bc',
|
'darkconsole.pkg.js' => '1f9a31bc',
|
||||||
'differential.pkg.css' => '7d4cfa59',
|
'differential.pkg.css' => '9ebe4f44',
|
||||||
'differential.pkg.js' => '1d120743',
|
'differential.pkg.js' => '78b8497f',
|
||||||
'diffusion.pkg.css' => 'b93d9b8c',
|
'diffusion.pkg.css' => 'b93d9b8c',
|
||||||
'diffusion.pkg.js' => '84c8f8fd',
|
'diffusion.pkg.js' => '84c8f8fd',
|
||||||
'favicon.ico' => '30672e08',
|
'favicon.ico' => '30672e08',
|
||||||
|
@ -64,7 +64,7 @@ return array(
|
||||||
'rsrc/css/application/dashboard/dashboard.css' => 'fe5b1869',
|
'rsrc/css/application/dashboard/dashboard.css' => 'fe5b1869',
|
||||||
'rsrc/css/application/diff/inline-comment-summary.css' => '51efda3a',
|
'rsrc/css/application/diff/inline-comment-summary.css' => '51efda3a',
|
||||||
'rsrc/css/application/differential/add-comment.css' => 'c47f8c40',
|
'rsrc/css/application/differential/add-comment.css' => 'c47f8c40',
|
||||||
'rsrc/css/application/differential/changeset-view.css' => 'acfd58f6',
|
'rsrc/css/application/differential/changeset-view.css' => '2971e2a2',
|
||||||
'rsrc/css/application/differential/core.css' => '5b7b8ff4',
|
'rsrc/css/application/differential/core.css' => '5b7b8ff4',
|
||||||
'rsrc/css/application/differential/phui-inline-comment.css' => 'ffd1a542',
|
'rsrc/css/application/differential/phui-inline-comment.css' => 'ffd1a542',
|
||||||
'rsrc/css/application/differential/revision-comment.css' => '14b8565a',
|
'rsrc/css/application/differential/revision-comment.css' => '14b8565a',
|
||||||
|
@ -117,7 +117,7 @@ return array(
|
||||||
'rsrc/css/core/core.css' => '9f4cb463',
|
'rsrc/css/core/core.css' => '9f4cb463',
|
||||||
'rsrc/css/core/remarkup.css' => 'd1a5e11e',
|
'rsrc/css/core/remarkup.css' => 'd1a5e11e',
|
||||||
'rsrc/css/core/syntax.css' => 'cae95e89',
|
'rsrc/css/core/syntax.css' => 'cae95e89',
|
||||||
'rsrc/css/core/z-index.css' => '998f3ce1',
|
'rsrc/css/core/z-index.css' => '9d8f7c4b',
|
||||||
'rsrc/css/diviner/diviner-shared.css' => '896f1d43',
|
'rsrc/css/diviner/diviner-shared.css' => '896f1d43',
|
||||||
'rsrc/css/font/font-awesome.css' => 'e838e088',
|
'rsrc/css/font/font-awesome.css' => 'e838e088',
|
||||||
'rsrc/css/font/font-lato.css' => 'c7ccd872',
|
'rsrc/css/font/font-lato.css' => 'c7ccd872',
|
||||||
|
@ -391,15 +391,13 @@ return array(
|
||||||
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '408bf173',
|
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '408bf173',
|
||||||
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
|
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
|
||||||
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
|
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
|
||||||
'rsrc/js/application/diff/DiffChangeset.js' => 'cf4e2140',
|
'rsrc/js/application/diff/DiffChangeset.js' => '3359ad02',
|
||||||
'rsrc/js/application/diff/DiffChangesetList.js' => '7a184082',
|
'rsrc/js/application/diff/DiffChangesetList.js' => '675f1ca3',
|
||||||
'rsrc/js/application/diff/DiffInline.js' => '19582231',
|
'rsrc/js/application/diff/DiffInline.js' => '45d37835',
|
||||||
'rsrc/js/application/diff/ScrollObjective.js' => '7e8877e7',
|
|
||||||
'rsrc/js/application/diff/ScrollObjectiveList.js' => '6120e99a',
|
|
||||||
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
|
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
|
||||||
'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07',
|
'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07',
|
||||||
'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1',
|
'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1',
|
||||||
'rsrc/js/application/differential/behavior-populate.js' => '1de8bf63',
|
'rsrc/js/application/differential/behavior-populate.js' => '5e41c819',
|
||||||
'rsrc/js/application/differential/behavior-user-select.js' => 'a8d8459d',
|
'rsrc/js/application/differential/behavior-user-select.js' => 'a8d8459d',
|
||||||
'rsrc/js/application/diffusion/DiffusionLocateFileSource.js' => 'c93358e3',
|
'rsrc/js/application/diffusion/DiffusionLocateFileSource.js' => 'c93358e3',
|
||||||
'rsrc/js/application/diffusion/behavior-audit-preview.js' => 'd835b03a',
|
'rsrc/js/application/diffusion/behavior-audit-preview.js' => 'd835b03a',
|
||||||
|
@ -568,7 +566,7 @@ return array(
|
||||||
'conpherence-thread-manager' => '4d863052',
|
'conpherence-thread-manager' => '4d863052',
|
||||||
'conpherence-transaction-css' => '85129c68',
|
'conpherence-transaction-css' => '85129c68',
|
||||||
'd3' => 'a11a5ff2',
|
'd3' => 'a11a5ff2',
|
||||||
'differential-changeset-view-css' => 'acfd58f6',
|
'differential-changeset-view-css' => '2971e2a2',
|
||||||
'differential-core-view-css' => '5b7b8ff4',
|
'differential-core-view-css' => '5b7b8ff4',
|
||||||
'differential-revision-add-comment-css' => 'c47f8c40',
|
'differential-revision-add-comment-css' => 'c47f8c40',
|
||||||
'differential-revision-comment-css' => '14b8565a',
|
'differential-revision-comment-css' => '14b8565a',
|
||||||
|
@ -622,7 +620,7 @@ return array(
|
||||||
'javelin-behavior-diff-preview-link' => '051c7832',
|
'javelin-behavior-diff-preview-link' => '051c7832',
|
||||||
'javelin-behavior-differential-diff-radios' => 'e1ff79b1',
|
'javelin-behavior-differential-diff-radios' => 'e1ff79b1',
|
||||||
'javelin-behavior-differential-feedback-preview' => '51c5ad07',
|
'javelin-behavior-differential-feedback-preview' => '51c5ad07',
|
||||||
'javelin-behavior-differential-populate' => '1de8bf63',
|
'javelin-behavior-differential-populate' => '5e41c819',
|
||||||
'javelin-behavior-differential-user-select' => 'a8d8459d',
|
'javelin-behavior-differential-user-select' => 'a8d8459d',
|
||||||
'javelin-behavior-diffusion-browse-file' => '054a0f0b',
|
'javelin-behavior-diffusion-browse-file' => '054a0f0b',
|
||||||
'javelin-behavior-diffusion-commit-branches' => 'bdaf4d04',
|
'javelin-behavior-diffusion-commit-branches' => 'bdaf4d04',
|
||||||
|
@ -779,9 +777,9 @@ return array(
|
||||||
'phabricator-darklog' => 'c8e1ffe3',
|
'phabricator-darklog' => 'c8e1ffe3',
|
||||||
'phabricator-darkmessage' => 'c48cccdd',
|
'phabricator-darkmessage' => 'c48cccdd',
|
||||||
'phabricator-dashboard-css' => 'fe5b1869',
|
'phabricator-dashboard-css' => 'fe5b1869',
|
||||||
'phabricator-diff-changeset' => 'cf4e2140',
|
'phabricator-diff-changeset' => '3359ad02',
|
||||||
'phabricator-diff-changeset-list' => '7a184082',
|
'phabricator-diff-changeset-list' => '675f1ca3',
|
||||||
'phabricator-diff-inline' => '19582231',
|
'phabricator-diff-inline' => '45d37835',
|
||||||
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
|
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
|
||||||
'phabricator-draggable-list' => 'bea6e7f4',
|
'phabricator-draggable-list' => 'bea6e7f4',
|
||||||
'phabricator-fatal-config-template-css' => '8f18fa41',
|
'phabricator-fatal-config-template-css' => '8f18fa41',
|
||||||
|
@ -801,8 +799,6 @@ return array(
|
||||||
'phabricator-phtize' => 'd254d646',
|
'phabricator-phtize' => 'd254d646',
|
||||||
'phabricator-prefab' => 'c5af80a2',
|
'phabricator-prefab' => 'c5af80a2',
|
||||||
'phabricator-remarkup-css' => 'd1a5e11e',
|
'phabricator-remarkup-css' => 'd1a5e11e',
|
||||||
'phabricator-scroll-objective' => '7e8877e7',
|
|
||||||
'phabricator-scroll-objective-list' => '6120e99a',
|
|
||||||
'phabricator-search-results-css' => '8f8e08ed',
|
'phabricator-search-results-css' => '8f8e08ed',
|
||||||
'phabricator-shaped-request' => '7cbe244b',
|
'phabricator-shaped-request' => '7cbe244b',
|
||||||
'phabricator-slowvote-css' => 'a94b7230',
|
'phabricator-slowvote-css' => 'a94b7230',
|
||||||
|
@ -822,7 +818,7 @@ return array(
|
||||||
'phabricator-uiexample-reactor-select' => 'a155550f',
|
'phabricator-uiexample-reactor-select' => 'a155550f',
|
||||||
'phabricator-uiexample-reactor-sendclass' => '1def2711',
|
'phabricator-uiexample-reactor-sendclass' => '1def2711',
|
||||||
'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee',
|
'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee',
|
||||||
'phabricator-zindex-css' => '998f3ce1',
|
'phabricator-zindex-css' => '9d8f7c4b',
|
||||||
'phame-css' => 'b3a0b3a3',
|
'phame-css' => 'b3a0b3a3',
|
||||||
'pholio-css' => 'ca89d380',
|
'pholio-css' => 'ca89d380',
|
||||||
'pholio-edit-css' => '07676f51',
|
'pholio-edit-css' => '07676f51',
|
||||||
|
@ -1002,9 +998,6 @@ return array(
|
||||||
'185bbd53' => array(
|
'185bbd53' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
),
|
),
|
||||||
19582231 => array(
|
|
||||||
'javelin-dom',
|
|
||||||
),
|
|
||||||
'19f9369b' => array(
|
'19f9369b' => array(
|
||||||
'phui-oi-list-view-css',
|
'phui-oi-list-view-css',
|
||||||
),
|
),
|
||||||
|
@ -1026,14 +1019,6 @@ return array(
|
||||||
'javelin-request',
|
'javelin-request',
|
||||||
'javelin-uri',
|
'javelin-uri',
|
||||||
),
|
),
|
||||||
'1de8bf63' => array(
|
|
||||||
'javelin-behavior',
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'phabricator-tooltip',
|
|
||||||
'phabricator-diff-changeset-list',
|
|
||||||
'phabricator-diff-changeset',
|
|
||||||
),
|
|
||||||
'1def2711' => array(
|
'1def2711' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1087,6 +1072,9 @@ return array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
),
|
),
|
||||||
|
'2971e2a2' => array(
|
||||||
|
'phui-inline-comment-view-css',
|
||||||
|
),
|
||||||
'2ae077e1' => array(
|
'2ae077e1' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1122,6 +1110,17 @@ return array(
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
'javelin-workflow',
|
'javelin-workflow',
|
||||||
),
|
),
|
||||||
|
'3359ad02' => array(
|
||||||
|
'javelin-dom',
|
||||||
|
'javelin-util',
|
||||||
|
'javelin-stratcom',
|
||||||
|
'javelin-install',
|
||||||
|
'javelin-workflow',
|
||||||
|
'javelin-router',
|
||||||
|
'javelin-behavior-device',
|
||||||
|
'javelin-vector',
|
||||||
|
'phabricator-diff-inline',
|
||||||
|
),
|
||||||
'358b8c04' => array(
|
'358b8c04' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
|
@ -1204,6 +1203,9 @@ return array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
),
|
),
|
||||||
|
'45d37835' => array(
|
||||||
|
'javelin-dom',
|
||||||
|
),
|
||||||
'469c0d9e' => array(
|
'469c0d9e' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1371,6 +1373,14 @@ return array(
|
||||||
'phabricator-phtize',
|
'phabricator-phtize',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
),
|
),
|
||||||
|
'5e41c819' => array(
|
||||||
|
'javelin-behavior',
|
||||||
|
'javelin-dom',
|
||||||
|
'javelin-stratcom',
|
||||||
|
'phabricator-tooltip',
|
||||||
|
'phabricator-diff-changeset-list',
|
||||||
|
'phabricator-diff-changeset',
|
||||||
|
),
|
||||||
'5e9f347c' => array(
|
'5e9f347c' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'multirow-row-manager',
|
'multirow-row-manager',
|
||||||
|
@ -1388,15 +1398,6 @@ return array(
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
),
|
),
|
||||||
'6120e99a' => array(
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'javelin-install',
|
|
||||||
'javelin-workflow',
|
|
||||||
'javelin-scrollbar',
|
|
||||||
'phabricator-scroll-objective',
|
|
||||||
),
|
|
||||||
'61cbc29a' => array(
|
'61cbc29a' => array(
|
||||||
'javelin-magical-init',
|
'javelin-magical-init',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
|
@ -1411,6 +1412,9 @@ return array(
|
||||||
'javelin-workflow',
|
'javelin-workflow',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
),
|
),
|
||||||
|
'675f1ca3' => array(
|
||||||
|
'javelin-install',
|
||||||
|
),
|
||||||
'680ea2c8' => array(
|
'680ea2c8' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1496,10 +1500,6 @@ return array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-quicksand',
|
'javelin-quicksand',
|
||||||
),
|
),
|
||||||
'7a184082' => array(
|
|
||||||
'javelin-install',
|
|
||||||
'phabricator-scroll-objective-list',
|
|
||||||
),
|
|
||||||
'7a68dda3' => array(
|
'7a68dda3' => array(
|
||||||
'owners-path-editor',
|
'owners-path-editor',
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
|
@ -1513,13 +1513,6 @@ return array(
|
||||||
'7e41274a' => array(
|
'7e41274a' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
),
|
),
|
||||||
'7e8877e7' => array(
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'javelin-install',
|
|
||||||
'javelin-workflow',
|
|
||||||
),
|
|
||||||
'7ebaeed3' => array(
|
'7ebaeed3' => array(
|
||||||
'herald-rule-editor',
|
'herald-rule-editor',
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
|
@ -1787,9 +1780,6 @@ return array(
|
||||||
'phuix-autocomplete',
|
'phuix-autocomplete',
|
||||||
'javelin-mask',
|
'javelin-mask',
|
||||||
),
|
),
|
||||||
'acfd58f6' => array(
|
|
||||||
'phui-inline-comment-view-css',
|
|
||||||
),
|
|
||||||
'ae95d984' => array(
|
'ae95d984' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
|
@ -2002,17 +1992,6 @@ return array(
|
||||||
'cd2b9b77' => array(
|
'cd2b9b77' => array(
|
||||||
'phui-oi-list-view-css',
|
'phui-oi-list-view-css',
|
||||||
),
|
),
|
||||||
'cf4e2140' => array(
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'javelin-install',
|
|
||||||
'javelin-workflow',
|
|
||||||
'javelin-router',
|
|
||||||
'javelin-behavior-device',
|
|
||||||
'javelin-vector',
|
|
||||||
'phabricator-diff-inline',
|
|
||||||
),
|
|
||||||
'd0a99ab4' => array(
|
'd0a99ab4' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-typeahead-ondemand-source',
|
'javelin-typeahead-ondemand-source',
|
||||||
|
@ -2435,8 +2414,6 @@ return array(
|
||||||
'javelin-behavior-load-blame',
|
'javelin-behavior-load-blame',
|
||||||
'javelin-behavior-differential-user-select',
|
'javelin-behavior-differential-user-select',
|
||||||
'javelin-behavior-aphront-more',
|
'javelin-behavior-aphront-more',
|
||||||
'phabricator-scroll-objective',
|
|
||||||
'phabricator-scroll-objective-list',
|
|
||||||
'phabricator-diff-inline',
|
'phabricator-diff-inline',
|
||||||
'phabricator-diff-changeset',
|
'phabricator-diff-changeset',
|
||||||
'phabricator-diff-changeset-list',
|
'phabricator-diff-changeset-list',
|
||||||
|
|
|
@ -203,9 +203,6 @@ return array(
|
||||||
'javelin-behavior-differential-user-select',
|
'javelin-behavior-differential-user-select',
|
||||||
'javelin-behavior-aphront-more',
|
'javelin-behavior-aphront-more',
|
||||||
|
|
||||||
'phabricator-scroll-objective',
|
|
||||||
'phabricator-scroll-objective-list',
|
|
||||||
|
|
||||||
'phabricator-diff-inline',
|
'phabricator-diff-inline',
|
||||||
'phabricator-diff-changeset',
|
'phabricator-diff-changeset',
|
||||||
'phabricator-diff-changeset-list',
|
'phabricator-diff-changeset-list',
|
||||||
|
|
|
@ -204,7 +204,6 @@ final class DifferentialChangesetDetailView extends AphrontView {
|
||||||
'loaded' => $this->getLoaded(),
|
'loaded' => $this->getLoaded(),
|
||||||
'undoTemplates' => hsprintf('%s', $renderer->renderUndoTemplates()),
|
'undoTemplates' => hsprintf('%s', $renderer->renderUndoTemplates()),
|
||||||
'displayPath' => hsprintf('%s', $display_parts),
|
'displayPath' => hsprintf('%s', $display_parts),
|
||||||
'objectiveName' => basename($display_filename),
|
|
||||||
'icon' => $display_icon,
|
'icon' => $display_icon,
|
||||||
),
|
),
|
||||||
'class' => $class,
|
'class' => $class,
|
||||||
|
|
|
@ -203,15 +203,11 @@ final class DifferentialChangesetListView extends AphrontView {
|
||||||
|
|
||||||
$this->requireResource('aphront-tooltip-css');
|
$this->requireResource('aphront-tooltip-css');
|
||||||
|
|
||||||
$show_objectives =
|
|
||||||
PhabricatorEnv::getEnvConfig('phabricator.show-prototypes');
|
|
||||||
|
|
||||||
$this->initBehavior(
|
$this->initBehavior(
|
||||||
'differential-populate',
|
'differential-populate',
|
||||||
array(
|
array(
|
||||||
'changesetViewIDs' => $ids,
|
'changesetViewIDs' => $ids,
|
||||||
'inlineURI' => $this->inlineURI,
|
'inlineURI' => $this->inlineURI,
|
||||||
'showObjectives' => $show_objectives,
|
|
||||||
'pht' => array(
|
'pht' => array(
|
||||||
'Open in Editor' => pht('Open in Editor'),
|
'Open in Editor' => pht('Open in Editor'),
|
||||||
'Show All Context' => pht('Show All Context'),
|
'Show All Context' => pht('Show All Context'),
|
||||||
|
|
|
@ -408,37 +408,3 @@ tr.differential-inline-loading {
|
||||||
.diff-banner-path {
|
.diff-banner-path {
|
||||||
color: {$greytext};
|
color: {$greytext};
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-objective-list {
|
|
||||||
position: fixed;
|
|
||||||
right: 0;
|
|
||||||
width: 24px;
|
|
||||||
top: 48px;
|
|
||||||
bottom: 48px;
|
|
||||||
background: rgba(255, 255, 255, 0.50);
|
|
||||||
border-style: solid;
|
|
||||||
border-color: rgba(255, 255, 255, 0.95);
|
|
||||||
border-width: 1px 0 1px 1px;
|
|
||||||
box-shadow: -1px 0 2px rgba(255, 255, 255, 0.10);
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-objective-list.has-aesthetic-scrollbar {
|
|
||||||
/* For now, hide this element on systems with aesthetic scrollbars. */
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-objective {
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: pointer;
|
|
||||||
text-align: middle;
|
|
||||||
left: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-objective .phui-icon-view {
|
|
||||||
text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
display: block;
|
|
||||||
height: 14px;
|
|
||||||
}
|
|
||||||
|
|
|
@ -97,10 +97,6 @@ div.phui-calendar-day-event {
|
||||||
z-index: 6;
|
z-index: 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-objective-list {
|
|
||||||
z-index: 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.conpherence-durable-column {
|
.conpherence-durable-column {
|
||||||
z-index: 7;
|
z-index: 7;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ JX.install('DiffChangeset', {
|
||||||
this._rightID = data.right;
|
this._rightID = data.right;
|
||||||
|
|
||||||
this._displayPath = JX.$H(data.displayPath);
|
this._displayPath = JX.$H(data.displayPath);
|
||||||
this._objectiveName = data.objectiveName;
|
|
||||||
this._icon = data.icon;
|
this._icon = data.icon;
|
||||||
|
|
||||||
this._inlines = [];
|
this._inlines = [];
|
||||||
|
@ -62,8 +61,6 @@ JX.install('DiffChangeset', {
|
||||||
_displayPath: null,
|
_displayPath: null,
|
||||||
|
|
||||||
_changesetList: null,
|
_changesetList: null,
|
||||||
_objective: null,
|
|
||||||
_objectiveName: null,
|
|
||||||
_icon: null,
|
_icon: null,
|
||||||
|
|
||||||
getLeftChangesetID: function() {
|
getLeftChangesetID: function() {
|
||||||
|
@ -76,23 +73,9 @@ JX.install('DiffChangeset', {
|
||||||
|
|
||||||
setChangesetList: function(list) {
|
setChangesetList: function(list) {
|
||||||
this._changesetList = list;
|
this._changesetList = list;
|
||||||
|
|
||||||
var objectives = list.getObjectives();
|
|
||||||
this._objective = objectives.newObjective()
|
|
||||||
.setAnchor(this._node);
|
|
||||||
|
|
||||||
this._updateObjective();
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateObjective: function() {
|
|
||||||
this._objective
|
|
||||||
.setIcon(this.getIcon())
|
|
||||||
.setColor(this.getColor())
|
|
||||||
.setTooltip(this.getObjectiveName());
|
|
||||||
},
|
|
||||||
|
|
||||||
getIcon: function() {
|
getIcon: function() {
|
||||||
if (!this._visible) {
|
if (!this._visible) {
|
||||||
return 'fa-file-o';
|
return 'fa-file-o';
|
||||||
|
@ -109,10 +92,6 @@ JX.install('DiffChangeset', {
|
||||||
return 'blue';
|
return 'blue';
|
||||||
},
|
},
|
||||||
|
|
||||||
getObjectiveName: function() {
|
|
||||||
return this._objectiveName;
|
|
||||||
},
|
|
||||||
|
|
||||||
getChangesetList: function() {
|
getChangesetList: function() {
|
||||||
return this._changesetList;
|
return this._changesetList;
|
||||||
},
|
},
|
||||||
|
@ -576,7 +555,6 @@ JX.install('DiffChangeset', {
|
||||||
|
|
||||||
JX.Stratcom.invoke('differential-inline-comment-refresh');
|
JX.Stratcom.invoke('differential-inline-comment-refresh');
|
||||||
|
|
||||||
this._objective.show();
|
|
||||||
this._rebuildAllInlines();
|
this._rebuildAllInlines();
|
||||||
|
|
||||||
JX.Stratcom.invoke('resize');
|
JX.Stratcom.invoke('resize');
|
||||||
|
@ -729,11 +707,6 @@ JX.install('DiffChangeset', {
|
||||||
JX.DOM.appendContent(diff.parentNode, undo);
|
JX.DOM.appendContent(diff.parentNode, undo);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._updateObjective();
|
|
||||||
for (var ii = 0; ii < this._inlines.length; ii++) {
|
|
||||||
this._inlines[ii].updateObjective();
|
|
||||||
}
|
|
||||||
|
|
||||||
JX.Stratcom.invoke('resize');
|
JX.Stratcom.invoke('resize');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
/**
|
/**
|
||||||
* @provides phabricator-diff-changeset-list
|
* @provides phabricator-diff-changeset-list
|
||||||
* @requires javelin-install
|
* @requires javelin-install
|
||||||
* phabricator-scroll-objective-list
|
|
||||||
* @javelin
|
* @javelin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -9,7 +8,6 @@ JX.install('DiffChangesetList', {
|
||||||
|
|
||||||
construct: function() {
|
construct: function() {
|
||||||
this._changesets = [];
|
this._changesets = [];
|
||||||
this._objectives = new JX.ScrollObjectiveList();
|
|
||||||
|
|
||||||
var onload = JX.bind(this, this._ifawake, this._onload);
|
var onload = JX.bind(this, this._ifawake, this._onload);
|
||||||
JX.Stratcom.listen('click', 'differential-load', onload);
|
JX.Stratcom.listen('click', 'differential-load', onload);
|
||||||
|
@ -102,7 +100,6 @@ JX.install('DiffChangesetList', {
|
||||||
_initialized: false,
|
_initialized: false,
|
||||||
_asleep: true,
|
_asleep: true,
|
||||||
_changesets: null,
|
_changesets: null,
|
||||||
_objectives: null,
|
|
||||||
|
|
||||||
_cursorItem: null,
|
_cursorItem: null,
|
||||||
|
|
||||||
|
@ -120,7 +117,6 @@ JX.install('DiffChangesetList', {
|
||||||
_rangeTarget: null,
|
_rangeTarget: null,
|
||||||
|
|
||||||
_bannerNode: null,
|
_bannerNode: null,
|
||||||
_showObjectives: false,
|
|
||||||
|
|
||||||
sleep: function() {
|
sleep: function() {
|
||||||
this._asleep = true;
|
this._asleep = true;
|
||||||
|
@ -128,8 +124,6 @@ JX.install('DiffChangesetList', {
|
||||||
this._redrawFocus();
|
this._redrawFocus();
|
||||||
this._redrawSelection();
|
this._redrawSelection();
|
||||||
this.resetHover();
|
this.resetHover();
|
||||||
|
|
||||||
this._objectives.hide();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
wake: function() {
|
wake: function() {
|
||||||
|
@ -138,10 +132,6 @@ JX.install('DiffChangesetList', {
|
||||||
this._redrawFocus();
|
this._redrawFocus();
|
||||||
this._redrawSelection();
|
this._redrawSelection();
|
||||||
|
|
||||||
if (this._showObjectives) {
|
|
||||||
this._objectives.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._initialized) {
|
if (this._initialized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -198,19 +188,10 @@ JX.install('DiffChangesetList', {
|
||||||
this._installKey('q', label, this._onkeyhide);
|
this._installKey('q', label, this._onkeyhide);
|
||||||
},
|
},
|
||||||
|
|
||||||
setShowObjectives: function(show) {
|
|
||||||
this._showObjectives = show;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
isAsleep: function() {
|
isAsleep: function() {
|
||||||
return this._asleep;
|
return this._asleep;
|
||||||
},
|
},
|
||||||
|
|
||||||
getObjectives: function() {
|
|
||||||
return this._objectives;
|
|
||||||
},
|
|
||||||
|
|
||||||
newChangesetForNode: function(node) {
|
newChangesetForNode: function(node) {
|
||||||
var changeset = JX.DiffChangeset.getForNode(node);
|
var changeset = JX.DiffChangeset.getForNode(node);
|
||||||
|
|
||||||
|
@ -538,24 +519,9 @@ JX.install('DiffChangesetList', {
|
||||||
},
|
},
|
||||||
|
|
||||||
_setSelectionState: function(item, manager) {
|
_setSelectionState: function(item, manager) {
|
||||||
// If we had an inline selected before, we need to update it after
|
|
||||||
// changing our selection to clear the selected state. Then, update the
|
|
||||||
// new one to add the selected state.
|
|
||||||
var old_inline = this.getSelectedInline();
|
|
||||||
|
|
||||||
this._cursorItem = item;
|
this._cursorItem = item;
|
||||||
this._redrawSelection(manager, true);
|
this._redrawSelection(manager, true);
|
||||||
|
|
||||||
var new_inline = this.getSelectedInline();
|
|
||||||
|
|
||||||
if (old_inline) {
|
|
||||||
old_inline.updateObjective();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (new_inline) {
|
|
||||||
new_inline.updateObjective();
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@ JX.install('DiffInline', {
|
||||||
_isLoading: false,
|
_isLoading: false,
|
||||||
|
|
||||||
_changeset: null,
|
_changeset: null,
|
||||||
_objective: null,
|
|
||||||
|
|
||||||
_isDraft: null,
|
_isDraft: null,
|
||||||
_isFixed: null,
|
_isFixed: null,
|
||||||
|
@ -38,7 +37,6 @@ JX.install('DiffInline', {
|
||||||
|
|
||||||
bindToRow: function(row) {
|
bindToRow: function(row) {
|
||||||
this._row = row;
|
this._row = row;
|
||||||
this._objective.setAnchor(this._row);
|
|
||||||
|
|
||||||
var row_data = JX.Stratcom.getData(row);
|
var row_data = JX.Stratcom.getData(row);
|
||||||
row_data.inline = this;
|
row_data.inline = this;
|
||||||
|
@ -80,8 +78,6 @@ JX.install('DiffInline', {
|
||||||
|
|
||||||
this.setInvisible(false);
|
this.setInvisible(false);
|
||||||
|
|
||||||
this.updateObjective();
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -171,14 +167,6 @@ JX.install('DiffInline', {
|
||||||
|
|
||||||
setChangeset: function(changeset) {
|
setChangeset: function(changeset) {
|
||||||
this._changeset = changeset;
|
this._changeset = changeset;
|
||||||
|
|
||||||
var objectives = changeset.getChangesetList().getObjectives();
|
|
||||||
|
|
||||||
// Create this inline's objective, but don't show it yet.
|
|
||||||
this._objective = objectives.newObjective()
|
|
||||||
.setCallback(JX.bind(this, this._onobjective))
|
|
||||||
.hide();
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -188,84 +176,9 @@ JX.install('DiffInline', {
|
||||||
|
|
||||||
setEditing: function(editing) {
|
setEditing: function(editing) {
|
||||||
this._isEditing = editing;
|
this._isEditing = editing;
|
||||||
this.updateObjective();
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
_onobjective: function() {
|
|
||||||
this.getChangeset().getChangesetList().selectInline(this);
|
|
||||||
},
|
|
||||||
|
|
||||||
updateObjective: function() {
|
|
||||||
var objective = this._objective;
|
|
||||||
|
|
||||||
if (this.isHidden() || this._isDeleted) {
|
|
||||||
objective.hide();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If this is a new comment which we aren't editing, don't show anything:
|
|
||||||
// the use started a comment or reply, then cancelled it.
|
|
||||||
if (this._isNew && !this._isEditing) {
|
|
||||||
objective.hide();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var changeset = this.getChangeset();
|
|
||||||
if (!changeset.isVisible()) {
|
|
||||||
objective.hide();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pht = changeset.getChangesetList().getTranslations();
|
|
||||||
|
|
||||||
var icon = 'fa-comment';
|
|
||||||
var color = 'bluegrey';
|
|
||||||
var tooltip = this._snippet;
|
|
||||||
var anchor = this._row;
|
|
||||||
var should_stack = false;
|
|
||||||
|
|
||||||
if (this._isEditing) {
|
|
||||||
icon = 'fa-star';
|
|
||||||
color = 'pink';
|
|
||||||
tooltip = pht('Editing Comment');
|
|
||||||
|
|
||||||
// If we're editing, anchor to the row with the editor instead of the
|
|
||||||
// actual comment row (which is invisible and can have a misleading
|
|
||||||
// position).
|
|
||||||
anchor = this._row.nextSibling;
|
|
||||||
} else if (this._isDraft) {
|
|
||||||
// This inline is an unsubmitted draft.
|
|
||||||
icon = 'fa-pencil';
|
|
||||||
color = 'indigo';
|
|
||||||
} else if (this._isFixed) {
|
|
||||||
// This inline has been marked done.
|
|
||||||
icon = 'fa-check';
|
|
||||||
color = 'grey';
|
|
||||||
} else if (this._isGhost) {
|
|
||||||
icon = 'fa-comment-o';
|
|
||||||
color = 'grey';
|
|
||||||
} else if (this._replyToCommentPHID) {
|
|
||||||
icon = 'fa-reply';
|
|
||||||
should_stack = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (changeset.getChangesetList().getSelectedInline() === this) {
|
|
||||||
// TODO: Maybe add some other kind of effect here, since we're only
|
|
||||||
// using color to show this?
|
|
||||||
color = 'yellow';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
objective
|
|
||||||
.setAnchor(anchor)
|
|
||||||
.setIcon(icon)
|
|
||||||
.setColor(color)
|
|
||||||
.setTooltip(tooltip)
|
|
||||||
.setShouldStack(should_stack)
|
|
||||||
.show();
|
|
||||||
},
|
|
||||||
|
|
||||||
canReply: function() {
|
canReply: function() {
|
||||||
if (!this._hasAction('reply')) {
|
if (!this._hasAction('reply')) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -316,7 +229,6 @@ JX.install('DiffInline', {
|
||||||
|
|
||||||
JX.Stratcom.getData(row).inline = this;
|
JX.Stratcom.getData(row).inline = this;
|
||||||
this._row = row;
|
this._row = row;
|
||||||
this._objective.setAnchor(this._row);
|
|
||||||
|
|
||||||
this._id = null;
|
this._id = null;
|
||||||
this._phid = null;
|
this._phid = null;
|
||||||
|
@ -759,8 +671,6 @@ JX.install('DiffInline', {
|
||||||
this.getChangeset().getChangesetList().redrawPreview();
|
this.getChangeset().getChangesetList().redrawPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.updateObjective();
|
|
||||||
|
|
||||||
this.getChangeset().getChangesetList().redrawCursor();
|
this.getChangeset().getChangesetList().redrawCursor();
|
||||||
this.getChangeset().getChangesetList().resetHover();
|
this.getChangeset().getChangesetList().resetHover();
|
||||||
|
|
||||||
|
|
|
@ -1,141 +0,0 @@
|
||||||
/**
|
|
||||||
* @provides phabricator-scroll-objective
|
|
||||||
* @requires javelin-dom
|
|
||||||
* javelin-util
|
|
||||||
* javelin-stratcom
|
|
||||||
* javelin-install
|
|
||||||
* javelin-workflow
|
|
||||||
* @javelin
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
JX.install('ScrollObjective', {
|
|
||||||
|
|
||||||
construct : function() {
|
|
||||||
var node = this.getNode();
|
|
||||||
|
|
||||||
var onclick = JX.bind(this, this._onclick);
|
|
||||||
JX.DOM.listen(node, 'click', null, onclick);
|
|
||||||
},
|
|
||||||
|
|
||||||
members: {
|
|
||||||
_list: null,
|
|
||||||
|
|
||||||
_node: null,
|
|
||||||
_anchor: null,
|
|
||||||
|
|
||||||
_visible: false,
|
|
||||||
_callback: false,
|
|
||||||
_stack: false,
|
|
||||||
|
|
||||||
getNode: function() {
|
|
||||||
if (!this._node) {
|
|
||||||
var attributes = {
|
|
||||||
className: 'scroll-objective'
|
|
||||||
};
|
|
||||||
|
|
||||||
var content = this._getIconObject().getNode();
|
|
||||||
|
|
||||||
var node = JX.$N('div', attributes, content);
|
|
||||||
|
|
||||||
this._node = node;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this._node;
|
|
||||||
},
|
|
||||||
|
|
||||||
setCallback: function(callback) {
|
|
||||||
this._callback = callback;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
setObjectiveList: function(list) {
|
|
||||||
this._list = list;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
_getIconObject: function() {
|
|
||||||
if (!this._iconObject) {
|
|
||||||
this._iconObject = new JX.PHUIXIconView();
|
|
||||||
}
|
|
||||||
return this._iconObject;
|
|
||||||
},
|
|
||||||
|
|
||||||
_onclick: function(e) {
|
|
||||||
(this._callback && this._callback(e));
|
|
||||||
|
|
||||||
if (e.getPrevented()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
e.kill();
|
|
||||||
|
|
||||||
// This is magic to account for the banner, and should probably be made
|
|
||||||
// less hard-coded.
|
|
||||||
var buffer = 48;
|
|
||||||
|
|
||||||
JX.DOM.scrollToPosition(null, JX.$V(this.getAnchor()).y - buffer);
|
|
||||||
},
|
|
||||||
|
|
||||||
setAnchor: function(node) {
|
|
||||||
this._anchor = node;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
getAnchor: function() {
|
|
||||||
return this._anchor;
|
|
||||||
},
|
|
||||||
|
|
||||||
setIcon: function(icon) {
|
|
||||||
this._getIconObject().setIcon(icon);
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
setColor: function(color) {
|
|
||||||
this._getIconObject().setColor(color);
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
setTooltip: function(tip) {
|
|
||||||
var node = this._getIconObject().getNode();
|
|
||||||
JX.Stratcom.addSigil(node, 'has-tooltip');
|
|
||||||
JX.Stratcom.getData(node).tip = tip;
|
|
||||||
JX.Stratcom.getData(node).align = 'W';
|
|
||||||
JX.Stratcom.getData(node).size = 'auto';
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Should this objective always stack immediately under the previous
|
|
||||||
* objective?
|
|
||||||
*
|
|
||||||
* This allows related objectives (like "comment, reply, reply") to be
|
|
||||||
* rendered in a tight sequence.
|
|
||||||
*/
|
|
||||||
setShouldStack: function(stack) {
|
|
||||||
this._stack = stack;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
shouldStack: function() {
|
|
||||||
return this._stack;
|
|
||||||
},
|
|
||||||
|
|
||||||
show: function() {
|
|
||||||
this._visible = true;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
hide: function() {
|
|
||||||
this._visible = false;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
isVisible: function() {
|
|
||||||
return this._visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
|
@ -1,150 +0,0 @@
|
||||||
/**
|
|
||||||
* @provides phabricator-scroll-objective-list
|
|
||||||
* @requires javelin-dom
|
|
||||||
* javelin-util
|
|
||||||
* javelin-stratcom
|
|
||||||
* javelin-install
|
|
||||||
* javelin-workflow
|
|
||||||
* javelin-scrollbar
|
|
||||||
* phabricator-scroll-objective
|
|
||||||
* @javelin
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
JX.install('ScrollObjectiveList', {
|
|
||||||
|
|
||||||
construct : function() {
|
|
||||||
this._objectives = [];
|
|
||||||
|
|
||||||
var onresize = JX.bind(this, this._dirty);
|
|
||||||
JX.Stratcom.listen('resize', null, onresize);
|
|
||||||
},
|
|
||||||
|
|
||||||
members: {
|
|
||||||
_objectives: null,
|
|
||||||
_visible: false,
|
|
||||||
_trigger: null,
|
|
||||||
|
|
||||||
newObjective: function() {
|
|
||||||
var objective = new JX.ScrollObjective()
|
|
||||||
.setObjectiveList(this);
|
|
||||||
|
|
||||||
this._objectives.push(objective);
|
|
||||||
this._getNode().appendChild(objective.getNode());
|
|
||||||
|
|
||||||
this._dirty();
|
|
||||||
|
|
||||||
return objective;
|
|
||||||
},
|
|
||||||
|
|
||||||
show: function() {
|
|
||||||
this._visible = true;
|
|
||||||
this._dirty();
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
hide: function() {
|
|
||||||
this._visible = false;
|
|
||||||
this._dirty();
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
_getNode: function() {
|
|
||||||
if (!this._node) {
|
|
||||||
var node = new JX.$N('div', {className: 'scroll-objective-list'});
|
|
||||||
this._node = node;
|
|
||||||
}
|
|
||||||
return this._node;
|
|
||||||
},
|
|
||||||
|
|
||||||
_dirty: function() {
|
|
||||||
if (this._trigger !== null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._trigger = setTimeout(JX.bind(this, this._redraw), 0);
|
|
||||||
},
|
|
||||||
|
|
||||||
_redraw: function() {
|
|
||||||
this._trigger = null;
|
|
||||||
|
|
||||||
var node = this._getNode();
|
|
||||||
|
|
||||||
var is_visible =
|
|
||||||
(this._visible) &&
|
|
||||||
(JX.Device.getDevice() == 'desktop') &&
|
|
||||||
(this._objectives.length);
|
|
||||||
|
|
||||||
if (!is_visible) {
|
|
||||||
JX.DOM.remove(node);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
document.body.appendChild(node);
|
|
||||||
|
|
||||||
// If we're on OSX without a mouse or some other system with zero-width
|
|
||||||
// trackpad-style scrollbars, adjust the display appropriately.
|
|
||||||
var aesthetic = (JX.Scrollbar.getScrollbarControlWidth() === 0);
|
|
||||||
JX.DOM.alterClass(node, 'has-aesthetic-scrollbar', aesthetic);
|
|
||||||
|
|
||||||
var d = JX.Vector.getDocument();
|
|
||||||
|
|
||||||
var list_dimensions = JX.Vector.getDim(node);
|
|
||||||
var icon_height = 16;
|
|
||||||
var list_y = (list_dimensions.y - icon_height);
|
|
||||||
|
|
||||||
var ii;
|
|
||||||
var offset;
|
|
||||||
|
|
||||||
// First, build a list of all the items we're going to show.
|
|
||||||
var items = [];
|
|
||||||
for (ii = 0; ii < this._objectives.length; ii++) {
|
|
||||||
var objective = this._objectives[ii];
|
|
||||||
var objective_node = objective.getNode();
|
|
||||||
|
|
||||||
var anchor = objective.getAnchor();
|
|
||||||
if (!anchor || !objective.isVisible()) {
|
|
||||||
JX.DOM.remove(objective_node);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
offset = (JX.$V(anchor).y / d.y) * (list_y);
|
|
||||||
|
|
||||||
items.push({
|
|
||||||
offset: offset,
|
|
||||||
node: objective_node,
|
|
||||||
objective: objective
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Now, sort it from top to bottom.
|
|
||||||
items.sort(function(u, v) {
|
|
||||||
return u.offset - v.offset;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Lay out the items in the objective list, leaving a minimum amount
|
|
||||||
// of space between them so they do not overlap.
|
|
||||||
var min = null;
|
|
||||||
for (ii = 0; ii < items.length; ii++) {
|
|
||||||
var item = items[ii];
|
|
||||||
|
|
||||||
offset = item.offset;
|
|
||||||
|
|
||||||
if (min !== null) {
|
|
||||||
if (item.objective.shouldStack()) {
|
|
||||||
offset = min;
|
|
||||||
} else {
|
|
||||||
offset = Math.max(offset, min);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
min = offset + 15;
|
|
||||||
|
|
||||||
item.node.style.top = offset + 'px';
|
|
||||||
node.appendChild(item.node);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
|
@ -60,8 +60,7 @@ JX.behavior('differential-populate', function(config, statics) {
|
||||||
|
|
||||||
var changeset_list = new JX.DiffChangesetList()
|
var changeset_list = new JX.DiffChangesetList()
|
||||||
.setTranslations(JX.phtize(config.pht))
|
.setTranslations(JX.phtize(config.pht))
|
||||||
.setInlineURI(config.inlineURI)
|
.setInlineURI(config.inlineURI);
|
||||||
.setShowObjectives(config.showObjectives);
|
|
||||||
|
|
||||||
// Install and activate the current page.
|
// Install and activate the current page.
|
||||||
var page_id = JX.Quicksand.getCurrentPageID();
|
var page_id = JX.Quicksand.getCurrentPageID();
|
||||||
|
|
Loading…
Reference in a new issue