render()

in public/pages/Destinations/containers/CreateDestination/ManageEmailGroups/ManageEmailGroups.js [271:331]


  render() {
    const { isEmailAllowed, isVisible, onClickCancel, onClickSave } = this.props;
    const { initialValues, loadingEmailGroups } = this.state;
    return isVisible ? (
      <Formik
        initialValues={initialValues}
        onSubmit={(values, formikBag) => {
          this.processEmailGroups(values).then(() => onClickSave());
        }}
        validateOnChange={false}
      >
        {({ values, handleSubmit, isSubmitting }) => (
          <EuiOverlayMask>
            <EuiModal
              className="modal-manage-email"
              maxWidth={1000}
              onClose={ignoreEscape(onClickCancel)}
            >
              <EuiModalHeader>
                <EuiModalHeaderTitle>Manage email groups</EuiModalHeaderTitle>
              </EuiModalHeader>

              <EuiHorizontalRule margin="s" />

              <EuiModalBody>
                <FieldArray name="emailGroups" validateOnChange={true}>
                  {(arrayHelpers) =>
                    !isEmailAllowed || loadingEmailGroups ? (
                      <div style={{ display: 'flex', justifyContent: 'center' }}>
                        {isEmailAllowed ? 'Loading Email Groups...' : 'Email is disallowed'}
                      </div>
                    ) : (
                      this.renderEmailGroups({ values, arrayHelpers })
                    )
                  }
                </FieldArray>
              </EuiModalBody>

              {this.hasEmailGroupsToProcess(values) ? (
                <div>
                  <EuiHorizontalRule margin="s" />
                  <EuiModalFooter>
                    <EuiFlexGroup alignItems="center" justifyContent="flexEnd">
                      <EuiFlexItem grow={false}>
                        <EuiButtonEmpty onClick={onClickCancel}>Cancel</EuiButtonEmpty>
                      </EuiFlexItem>
                      <EuiFlexItem grow={false}>
                        <EuiButton onClick={handleSubmit} isLoading={isSubmitting} fill>
                          Save
                        </EuiButton>
                      </EuiFlexItem>
                    </EuiFlexGroup>
                  </EuiModalFooter>
                </div>
              ) : null}
            </EuiModal>
          </EuiOverlayMask>
        )}
      </Formik>
    ) : null;
  }