Hide diff mode controls when not logged in
Currently they do not work when you are not logged in. Making them
work would require a bunch of changes, which we are not willing to
invest into at the moment. So let's just hide the controls for now.
Release-Notes: skip
Google-Bug-Id: b/237101975
Change-Id: Ia2353f7d818509139789572f27b48ee5db47b7ca
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.ts b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.ts
index 9bac7c2..89a1ff5 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.ts
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.ts
@@ -268,10 +268,6 @@
this.allPatchSets
);
const expandedClass = this.computeExpandedClass(this.filesExpanded);
- const prefsButtonHidden = this.computePrefsButtonHidden(
- this.diffPrefs,
- this.loggedIn
- );
return html`
<div class="patchInfo-header ${editModeClass} ${patchInfoClass}">
<div class="patchInfo-left">
@@ -309,28 +305,29 @@
</span>
`
)}
- <div class="fileViewActions">
- <span class="fileViewActionsLabel">Diff view:</span>
- <gr-diff-mode-selector
- id="modeSelect"
- .saveOnChange=${this.loggedIn ?? false}
- ></gr-diff-mode-selector>
- <span
- id="diffPrefsContainer"
- class="hideOnEdit"
- ?hidden=${prefsButtonHidden}
- >
- <gr-tooltip-content has-tooltip title="Diff preferences">
- <gr-button
- link
- class="prefsButton desktop"
- @click=${this.handlePrefsTap}
- ><gr-icon icon="settings" filled></gr-icon
- ></gr-button>
- </gr-tooltip-content>
- </span>
- <span class="separator"></span>
- </div>
+ ${when(
+ this.loggedIn && this.diffPrefs,
+ () => html`
+ <div class="fileViewActions">
+ <span class="fileViewActionsLabel">Diff view:</span>
+ <gr-diff-mode-selector
+ id="modeSelect"
+ .saveOnChange=${true}
+ ></gr-diff-mode-selector>
+ <span id="diffPrefsContainer" class="hideOnEdit">
+ <gr-tooltip-content has-tooltip title="Diff preferences">
+ <gr-button
+ link
+ class="prefsButton desktop"
+ @click=${this.handlePrefsTap}
+ ><gr-icon icon="settings" filled></gr-icon
+ ></gr-button>
+ </gr-tooltip-content>
+ </span>
+ <span class="separator"></span>
+ </div>
+ `
+ )}
<span class="downloadContainer desktop">
<gr-tooltip-content
has-tooltip
@@ -402,13 +399,6 @@
return classes.join(' ');
}
- private computePrefsButtonHidden(
- prefs: DiffPreferencesInfo,
- loggedIn?: boolean
- ) {
- return !loggedIn || !prefs;
- }
-
private fileListActionsVisible(
shownFileCount: number,
maxFilesForBulkActions: number
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.ts b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.ts
index 259e201..23534a0 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.ts
@@ -53,6 +53,7 @@
.shownFileCount=${3}
></gr-file-list-header>`
);
+ element.loggedIn = true;
element.diffPrefs = createDefaultDiffPrefs();
await element.updateComplete;
});
@@ -77,7 +78,7 @@
<div class="fileViewActions">
<span class="fileViewActionsLabel"> Diff view: </span>
<gr-diff-mode-selector id="modeSelect"> </gr-diff-mode-selector>
- <span class="hideOnEdit" hidden="" id="diffPrefsContainer">
+ <span class="hideOnEdit" id="diffPrefsContainer">
<gr-tooltip-content has-tooltip="" title="Diff preferences">
<gr-button
aria-disabled="false"
@@ -143,17 +144,13 @@
});
test('Diff preferences hidden when no prefs', async () => {
- assert.isTrue(
- queryAndAssert<HTMLElement>(element, '#diffPrefsContainer').hidden
- );
+ assert.isOk(query<HTMLElement>(element, '#diffPrefsContainer'));
- element.diffPrefs = createDefaultDiffPrefs();
+ element.diffPrefs = undefined;
element.loggedIn = true;
await element.updateComplete;
- assert.isFalse(
- queryAndAssert<HTMLElement>(element, '#diffPrefsContainer').hidden
- );
+ assert.isNotOk(query<HTMLElement>(element, '#diffPrefsContainer'));
});
test('expandAllDiffs called when expand button clicked', async () => {
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
index 36c9397..b68adf1 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
@@ -961,18 +961,18 @@
)}
`
)}
- <span class="separator"></span>
- <div class="diffModeSelector ${diffModeSelectorClass}">
- <span>Diff view:</span>
- <gr-diff-mode-selector
- id="modeSelect"
- .saveOnChange=${this.loggedIn}
- show-tooltip-below
- ></gr-diff-mode-selector>
- </div>
${when(
this.loggedIn && this.prefs,
() => html`
+ <span class="separator"></span>
+ <div class="diffModeSelector ${diffModeSelectorClass}">
+ <span>Diff view:</span>
+ <gr-diff-mode-selector
+ id="modeSelect"
+ .saveOnChange=${this.loggedIn}
+ show-tooltip-below
+ ></gr-diff-mode-selector>
+ </div>
<span id="diffPrefsContainer">
<span class="preferences desktop">
<gr-tooltip-content