render()

in ui/src/client/components/ModalRoot/CreateSchemaModal/CreateSchemaModal.js [84:177]


  render() {
    const {
      isLoading,
      subject,
      avro,
      createdVersion,
      testErrors,
      error,
      tested,
    } = this.state;
    const { closeModal } = this.props;
    return (
      <Modal {...this.props} className="create-schema-modal">

        <ModalHeader
          header="Create new schema"
          onClose={closeModal}
        />

        <ModalBody>

          <div className="create-schema-modal-body">

            <div>
              <span>Subject:</span>
            </div>

            <div className="subject-input">
              <Input
                className="input"
                value={subject}
                onChange={value => this.setState({ subject: value })}
                isError={!subject}
              />
            </div>

            <div>
              <span>Avro Schema:</span>
            </div>

            <SchemaEditor
              avro={avro}
              onChangeValue={newValue => this.setState({ avro: newValue })}
            />

            <TestResult
              tested={tested}
              testErrors={testErrors}
            />

            {error
              ? (
                <div className="error">
                  <span>{error.toString()}</span>
                </div>
              ) : null
            }

            {createdVersion
              ? (
                <div className="version">
                  <span>Created version: </span>
                  <span>{createdVersion}</span>
                </div>
              ) : null
            }

          </div>

        </ModalBody>

        <ModalFooter>
          {isLoading && <Loader type="spinner" color="lime-green" height={36} />}
          <Button
            className="green"
            name="Test"
            disable={isLoading || !subject || !avro}
            onClick={() => this.onTest()}
          />
          <Button
            className="green"
            name="Create"
            disable={isLoading || !subject || !avro}
            onClick={() => this.onPostSchema()}
          />
          <Button
            name="Cancel"
            onClick={closeModal}
            disable={isLoading}
          />
        </ModalFooter>
      </Modal>
    );
  }