render()

in ui/src/client/components/ModalRoot/ConfirmModal/ConfirmModal.js [45:95]


  render() {
    const { isDeleting } = this.state;
    const {
      message,
      closeModal,
      callbackAsync,
      header,
      buttonLabel
    } = this.props;
    return (
      <Modal {...this.props} className="confirm-modal">

        <ModalHeader
          header={header}
          onClose={closeModal}
        />

        <ModalBody>
          <div className="confirm-modal-message">
            {message}
          </div>
        </ModalBody>

        <ModalFooter>
          {isDeleting && <Loader type="spinner" color="lime-green" height={36} />}
          <Button
            className="red"
            name={buttonLabel}
            disable={isDeleting}
            onClick={() => {
              if (callbackAsync) {
                this.setState({ isDeleting: true });
                callbackAsync()
                  .finally(() => {
                    this.setState({ isDeleting: false });
                    closeModal();
                  });
              } else {
                closeModal();
              }
            }}
          />
          <Button
            name="Cancel"
            onClick={closeModal}
            disable={isDeleting}
          />
        </ModalFooter>
      </Modal>
    );
  }