Hide "Assignee" related components when disabled in config
This affects the dashboard column and the change metadata field.
Change-Id: Id2d46f5549b856da1c35892c3f547f58444e7eb6
diff --git a/polygerrit-ui/app/behaviors/gr-change-table-behavior/gr-change-table-behavior.js b/polygerrit-ui/app/behaviors/gr-change-table-behavior/gr-change-table-behavior.js
index 67b8c4a..0a3da6e 100644
--- a/polygerrit-ui/app/behaviors/gr-change-table-behavior/gr-change-table-behavior.js
+++ b/polygerrit-ui/app/behaviors/gr-change-table-behavior/gr-change-table-behavior.js
@@ -74,6 +74,7 @@
*/
isColumnEnabled(column, config, experiments) {
if (!config || !config.change) return true;
+ if (column === 'Assignee') return !!config.change.enable_assignee;
if (column === 'Comments') return experiments.includes('comments-column');
if (column === 'Reviewers') return !!config.change.enable_attention_set;
return true;
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html
index 160b912..47e6a9a 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html
@@ -46,7 +46,6 @@
let element;
const sectionSelectors = [
- 'section.assignee',
'section.strategy',
'section.topic',
];
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
index 2e9cdf9..28262be 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
@@ -188,7 +188,9 @@
}
_assigneeChanged(assigneeRecord) {
- if (!this.change) { return; }
+ if (!this.change || !this._isAssigneeEnabled(this.serverConfig)) {
+ return;
+ }
const assignee = assigneeRecord.base;
if (assignee.length) {
const acct = assignee[0];
@@ -225,6 +227,11 @@
return weblinks.length ? weblinks : null;
}
+ _isAssigneeEnabled(serverConfig) {
+ return serverConfig && serverConfig.change
+ && !!serverConfig.change.enable_assignee;
+ }
+
_computeStrategy(change) {
return SubmitTypeLabel[change.submit_type];
}
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_html.js b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_html.js
index 4d3af5b..059aa71 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_html.js
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_html.js
@@ -138,13 +138,15 @@
<gr-account-link account="[[_getNonOwnerRole(change, _CHANGE_ROLE.COMMITTER)]]"></gr-account-link>
</span>
</section>
- <section class="assignee">
- <span class="title">Assignee</span>
- <span class="value">
- <gr-account-list id="assigneeValue" placeholder="Set assignee..." max-count="1" skip-suggest-on-empty="" accounts="{{_assignee}}" readonly="[[_computeAssigneeReadOnly(_mutable, change)]]" suggestions-provider="[[_getReviewerSuggestionsProvider(change)]]">
- </gr-account-list>
- </span>
- </section>
+ <template is="dom-if" if="[[_isAssigneeEnabled(serverConfig)]]">
+ <section class="assignee">
+ <span class="title">Assignee</span>
+ <span class="value">
+ <gr-account-list id="assigneeValue" placeholder="Set assignee..." max-count="1" skip-suggest-on-empty="" accounts="{{_assignee}}" readonly="[[_computeAssigneeReadOnly(_mutable, change)]]" suggestions-provider="[[_getReviewerSuggestionsProvider(change)]]">
+ </gr-account-list>
+ </span>
+ </section>
+ </template>
<section>
<span class="title">Reviewers</span>
<span class="value">
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
index 773e6ec..ce3770f 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
@@ -634,6 +634,11 @@
setup(() => {
deleteStub = sandbox.stub(element.$.restAPI, 'deleteAssignee');
setStub = sandbox.stub(element.$.restAPI, 'setAssignee');
+ element.serverConfig = {
+ change: {
+ enable_assignee: true,
+ },
+ };
});
test('changing change recomputes _assignee', () => {