{{!
  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">
    <Hds::ButtonSet>
      <Hds::Button @text="Save" type="submit" data-test-transformation-save-button />
      <Hds::Button
        @text="Cancel"
        @color="secondary"
        @route="vault.cluster.secrets.backend.show"
        @models={{array this.model.backend this.model.id}}
      />
    </Hds::ButtonSet>
  </div>
</form>