diff --git a/src/renderer/components/+user-management/+cluster-role-bindings/dialog.tsx b/src/renderer/components/+user-management/+cluster-role-bindings/dialog.tsx index 9418d4fc4f..2bc282b128 100644 --- a/src/renderer/components/+user-management/+cluster-role-bindings/dialog.tsx +++ b/src/renderer/components/+user-management/+cluster-role-bindings/dialog.tsx @@ -198,9 +198,12 @@ export class ClusterRoleBindingDialog extends React.Component { isDisabled={this.isEditing} options={this.clusterRoleRefoptions} value={this.selectedRoleRef} - onChange={({ value }) => { + onChange={({ value }: SelectOption ) => { + if (this.bindingName === this.selectedRoleRef.getName()) { + this.bindingName = value.getName(); + } + this.selectedRoleRef = value; - this.bindingName = this.selectedRoleRef.getName(); }} /> @@ -254,7 +257,7 @@ export class ClusterRoleBindingDialog extends React.Component { render() { const { ...dialogProps } = this.props; const [action, nextLabel] = this.isEditing ? ["Edit", "Update"] : ["Add", "Create"]; - const disableNext = !this.selectedRoleRef || !this.selectedBindings.length; + const disableNext = !this.selectedRoleRef || !this.selectedBindings.length || !this.bindingName; return ( { options={this.roleRefOptions} value={this.selectedRoleRef} onChange={({ value }) => { + if (this.bindingName === this.selectedRoleRef.getName()) { + this.bindingName = value.getName(); + } + this.selectedRoleRef = value; if (this.selectedRoleRef.kind === "Role") { this.bindingNamespace = this.selectedRoleRef.getNs(); } - - this.bindingName = this.selectedRoleRef.getName(); }} /> @@ -276,7 +278,7 @@ export class RoleBindingDialog extends React.Component { render() { const { ...dialogProps } = this.props; const [action, nextLabel] = this.isEditing ? ["Edit", "Update"] : ["Add", "Create"]; - const disableNext = !this.selectedRoleRef || !this.selectedBindings.length; + const disableNext = !this.selectedRoleRef || !this.selectedBindings.length || !this.bindingNamespace || !this.bindingName; return ( { renderTableContents={(binding: RoleBinding) => [ binding.getName(), , - binding.getNs() || "-", + binding.getNs(), binding.getSubjectNames(), binding.getAge(), ]} diff --git a/src/renderer/components/+user-management/+roles/details.scss b/src/renderer/components/+user-management/+roles/details.scss index 464a388ffd..91ed3471c6 100644 --- a/src/renderer/components/+user-management/+roles/details.scss +++ b/src/renderer/components/+user-management/+roles/details.scss @@ -1,4 +1,4 @@ -.ClusterRoleDetails { +.RoleDetails { .rule { display: grid; grid-template-columns: min-content auto;