<template>
  <div class="d-flex justify-content-center">
    <div class="col-8">
      <form name="editForm" novalidate @submit.prevent="save()">
        <h2 id="smartbookingApp.struttura.home.createOrEditLabel" data-cy="StrutturaCreateUpdateHeading">
          {{ t$('smartbookingApp.struttura.home.createOrEditLabel') }}
        </h2>
        <div>
          <div class="mb-3" v-if="struttura.id">
            <label for="id">{{ t$('global.field.id') }}</label>
            <input type="text" class="form-control" id="id" name="id" v-model="struttura.id" readonly />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.nome') }}</label>
            <input
              type="text"
              class="form-control"
              name="nome"
              id="struttura-nome"
              data-cy="nome"
              :class="{ valid: !v$.nome.$invalid, invalid: v$.nome.$invalid }"
              v-model="v$.nome.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.descrizione') }}</label>
            <input
              type="text"
              class="form-control"
              name="descrizione"
              id="struttura-descrizione"
              data-cy="descrizione"
              :class="{ valid: !v$.descrizione.$invalid, invalid: v$.descrizione.$invalid }"
              v-model="v$.descrizione.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.indirizzo') }}</label>
            <input
              type="text"
              class="form-control"
              name="indirizzo"
              id="struttura-indirizzo"
              data-cy="indirizzo"
              :class="{ valid: !v$.indirizzo.$invalid, invalid: v$.indirizzo.$invalid }"
              v-model="v$.indirizzo.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.capienzaMax') }}</label>
            <input
              type="number"
              class="form-control"
              name="capienzaMax"
              id="struttura-capienzaMax"
              data-cy="capienzaMax"
              :class="{ valid: !v$.capienzaMax.$invalid, invalid: v$.capienzaMax.$invalid }"
              v-model.number="v$.capienzaMax.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.attiva') }}</label>
            <input
              type="checkbox"
              class="form-check"
              name="attiva"
              id="struttura-attiva"
              data-cy="attiva"
              :class="{ valid: !v$.attiva.$invalid, invalid: v$.attiva.$invalid }"
              v-model="v$.attiva.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.fotoUrl') }}</label>
            <input
              type="text"
              class="form-control"
              name="fotoUrl"
              id="struttura-fotoUrl"
              data-cy="fotoUrl"
              :class="{ valid: !v$.fotoUrl.$invalid, invalid: v$.fotoUrl.$invalid }"
              v-model="v$.fotoUrl.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.createdAt') }}</label>
            <div class="d-flex">
              <input
                id="struttura-createdAt"
                data-cy="createdAt"
                type="datetime-local"
                class="form-control"
                name="createdAt"
                :class="{ valid: !v$.createdAt.$invalid, invalid: v$.createdAt.$invalid }"
                :value="convertDateTimeFromServer(v$.createdAt.$model)"
                @change="updateInstantField('createdAt', $event)"
              />
            </div>
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="struttura">{{ t$('smartbookingApp.struttura.updatedAt') }}</label>
            <div class="d-flex">
              <input
                id="struttura-updatedAt"
                data-cy="updatedAt"
                type="datetime-local"
                class="form-control"
                name="updatedAt"
                :class="{ valid: !v$.updatedAt.$invalid, invalid: v$.updatedAt.$invalid }"
                :value="convertDateTimeFromServer(v$.updatedAt.$model)"
                @change="updateInstantField('updatedAt', $event)"
              />
            </div>
          </div>
        </div>
        <div>
          <button type="button" id="cancel-save" data-cy="entityCreateCancelButton" class="btn btn-secondary" @click="previousState()">
            <font-awesome-icon icon="ban"></font-awesome-icon>&nbsp;<span>{{ t$('entity.action.cancel') }}</span>
          </button>
          <button
            type="submit"
            id="save-entity"
            data-cy="entityCreateSaveButton"
            :disabled="v$.$invalid || isSaving"
            class="btn btn-primary"
          >
            <font-awesome-icon icon="save"></font-awesome-icon>&nbsp;<span>{{ t$('entity.action.save') }}</span>
          </button>
        </div>
      </form>
    </div>
  </div>
</template>
<script lang="ts" src="./struttura-update.component.ts"></script>
