Skip to content

Commit 00dfd45

Browse files
committed
simplify page state
1 parent fa52853 commit 00dfd45

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

x-pack/legacy/plugins/security/public/views/management/role_mappings/edit_role_mapping/components/edit_role_mapping_page.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import { validateRoleMappingForSave } from '../services/role_mapping_validation'
3333
import { MappingInfoPanel } from './mapping_info_panel';
3434

3535
interface State {
36-
loadState: 'loading' | 'permissionDenied' | 'finished';
36+
loadState: 'loading' | 'permissionDenied' | 'ready' | 'saveInProgress';
3737
roleMapping: RoleMapping | null;
3838
hasCompatibleRealms: boolean;
3939
canUseStoredScripts: boolean;
@@ -43,7 +43,6 @@ interface State {
4343
error?: string;
4444
};
4545
validateForm: boolean;
46-
saveInProgress: boolean;
4746
rulesValid: boolean;
4847
}
4948

@@ -61,7 +60,6 @@ export class EditRoleMappingPage extends Component<Props, State> {
6160
hasCompatibleRealms: true,
6261
canUseStoredScripts: true,
6362
canUseInlineScripts: true,
64-
saveInProgress: false,
6563
rulesValid: true,
6664
validateForm: false,
6765
formError: {
@@ -166,8 +164,8 @@ export class EditRoleMappingPage extends Component<Props, State> {
166164
<EuiButton
167165
fill
168166
onClick={this.saveRoleMapping}
169-
isLoading={this.state.saveInProgress}
170-
disabled={!this.state.rulesValid}
167+
isLoading={this.state.loadState === 'saveInProgress'}
168+
disabled={!this.state.rulesValid || this.state.loadState === 'saveInProgress'}
171169
data-test-subj="saveRoleMappingButton"
172170
>
173171
<FormattedMessage
@@ -232,7 +230,7 @@ export class EditRoleMappingPage extends Component<Props, State> {
232230
const roleMappingName = this.state.roleMapping.name;
233231

234232
this.setState({
235-
saveInProgress: true,
233+
loadState: 'saveInProgress',
236234
});
237235

238236
this.props.roleMappingsAPI
@@ -258,7 +256,7 @@ export class EditRoleMappingPage extends Component<Props, State> {
258256
});
259257

260258
this.setState({
261-
saveInProgress: false,
259+
loadState: 'saveInProgress',
262260
});
263261
});
264262
};
@@ -288,7 +286,7 @@ export class EditRoleMappingPage extends Component<Props, State> {
288286
hasCompatibleRealms,
289287
} = features;
290288

291-
const loadState: State['loadState'] = canManageRoleMappings ? 'finished' : 'permissionDenied';
289+
const loadState: State['loadState'] = canManageRoleMappings ? 'ready' : 'permissionDenied';
292290

293291
this.setState({
294292
loadState,

0 commit comments

Comments
 (0)