Skip to content
Snippets Groups Projects
Feature_edit.vue 33.1 KiB
Newer Older
<template>
  <div v-frag>
    <div class="fourteen wide column">
      <h1 v-if="feature && currentRouteName === 'editer-signalement'">
Timothee P's avatar
Timothee P committed
        Mise à jour du signalement "{{ feature.title || feature.feature_id }}"
        v-else-if="feature_type && currentRouteName === 'ajouter-signalement'"
        Création d'un signalement <small>[{{ feature_type.title }}]</small>
      </h1>

      <form
        id="form-feature-edit"
        action=""
        method="post"
        enctype="multipart/form-data"
        class="ui form"
      >
        <!-- Feature Fields -->
        <div class="two fields">
leandro's avatar
leandro committed
          <div :class="field_title">
            <label :for="form.title.id_for_label">{{ form.title.label }}</label>
              :id="form.title.id_for_label"
              v-model="form.title.value"
              :maxlength="form.title.field.max_length"
              :name="form.title.html_name"
            >
            <ul
              id="errorlist-title"
              class="errorlist"
            >
              <li
                v-for="error in form.title.errors"
                :key="error"
              >
            <label :for="form.status.id_for_label">{{
              form.status.label
              :options="allowedStatusChoices"
              :selected="selected_status.name"
          <label :for="form.description.id_for_label">{{
            form.description.label
            v-model="form.description.value"
            :name="form.description.html_name"
          <label :for="form.geom.id_for_label">{{ form.geom.label }}</label>
          <div
            v-if="feature_type && feature_type.geom_type === 'point'"
            v-frag
          >
                id="add-geo-image"
                type="button"
                class="ui compact button"
                @click="toggleGeoRefModal"
                <i class="file image icon" />Importer une image géoréférencée
              </button>
              Vous pouvez utiliser une image géoréférencée pour localiser le
              signalement.
            </p>

            <div
              v-if="showGeoRef"
              class="ui dimmer modals page transition visible active"
              style="display: flex !important"
            >
              <div
                class="ui mini modal transition visible active"
                style="display: block !important"
                <i
                  class="close icon"
                  @click="toggleGeoRefModal"
                />
                <div class="content">
                  <h3>Importer une image géoréférencée</h3>
                  <form
                    id="form-geo-image"
                    class="ui form"
                    enctype="multipart/form-data"
                  >
                    <p>
                      Attention, si vous avez déjà saisi une géométrie, celle
                      issue de l'image importée l'écrasera.
                    </p>
                    <div class="field georef-btn">
                      <label>Image (png ou jpeg)</label>
                      <label
                        class="ui icon button"
                        for="image_file"
                      >
                        <i class="file icon" />
                        <span class="label">{{ geoRefFileLabel }}</span>
                      </label>
                      <input
                        id="image_file"
                        ref="file"
                        type="file"
                        accept="image/jpeg, image/png"
                        style="display: none"
                        name="image_file"
                        class="image_file"
                        @change="handleFileUpload"
                      >
                      <ul
                        v-if="erreurUploadMessage"
                        class="errorlist"
                      >
                        <li>
                          {{ erreurUploadMessage }}
                        </li>
                      </ul>
                    </div>
                    <button
                      id="get-geom-from-image-file"
                      type="button"
                      :class="[
                        'ui compact button',
                        file && !erreurUploadMessage ? 'green' : 'disabled',
                        { red: erreurUploadMessage },
                      ]"
                      @click="georeferencement"
                      <i class="plus icon" />
DESPRES Damien's avatar
DESPRES Damien committed
            </div>
DESPRES Damien's avatar
DESPRES Damien committed
            <p v-if="showGeoPositionBtn">
                id="create-point-geoposition"
                type="button"
                class="ui compact button"
                @click="create_point_geoposition"
                <i class="ui map marker alternate icon" />Positionner le
                signalement à partir de votre géolocalisation
              </button>
            </p>
            <span
              v-if="erreurGeolocalisationMessage"
              id="erreur-geolocalisation"
              <div class="ui negative message">
                <div class="header">
                  Une erreur est survenue avec la fonctionnalité de
                  géolocalisation
                </div>
                <p id="erreur-geolocalisation-message">
                  {{ erreurGeolocalisationMessage }}
                </p>
          <ul
            id="errorlist-geom"
            class="errorlist"
          >
            <li
              v-for="error in form.geom.errors"
              :key="error"
            >
            :id="form.geom.id_for_label"
Loading
Loading full blame...