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', () => {