Merge "Don't show exclusive toggle for 'owner' permissions"
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
index 4013b37..2294621 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
@@ -89,11 +89,13 @@
<div class="header">
<span class="title">[[name]]</span>
<div class="right">
- <paper-toggle-button
- id="exclusiveToggle"
- checked="{{permission.value.exclusive}}"
- on-change="_handleValueChange"
- disabled$="[[!editing]]"></paper-toggle-button>Exclusive
+ <template is=dom-if if="[[!_permissionIsOwner(permission.id)]]">
+ <paper-toggle-button
+ id="exclusiveToggle"
+ checked="{{permission.value.exclusive}}"
+ on-change="_handleValueChange"
+ disabled$="[[!editing]]"></paper-toggle-button>Exclusive
+ </template>
<gr-button
link
id="removeBtn"
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
index f9c04e60..cfb0ad5 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
@@ -89,6 +89,10 @@
this._setupValues();
},
+ _permissionIsOwner(permissionId) {
+ return permissionId === 'owner';
+ },
+
_handleEditingChanged(editing, editingOld) {
// Ignore when editing gets set initially.
if (!editingOld) { return; }
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
index b67d705..ec93a5c 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
@@ -335,7 +335,7 @@
assert.isFalse(element._originalExclusiveValue);
assert.isNotOk(element.permission.value.modified);
- MockInteractions.tap(element.$.exclusiveToggle);
+ MockInteractions.tap(element.$$('#exclusiveToggle'));
flushAsynchronousOperations();
assert.isTrue(element.permission.value.exclusive);
assert.isTrue(element.permission.value.modified);
@@ -353,6 +353,15 @@
assert.isTrue(element.permission.value.modified);
assert.isTrue(modifiedHandler.called);
});
+
+ test('Exclusive hidden for owner permission', () => {
+ assert.equal(getComputedStyle(element.$$('#exclusiveToggle')).display,
+ 'flex');
+ element.set(['permission', 'id'], 'owner');
+ flushAsynchronousOperations();
+ assert.equal(getComputedStyle(element.$$('#exclusiveToggle')).display,
+ 'none');
+ });
});
});
</script>