{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

<form onsubmit={{action "createOrUpdate" "create"}}>
  <div class="box is-sideless is-fullwidth is-marginless">
    <MessageError @model={{this.model}} />
    <NamespaceReminder @mode={{this.mode}} @noun="transformation" />
    {{#each this.model.transformFieldAttrs as |attr|}}
      {{#if (or (eq attr.name "name") (eq attr.name "type"))}}
        <label for={{attr.name}} class="is-label">
          {{attr.options.label}}
        </label>
        {{#if attr.options.subText}}
          <p class="sub-text">{{attr.options.subText}}</p>
        {{/if}}
        {{#if attr.options.possibleValues}}
          <div class="control is-expanded field is-readOnly">
            <div class="select is-fullwidth">
              <select name={{attr.name}} id={{attr.name}} disabled data-test-input={{attr.name}}>
                <option selected={{get this.model attr.name}} value={{get this.model attr.name}}>
                  {{get this.model attr.name}}
                </option>
              </select>
            </div>
          </div>
        {{else}}
          <input
            data-test-input={{attr.name}}
            id={{attr.name}}
            autocomplete="off"
            spellcheck="false"
            value={{or (get this.model attr.name) attr.options.defaultValue}}
            readonly
            class="field input is-readOnly"
            type={{attr.type}}
          />
        {{/if}}
      {{else}}
        <FormField data-test-field @attr={{attr}} @model={{this.model}} />
      {{/if}}
    {{/each}}
  </div>
  <div class="field is-grouped-split box is-fullwidth is-bottomless">
    <div class="control">
      <button
        type="submit"
        disabled={{this.buttonDisabled}}
        class="button is-primary"
        data-test-transformation-save-button={{true}}
      >
        {{#if (eq this.mode "create")}}
          Create transformation
        {{else if (eq this.mode "edit")}}
          Save
        {{/if}}
      </button>
      <SecretLink @mode={{if (eq this.mode "create") "list" "show"}} class="button" @secret={{this.model.id}}>
        Cancel
      </SecretLink>
    </div>
  </div>
</form>