1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 08:42:41 +01:00

When a ChangesetList sleeps after a Quicksand navigation, also hide any visible banner

Summary: Fixes T13080. The banner wasn't properly included in the sleep/wake logic.

Test Plan:
Mentioned `Dxxx` on a task. Enabled persistent chat to activate Quicksand. Reloaded page. Clicked `Dxxx`. Scrolled down until a changeset header appeared. Pressed back button.

  - Before patch: ended up on task, with header still around.
  - After patch: ended up on task, with header properly vanquished.

Pressed "forward", ended up back on the revision with the header again.

Maniphest Tasks: T13080

Differential Revision: https://secure.phabricator.com/D19086
This commit is contained in:
epriestley 2018-02-14 15:18:10 -08:00
parent f74e6bbf8d
commit a4053bb580
2 changed files with 18 additions and 12 deletions

View file

@ -13,7 +13,7 @@ return array(
'core.pkg.js' => '3ac6e174', 'core.pkg.js' => '3ac6e174',
'darkconsole.pkg.js' => '1f9a31bc', 'darkconsole.pkg.js' => '1f9a31bc',
'differential.pkg.css' => '113e692c', 'differential.pkg.css' => '113e692c',
'differential.pkg.js' => '5d53d5ce', 'differential.pkg.js' => 'f6d809c0',
'diffusion.pkg.css' => 'a2d17c7d', 'diffusion.pkg.css' => 'a2d17c7d',
'diffusion.pkg.js' => '6134c5a1', 'diffusion.pkg.js' => '6134c5a1',
'favicon.ico' => '30672e08', 'favicon.ico' => '30672e08',
@ -396,7 +396,7 @@ return array(
'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' => 'b49b59d6', 'rsrc/js/application/diff/DiffChangeset.js' => 'b49b59d6',
'rsrc/js/application/diff/DiffChangesetList.js' => '1f2e5265', 'rsrc/js/application/diff/DiffChangesetList.js' => 'e74b7517',
'rsrc/js/application/diff/DiffInline.js' => 'e83d28f3', 'rsrc/js/application/diff/DiffInline.js' => 'e83d28f3',
'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',
@ -776,7 +776,7 @@ return array(
'phabricator-darkmessage' => 'c48cccdd', 'phabricator-darkmessage' => 'c48cccdd',
'phabricator-dashboard-css' => 'fe5b1869', 'phabricator-dashboard-css' => 'fe5b1869',
'phabricator-diff-changeset' => 'b49b59d6', 'phabricator-diff-changeset' => 'b49b59d6',
'phabricator-diff-changeset-list' => '1f2e5265', 'phabricator-diff-changeset-list' => 'e74b7517',
'phabricator-diff-inline' => 'e83d28f3', 'phabricator-diff-inline' => 'e83d28f3',
'phabricator-drag-and-drop-file-upload' => '58dea2fa', 'phabricator-drag-and-drop-file-upload' => '58dea2fa',
'phabricator-draggable-list' => 'bea6e7f4', 'phabricator-draggable-list' => 'bea6e7f4',
@ -1044,10 +1044,6 @@ return array(
'javelin-uri', 'javelin-uri',
'javelin-routable', 'javelin-routable',
), ),
'1f2e5265' => array(
'javelin-install',
'phuix-button-view',
),
'1f6794f6' => array( '1f6794f6' => array(
'javelin-behavior', 'javelin-behavior',
'javelin-stratcom', 'javelin-stratcom',
@ -2093,6 +2089,10 @@ return array(
'javelin-workflow', 'javelin-workflow',
'javelin-magical-init', 'javelin-magical-init',
), ),
'e74b7517' => array(
'javelin-install',
'phuix-button-view',
),
'e83d28f3' => array( 'e83d28f3' => array(
'javelin-dom', 'javelin-dom',
), ),

View file

@ -128,6 +128,9 @@ JX.install('DiffChangesetList', {
this._redrawFocus(); this._redrawFocus();
this._redrawSelection(); this._redrawSelection();
this.resetHover(); this.resetHover();
this._bannerChangeset = null;
this._redrawBanner();
}, },
wake: function() { wake: function() {
@ -136,6 +139,9 @@ JX.install('DiffChangesetList', {
this._redrawFocus(); this._redrawFocus();
this._redrawSelection(); this._redrawSelection();
this._bannerChangeset = null;
this._redrawBanner();
if (this._initialized) { if (this._initialized) {
return; return;
} }
@ -1374,6 +1380,11 @@ JX.install('DiffChangesetList', {
var node = this._getBannerNode(); var node = this._getBannerNode();
var changeset = this._getVisibleChangeset(); var changeset = this._getVisibleChangeset();
if (!changeset) {
JX.DOM.remove(node);
return;
}
// Don't do anything if nothing has changed. This seems to avoid some // Don't do anything if nothing has changed. This seems to avoid some
// flickering issues in Safari, at least. // flickering issues in Safari, at least.
if (this._bannerChangeset === changeset) { if (this._bannerChangeset === changeset) {
@ -1381,11 +1392,6 @@ JX.install('DiffChangesetList', {
} }
this._bannerChangeset = changeset; this._bannerChangeset = changeset;
if (!changeset) {
JX.DOM.remove(node);
return;
}
var inlines = this._getInlinesByType(); var inlines = this._getInlinesByType();
var unsaved = inlines.unsaved; var unsaved = inlines.unsaved;