<template>
  <div class="d-flex justify-content-center">
    <div class="col-8">
      <form name="editForm" novalidate @submit.prevent="save()">
        <h2 id="smartbookingApp.notifica.home.createOrEditLabel" data-cy="NotificaCreateUpdateHeading">
          {{ t$('smartbookingApp.notifica.home.createOrEditLabel') }}
        </h2>
        <div>
          <div class="mb-3" v-if="notifica.id">
            <label for="id">{{ t$('global.field.id') }}</label>
            <input type="text" class="form-control" id="id" name="id" v-model="notifica.id" readonly />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.tipoCanale') }}</label>
            <select
              class="form-control"
              name="tipoCanale"
              :class="{ valid: !v$.tipoCanale.$invalid, invalid: v$.tipoCanale.$invalid }"
              v-model="v$.tipoCanale.$model"
              id="notifica-tipoCanale"
              data-cy="tipoCanale"
            >
              <option
                v-for="tipoCanaleNotifica in tipoCanaleNotificaValues"
                :key="tipoCanaleNotifica"
                :value="tipoCanaleNotifica"
                :label="t$('smartbookingApp.TipoCanaleNotifica.' + tipoCanaleNotifica)"
              >
                {{ tipoCanaleNotifica }}
              </option>
            </select>
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.tipoEvento') }}</label>
            <select
              class="form-control"
              name="tipoEvento"
              :class="{ valid: !v$.tipoEvento.$invalid, invalid: v$.tipoEvento.$invalid }"
              v-model="v$.tipoEvento.$model"
              id="notifica-tipoEvento"
              data-cy="tipoEvento"
            >
              <option
                v-for="tipoEventoNotifica in tipoEventoNotificaValues"
                :key="tipoEventoNotifica"
                :value="tipoEventoNotifica"
                :label="t$('smartbookingApp.TipoEventoNotifica.' + tipoEventoNotifica)"
              >
                {{ tipoEventoNotifica }}
              </option>
            </select>
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.messaggio') }}</label>
            <input
              type="text"
              class="form-control"
              name="messaggio"
              id="notifica-messaggio"
              data-cy="messaggio"
              :class="{ valid: !v$.messaggio.$invalid, invalid: v$.messaggio.$invalid }"
              v-model="v$.messaggio.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.inviata') }}</label>
            <input
              type="checkbox"
              class="form-check"
              name="inviata"
              id="notifica-inviata"
              data-cy="inviata"
              :class="{ valid: !v$.inviata.$invalid, invalid: v$.inviata.$invalid }"
              v-model="v$.inviata.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.inviataAt') }}</label>
            <div class="d-flex">
              <input
                id="notifica-inviataAt"
                data-cy="inviataAt"
                type="datetime-local"
                class="form-control"
                name="inviataAt"
                :class="{ valid: !v$.inviataAt.$invalid, invalid: v$.inviataAt.$invalid }"
                :value="convertDateTimeFromServer(v$.inviataAt.$model)"
                @change="updateInstantField('inviataAt', $event)"
              />
            </div>
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.errore') }}</label>
            <input
              type="text"
              class="form-control"
              name="errore"
              id="notifica-errore"
              data-cy="errore"
              :class="{ valid: !v$.errore.$invalid, invalid: v$.errore.$invalid }"
              v-model="v$.errore.$model"
            />
          </div>
          <div class="mb-3">
            <label class="form-control-label" for="notifica">{{ t$('smartbookingApp.notifica.createdAt') }}</label>
            <div class="d-flex">
              <input
                id="notifica-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="notifica">{{ t$('smartbookingApp.notifica.conferma') }}</label>
            <select class="form-control" id="notifica-conferma" data-cy="conferma" name="conferma" v-model="notifica.conferma">
              <option :value="null"></option>
              <option
                :value="notifica.conferma && confermaOption.id === notifica.conferma.id ? notifica.conferma : confermaOption"
                v-for="confermaOption in confermas"
                :key="confermaOption.id"
              >
                {{ confermaOption.id }}
              </option>
            </select>
          </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="./notifica-update.component.ts"></script>
