in addons/addon-base-raas-ui/packages/base-raas-ui/src/parts/environments-sc/parts/ScEnvironmentButtons.js [128:251]
render() {
const env = this.environment;
const state = env.state;
const processing = this.processing;
const showDetailButton = this.props.showDetailButton;
const connectionsButtonActive = this.connectionsButtonActive;
const egressStoreButtonActive = this.egressStoreButtonActive;
const editCidrButtonActive = this.editCidrButtonActive;
const canConnect = state.canConnect;
const canStart = state.canStart && this.canChangeState();
const canStop = state.canStop && this.canChangeState();
return (
<>
<div className="clearfix" style={{ minHeight: '42px' }}>
{state.canTerminate && (
<Modal
trigger={
<Button
data-testid="sc-env-terminate"
floated="right"
basic
color="red"
size="mini"
className="mt1 mb1"
loading={processing}
>
Terminate
</Button>
}
header="Are you sure?"
content="This action can not be reverted."
actions={[
'Cancel',
{ key: 'terminate', content: 'Terminate', negative: true, onClick: this.handleTerminate },
]}
size="mini"
/>
)}
{canStart && (
<Button
data-testid="sc-env-start"
floated="right"
basic
color="green"
size="mini"
className="mt1 mb1 ml2"
onClick={this.handleStart}
loading={processing}
>
Start
</Button>
)}
{canStop && (
<Button
data-testid="sc-env-stop"
floated="right"
basic
color="green"
size="mini"
className="mt1 mb1 ml2"
onClick={this.handleStop}
loading={processing}
>
Stop
</Button>
)}
{/* Only let users connect to the environment if either of these conditions is true:
1. AppStream is not enabled and environment can be connected to
2. AppStream is enabled, environment is linked to an AppStream-configured account, and environment can be connected to
*/}
{canConnect && (!isAppStreamEnabled || env.isAppStreamConfigured) && (
<Button
floated="left"
basic
size="mini"
className="mt1 mb1"
toggle
active={connectionsButtonActive}
onClick={this.handleToggle}
data-testid="sc-environment-connection-button"
>
Connections
</Button>
)}
{showDetailButton && (
<Button floated="left" basic size="mini" className="mt1 mb1 ml2" onClick={this.handleViewDetail}>
View Detail
</Button>
)}
{!isAppStreamEnabled && state.canTerminate && !state.key.includes('FAILED') && (
<Button
floated="left"
basic
size="mini"
className="mt1 mb1 ml2"
toggle
active={editCidrButtonActive}
onClick={this.handleCidrEditToggle}
>
Edit CIDRs
</Button>
)}
{enableEgressStore && state.canTerminate && !state.key.includes('FAILED') && (
<Button
floated="left"
basic
size="mini"
className="mt1 mb1 ml2"
toggle
active={egressStoreButtonActive}
onClick={this.handleEgressStoreToggle}
>
Egress Store
</Button>
)}
</div>
{enableEgressStore && egressStoreButtonActive && <ScEnvironmentEgressStoreDetail scEnvironment={env} />}
{canConnect && connectionsButtonActive && <ScEnvironmentConnections scEnvironment={env} />}
{editCidrButtonActive && <ScEnvironmentUpdateCidrs scEnvironment={env} onCancel={this.handleCidrEditToggle} />}
</>
);
}