Add findings to the primary tabs
Screenshot: https://imgur.com/a/lXlFseh
Change-Id: Id53ff79fc0a640fb01578a467d2b9468ddffdd68
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
index bd21015..51fabe8 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
@@ -535,23 +535,25 @@
</div>
</section>
- <section class="patchInfo">
- <template is="dom-if" if="[[_showPrimaryTabs]]">
- <paper-tabs id="primaryTabs" on-selected-changed="_handleFileTabChange">
- <paper-tab data-name$="[[_files_tab_name]]">Files</paper-tab>
- <template is="dom-repeat" items="[[_dynamicTabHeaderEndpoints]]"
- as="tabHeader">
- <paper-tab data-name$="[[tabHeader]]">
- <gr-endpoint-decorator name$="[[tabHeader]]">
- <gr-endpoint-param name="change" value="[[_change]]">
- </gr-endpoint-param>
- <gr-endpoint-param name="revision" value="[[_selectedRevision]]">
- </gr-endpoint-param>
- </gr-endpoint-decorator>
- </paper-tab>
- </template>
- </paper-tabs>
+ <paper-tabs id="primaryTabs" on-selected-changed="_handleFileTabChange">
+ <paper-tab data-name$="[[_files_tab_name]]">Files</paper-tab>
+ <template is="dom-repeat" items="[[_dynamicTabHeaderEndpoints]]"
+ as="tabHeader">
+ <paper-tab data-name$="[[tabHeader]]">
+ <gr-endpoint-decorator name$="[[tabHeader]]">
+ <gr-endpoint-param name="change" value="[[_change]]">
+ </gr-endpoint-param>
+ <gr-endpoint-param name="revision" value="[[_selectedRevision]]">
+ </gr-endpoint-param>
+ </gr-endpoint-decorator>
+ </paper-tab>
</template>
+ <paper-tab data-name$="[[_findings_tab_name]]">
+ Findings
+ </paper-tab>
+ </paper-tabs>
+
+ <section class="patchInfo">
<div hidden$="[[!_findIfTabMatches(_currentTabName, _files_tab_name)]]">
<gr-file-list-header
id="fileListHeader"
@@ -573,15 +575,14 @@
base-patch-num="{{_patchRange.basePatchNum}}"
files-expanded="[[_filesExpanded]]"
diff-prefs-disabled="[[_diffPrefsDisabled]]"
- show-title="[[!_showPrimaryTabs]]"
on-open-diff-prefs="_handleOpenDiffPrefs"
on-open-download-dialog="_handleOpenDownloadDialog"
on-open-upload-help-dialog="_handleOpenUploadHelpDialog"
on-open-included-in-dialog="_handleOpenIncludedInDialog"
on-expand-diffs="_expandAllDiffs"
on-collapse-diffs="_collapseAllDiffs">
- </gr-file-list-header>
- <gr-file-list
+ </gr-file-list-header>
+ <gr-file-list
id="fileList"
class="hideOnMobileOverlay"
diff-prefs="{{_diffPrefs}}"
@@ -600,9 +601,27 @@
file-list-increment="{{_numFilesShown}}"
on-files-shown-changed="_setShownFiles"
on-file-action-tap="_handleFileActionTap"
- on-reload-drafts="_reloadDraftsWithCallback"></gr-file-list>
+ on-reload-drafts="_reloadDraftsWithCallback">
+ </gr-file-list>
</div>
+ <template is="dom-if" if="[[_findIfTabMatches(_currentTabName, _findings_tab_name)]]">
+ <gr-dropdown-list
+ class="patch-set-dropdown"
+ items="[[_robotCommentsPatchSetDropdownItems]]"
+ on-value-change="_handleRobotCommentPatchSetChanged"
+ value="[[_currentRobotCommentsPatchSet]]">
+ </gr-dropdown-list>
+ <gr-thread-list
+ threads="[[_robotCommentThreads]]"
+ change="[[_change]]"
+ change-num="[[_changeNum]]"
+ logged-in="[[_loggedIn]]"
+ comment-tab="[[_currentView]]"
+ hide-toggle-buttons
+ on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
+ </template>
+
<template is="dom-if" if="[[_findIfTabMatches(_currentTabName, _selectedTabPluginHeader)]]">
<gr-endpoint-decorator name$="[[_selectedTabPluginEndpoint]]">
<gr-endpoint-param name="change" value="[[_change]]">
@@ -631,9 +650,7 @@
title$="[[_computeTotalCommentCounts(_change.unresolved_comment_count, _changeComments)]]">
<span>Comment Threads</span></gr-tooltip-content>
</paper-tab>
- <paper-tab class="robotComments">Findings</paper-tab>
</paper-tabs>
-
<section class="changeLog">
<template is="dom-if" if="[[_isSelectedView(_currentView,
_commentTabs.CHANGE_LOG)]]">
@@ -660,23 +677,6 @@
only-show-robot-comments-with-human-reply
on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
</template>
- <template is="dom-if" if="[[_isSelectedView(_currentView,
- _commentTabs.ROBOT_COMMENTS)]]">
- <gr-dropdown-list
- class="patch-set-dropdown"
- items="[[_robotCommentsPatchSetDropdownItems]]"
- on-value-change="_handleRobotCommentPatchSetChanged"
- value="[[_currentRobotCommentsPatchSet]]">
- </gr-dropdown-list>
- <gr-thread-list
- threads="[[_robotCommentThreads]]"
- change="[[_change]]"
- change-num="[[_changeNum]]"
- logged-in="[[_loggedIn]]"
- comment-tab="[[_currentView]]"
- hide-toggle-buttons
- on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
- </template>
</section>
</div>
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
index b55d964..8550a9d 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
@@ -68,7 +68,9 @@
const CHANGE_DATA_TIMING_LABEL = 'ChangeDataLoaded';
const CHANGE_RELOAD_TIMING_LABEL = 'ChangeReloaded';
const SEND_REPLY_TIMING_LABEL = 'SendReply';
- const FILES_TAB_NAME = 'files';
+ // Making the tab names more unique in case a plugin adds one with same name
+ const FILES_TAB_NAME = '__gerrit_internal_files';
+ const FINDINGS_TAB_NAME = '__gerrit_internal_findings';
/**
* @appliesMixin Gerrit.FireMixin
@@ -315,10 +317,6 @@
_dynamicTabHeaderEndpoints: {
type: Array,
},
- _showPrimaryTabs: {
- type: Boolean,
- computed: '_computeShowPrimaryTabs(_dynamicTabHeaderEndpoints)',
- },
/** @type {Array<string>} */
_dynamicTabContentEndpoints: {
type: Array,
@@ -343,6 +341,10 @@
type: String,
value: FILES_TAB_NAME,
},
+ _findings_tab_name: {
+ type: String,
+ value: FINDINGS_TAB_NAME,
+ },
_currentTabName: {
type: String,
value: FILES_TAB_NAME,
@@ -1111,10 +1113,6 @@
return 'PARENT';
}
- _computeShowPrimaryTabs(dynamicTabHeaderEndpoints) {
- return dynamicTabHeaderEndpoints && dynamicTabHeaderEndpoints.length > 0;
- }
-
_computeChangeUrl(change) {
return Gerrit.Nav.getUrlForChange(change);
}
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
index 3fe8faf..9b40f3e 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
@@ -330,7 +330,8 @@
assert(element._dynamicTabHeaderEndpoints.includes(
'change-view-tab-header-url'));
const paperTabs = element.shadowRoot.querySelector('#primaryTabs');
- assert.equal(paperTabs.querySelectorAll('paper-tab').length, 2);
+ // 3 Tabs are : Files, Plugin, Findings
+ assert.equal(paperTabs.querySelectorAll('paper-tab').length, 3);
assert.equal(paperTabs.querySelectorAll('paper-tab')[1].dataset.name,
'change-view-tab-header-url');
});
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
index 600f2ab..79f6c50 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
@@ -154,10 +154,6 @@
</style>
<div class$="patchInfo-header [[_computeEditModeClass(editMode)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]">
<div class="patchInfo-left">
- <template is="dom-if"
- if="[[showTitle]]">
- <h3 class="label">Files</h3>
- </template>
<div class="patchInfoContent">
<gr-patch-range-select
id="rangeSelect"
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
index eb7c1f9..34e1cfa 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
@@ -93,10 +93,6 @@
type: String,
value: '',
},
- showTitle: {
- type: Boolean,
- value: true,
- },
_descriptionReadOnly: {
type: Boolean,
computed: '_computeDescriptionReadOnly(loggedIn, change, account)',