render()

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} />}
      </>
    );
  }