Subversion Repositories eFlore/Applications.cel

Rev

Rev 3167 | Rev 3171 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3167 Rev 3168
Line 1... Line 1...
1
"use strict";
1
"use strict";
Line -... Line 2...
-
 
2
 
-
 
3
// déclaration du tableau d'envoi des données?
-
 
4
// var datasToSubmit = new Array();
2
 
5
 
3
/***************************
6
/***************************
4
 *  Lancement des scripts  *
7
 *  Lancement des scripts  *
Line 5... Line 8...
5
 ***************************/
8
 ***************************/
Line 6... Line -...
6
 
-
 
7
jQuery( document ).ready( function() {
-
 
Line -... Line 9...
-
 
9
 
-
 
10
jQuery( document ).ready( function() {
8
 
11
 
9
  // Initialisation d'un identifiant de champ
12
 
Line 10... Line 13...
10
  var fieldId = 1;
13
  // Initialisation d'un identifiant de champ
11
 
14
  var fieldId = 0;
Line 24... Line 27...
24
// Logique globale pour l'ajout de nouveaux champs
27
// Logique globale pour l'ajout de nouveaux champs
25
function onClickAddNewFields( fieldId ) {
28
function onClickAddNewFields( fieldId ) {
Line 26... Line 29...
26
 
29
 
Line -... Line 30...
-
 
30
  $( '#add-fields' ).click( function() {
-
 
31
 
-
 
32
    // TODO : La création du tableau ci-dessous est à revoir mais les données sont les bonnes
-
 
33
    // datasToSubmit[fieldId] = {
-
 
34
    //   key:'',
-
 
35
    //   name:'',
-
 
36
    //   element:'',
-
 
37
    //   // un objet contenant les renseignements en fonction de l'élément
-
 
38
    //   // + contiendrait aussi un tableau des différentes valeus dans le cas où l'élément est une liste :
-
 
39
    //   value:'',
-
 
40
    //   description:'',
-
 
41
    //   unit:'',
-
 
42
    //   help:''
27
  $( '#add-fields' ).click( function() {
43
    // };
28
 
44
 
Line -... Line 45...
-
 
45
    // Ajout d'un nouveau champ
-
 
46
    displayNewField( fieldId );
-
 
47
 
-
 
48
    // Nom du champ affichage titre du champ
-
 
49
    onChangeDisplayFieldLabel( fieldId );
-
 
50
 
-
 
51
    // En fonction du type de champ choisi on demande les informations correspondantes
-
 
52
    onChangeFieldTypeCollectDetails( fieldId );
29
    // Ajout d'un nouveau champ
53
 
30
    displayNewField( fieldId );
54
    // TODO : recueillir les données et renseigner le tableau de'envoi
Line 31... Line -...
31
 
-
 
32
    // Suppression d'un champ
-
 
33
    onClickRemoveField();
-
 
34
 
-
 
35
    $('#submit-button').before(
-
 
36
      '<p>hello</p>'+
55
 
37
      '<input type="hidden" class="name-field-submit" name="name" data-id="' + fieldId+ '" value="">'
56
    // Suppression d'un champ
38
    );
57
    onClickRemoveField();
Line 39... Line 58...
39
 
58
 
40
    // Les images ou les nom des documents importés doivent aussi
59
    // Les images ou les nom des documents importés doivent aussi
41
    // s'afficher dans les champs ajoutés
60
    // s'afficher dans les champs ajoutés
Line 42... Line 61...
42
    inputFile();
61
    inputFile();
-
 
62
 
43
 
63
    fieldId++;
Line 44... Line 64...
44
    fieldId++;
64
  });
45
  });
65
}
46
}
66
 
47
 
67
// Création et logique pour un nouveau champ
Line 48... Line 68...
48
// Création et logique pour un nouveau champ
68
// Un peu d'animation de l'affichage d'un nouveau champ
49
function newField( fieldId ) {
69
function displayNewField( fieldId ) {
50
 
70
 
-
 
71
  // Le html des nouveaux champs inséré dans le dom
-
 
72
  $( '#new-fields' ).append(
-
 
73
    '<div data-id="' + fieldId + '" class="new-field">'+
-
 
74
      '<h3>Nouveau champ :<br><strong class="field-title"></strong></h3>'+
-
 
75
 
-
 
76
      // Nom du champ
-
 
77
      '<label for="field-name" title="Donnez titre à votre champ">Nom du champ</label>'+
-
 
78
      '<input type="text" name="field-name" class="field-name" placeholder="Donnez titre à votre champ" required>'+
Line 51... Line 79...
51
  // Le html des nouveaux champs à insérer dans le dom
79
 
52
  var fieldsHtml =
80
      // Clé du champ
53
    '<div data-id="' + fieldId + '" class="new-field">'+
81
      '<label for="field-key" title="Clé du champ (son nom dans la base de données)">'+
54
      '<h3>Nouveau champ :<br><strong class="field-title"></strong></h3>'+
82
        'Clé du champ en camelCase (ecritureChameau)<br>'+
55
 
83
        '<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
56
      // Nom du champ
84
        'Pas d\'accents ou de cédille, pas de caractères spéciaux.'+
57
      '<label for="nom-champs" title="Donnez titre à votre champ">Nom du champ</label>'+
85
      '</label>'+
58
      '<input type="text" class="nom-champs" placeholder="Donnez titre à votre champ" required>'+
86
      '<input type="text" name="field-key" class="field-key" placeholder="Clé du champ" required title="Clé du champ (son nom dans la base de données)">'+
59
 
87
 
Line 73... Line 101...
73
          '<option value="range">Curseur (curseur entre 2 bornes)</option>'+
101
          '<option value="range">Curseur (curseur entre 2 bornes)</option>'+
74
          '<option value="number">Nombre</option>'+
102
          '<option value="number">Nombre</option>'+
75
        '</select>'+
103
        '</select>'+
76
      '</div>'+
104
      '</div>'+
Line 77... Line 105...
77
 
105
 
78
      // Clé du champ
106
      // Checkbox "champ requis"
79
      '<label for="cle" title="Clé du champ (son nom dans la base de données)">'+
107
      '<label for="field-is_mandatory" title="Ce champ est obligatoire">Champ requis ?</label>'+
-
 
108
      '<input type="checkbox" name="field-is_mandatory" class="field-is_mandatory">'+
80
        'Clé du champ en camelCase (ecritureChameau)<br>'+
109
 
81
        '<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
110
      // Unité des valeurs
82
        'Pas d\'accents ou de cédille, pas de caractères spéciaux.'+
-
 
83
      '</label>'+
111
      '<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+
Line 84... Line 112...
84
      '<input type="text" name="cle" class="cle" placeholder="Clé du champ" required title="Clé du champ (son nom dans la base de données)">'+
112
      '<input type="text" name="field-unit" class="field-unit" placeholder="symbole de vos unités">'+
85
 
113
 
86
      // Tooltip
114
      // Tooltip
Line 87... Line 115...
87
      '<label for="field-tooltip" title="Ajoutez une info-bulle">Info-bulle</label>'+
115
      '<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+
88
      '<input type="text" name="field-tooltip" class="field-tooltip" placeholder="Quelques mots">'+
116
      '<input type="text" name="field-description" class="field-description" placeholder="Quelques mots">'+
89
 
117
 
90
      // Import d'une image ou d'un pdf d'aide à afficher en popup
118
      // Import d'une image ou d'un pdf d'aide à afficher en popup
91
      '<div class="input-file-container">'+
119
      '<div class="input-file-container">'+
92
        '<input type="file" class="input-file" name="help" id="help" accept="application/pdf, image/*, video/*">'+
120
        '<input type="file" class="input-file field-help" name="field-help" accept="application/pdf, image/*, video/*">'+
Line 93... Line -...
93
        '<label for="help" class="label-file"><i class="fas fa-download"></i>Image ou pdf d\'aide (popup)</label>'+
-
 
94
      '</div>'+
-
 
95
      '<div class="file-return help"></div>'+
-
 
96
 
-
 
97
      '<div class="row">'+
-
 
98
 
-
 
99
        // Checkbox "champ requis"
-
 
100
        '<div class="col-md-5">'+
-
 
101
          '<label for="required-field" title="Ce champ est obligatoire">Champ requis ?</label>'+
-
 
102
          '<input type="checkbox" name="required-field" id="required-field">'+
-
 
103
        '</div>'+
121
        '<label for="field-help" class="label-file"><i class="fas fa-download"></i>Image ou pdf d\'aide (popup)</label>'+
104
 
122
      '</div>'+
105
        // Bouton supprimer le champ
-
 
Line 106... Line 123...
106
        '<div class="col-md-5">'+
123
      '<div class="file-return help"></div>'+
Line 107... Line 124...
107
          '<label for="remove-field">Supprimer ce champ</label>'+
124
 
-
 
125
      '<label for="remove-field">Supprimer ce champ</label>'+
Line 108... Line 126...
108
          '<div class="remove-field button" name="remove-field" data-id="' + fieldId + '" title="Supprimer un champ"><i class="fa fa-times" aria-hidden="true"></i></div>'
126
      '<div class="remove-field button" name="remove-field" data-id="' + fieldId + '" title="Supprimer un champ"><i class="fa fa-times" aria-hidden="true"></i></div>'+
-
 
127
 
-
 
128
      '</div>'+
Line 109... Line 129...
109
        '</div>'+
129
 
110
 
130
    '</div>'
Line 111... Line 131...
111
      '</div>'+
131
  );
112
 
-
 
113
    '</div>';
-
 
Line 114... Line 132...
114
 
132
 
115
  $( '#new-fields' ).append( fieldsHtml );
-
 
Line 116... Line -...
116
 
-
 
117
  // Le nom du champ est affiché dès qu'il est renseigné
133
  // Animation de l'affichage
-
 
134
  $( '.new-field[data-id="' + fieldId + '"]').hide().removeClass( 'hidden' ).show( 200 );
118
  onChangeDisplayFieldName( fieldId );
135
}
Line 119... Line 136...
119
 
136
 
120
  // En fonction du type de champ choisi on demande les informations correspondantes
137
// Affichage du nom du champ dès qu'il est renseigné
Line 121... Line 138...
121
  onChangeFieldTypeCollectDetails( fieldId );
138
function onChangeDisplayFieldLabel( fieldId ) {
122
}
-
 
123
 
-
 
124
// Un peu d'animation de l'affichage d'un nouveau champ
-
 
Line 125... Line 139...
125
function displayNewField( fieldId ) {
139
 
126
 
-
 
Line 127... Line -...
127
  newField( fieldId );
-
 
128
  $( '.new-field[data-id="' + fieldId + '"]').hide().removeClass( 'hidden' ).show( 200 );
140
  $('.new-field[data-id="' + fieldId + '"] .field-name').change( function() {
129
}
-
 
130
 
-
 
131
// Logique pour le bouton supprimer tout un champ
141
 
132
function onClickRemoveField() {
142
    $( '.new-field[data-id="' + fieldId + '"] .field-title' ).text( $( this ).val() );
Line 133... Line 143...
133
 
143
 
Line 134... Line 144...
134
  $( '.remove-field.button' ).click( function() {
144
    // TODO : Renseigner le nom du champs dans le tableau à envoyer
135
    $( '.new-field[data-id="' + $( this ).attr( 'data-id' ) + '"]').fadeOut( 200 , this.remove() );
145
  });
Line -... Line 146...
-
 
146
}
-
 
147
 
136
  });
148
// Supprimer tout un champ
137
}
149
function onClickRemoveField() {
138
 
150
 
139
// Affichage du nom du champ dès qu'il est renseigné
151
  $( '.remove-field.button' ).click( function() {
140
function onChangeDisplayFieldName( fieldId ) {
152
 
141
 
153
    $( '.new-field[data-id="' + $( this ).attr( 'data-id' ) + '"]').fadeOut( 200 , this.remove() );
Line 142... Line 154...
142
  $('.new-field[data-id="' + fieldId + '"] .nom-champs').change( function() {
154
 
Line 143... Line 155...
143
    var fieldName = $( this ).val();
155
    // TODO : supprimer un champ du tableau à envoyer
144
    $( '.new-field[data-id="' + fieldId + '"] .field-title' ).text( fieldName );
156
  });
Line 145... Line 157...
145
    $( '.name-field-submit[data-id="' + fieldId + '"]' ).val( fieldName );
157
}
146
  });
158
 
147
}
159
/**** Recueil des informations et détails qui dépendent du type de champ choisi ****/
Line -... Line 160...
-
 
160
 
-
 
161
// Logique de recueil d'informations en fonction du type de champ choisi
-
 
162
function onChangeFieldTypeCollectDetails( fieldId ) {
148
 
163
 
149
/**** Recueil des informations et détails qui dépendent du type de champ choisi ****/
164
  // var validateRegexp = '';
Line 150... Line 165...
150
 
165
 
151
// Logique de recueil d'informations en fonction du type de champ choisi
166
  var fieldDetails =
-
 
167
    // Placeholder (champ type text par défaut)
152
function onChangeFieldTypeCollectDetails( fieldId ) {
168
    '<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
153
 
169
    '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">';
154
    var fieldDetails =
170
  // On insère les champs par défaut de recueil d'informations
155
      // Placeholder (champ type text par défaut)
171
  displayFieldDetailsCollect( fieldId , fieldDetails );
Line 156... Line 172...
156
      '<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
172
 
157
      '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">';
173
  $( '.new-field[data-id="' + fieldId + '"] .field-element' ).change( function() {
158
    // On insère les champs par défaut de recueil d'informations
174
 
Line 159... Line 175...
159
    displayFieldDetailsCollect( fieldId , fieldDetails );
175
    // on intialise L'id pour les listes la variable qui contiendra un id pour chaque option
160
 
176
    var valueId = 1;
161
  $( '.new-field[data-id="' + fieldId + '"] .type-champ' ).change( function() {
177
 
Line 162... Line 178...
162
 
178
    // Si on hésite on qu'on se trompe dans la liste :
163
    // on intialise L'id pour les listes la variable qui contiendra un id pour chaque option
179
    // les champs de détails de l'option précédente doivent être supprimés
164
    var valueId = 1;
180
    $( '.new-field[data-id="' + fieldId + '"] .field-details' ).remove();
Line 165... Line 181...
165
 
181
 
166
    // Si on hésite on qu'on se trompe dans la liste :
182
    // Remise à 0 des infos à soumettre dans l'input type hiddes .field-value-submit
167
    // les champs de détails de l'option précédente doivent être supprimés
183
    $( '.field-value-submit[data-id="' + fieldId + '"]' ).val('');
-
 
184
 
168
    $( '.new-field[data-id="' + fieldId + '"] .field-details' ).remove();
185
    // $( this ).val() = le type de champ choisi dans select ".field-element"
Line 169... Line 186...
169
 
186
    switch( $( this ).val() ) {
-
 
187
 
-
 
188
      case 'number':
-
 
189
      case 'range':
-
 
190
        // validateRegexp = '^\d+([\.|,]\d+)?$';
170
    // $( this ).val() = le type de champ choisi dans select ".type-champ"
191
        fieldDetails =
171
    switch( $( this ).val() ) {
192
          // Placeholder
172
 
193
          '<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir le champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+
173
      case 'number':
194
          '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">'+
Line 174... Line 195...
174
      case 'range':
195
 
175
        fieldDetails =
196
          // Valeur par défaut
176
          // Placeholder
197
          '<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+
177
          '<label for="aide-saisie" title="Deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+
198
          '<input type="number" name="default" class="default" step="0.01" value="0">'+
Line 178... Line 199...
178
          '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">'+
199
 
179
 
200
          // Incrémentation ( attribut step="" )
180
          // Valeur par défaut
201
          '<label for="step" title="De 10 en 10, de 0.5 en 0.5, etc.">Le "pas" d\'incrémentation (step).<br>Pour l\'utilisateur, par defaut step = 1</label>'+
181
          '<label for="default" title="Valeur par défaut">Valeur par défaut (1 par défaut)</label>'+
202
          '<input type="number" name="step" class="step" step="0.01" value="1">'+
-
 
203
 
182
          '<input type="number" name="default" class="default" value="1">'+
204
          // Min
183
 
-
 
184
          // Incrémentation ( attribut step="" )
-
 
185
          '<label for="pas" title="De 10 en 10, de 0.5 en 0.5, etc.">Le "pas" d\'incrémentation,<br>(attention, pas devirgule mais un point),<br>par defaut la valeur augmentera de 1 en 1</label>'+
205
          '<label for="min" title="valeur min">Valeur minimale</label>'+
Line 186... Line 206...
186
          '<input type="number" name="pas" class="pas" value="1">';
206
          '<input type="number" name="min" class="min" step="0.01" value="0">'+
187
 
207
 
188
          // Min
208
          // Max
Line 223... Line 243...
223
          '<input type="checkbox" class="option-other-value" name="option-other-value" title="Ajouter une option \'Autre\' à la fin">';
243
          '<input type="checkbox" class="option-other-value" name="option-other-value" title="Ajouter une option \'Autre\' à la fin">';
224
        break;
244
        break;
Line 225... Line 245...
225
 
245
 
226
      case 'file':
246
      case 'file':
-
 
247
        fieldDetails = '';
-
 
248
        break;
-
 
249
 
227
        fieldDetails = '';
250
      case 'email':
228
      case 'text':
251
      case 'text':
229
      case 'textarea':
-
 
230
      case 'email':
252
      case 'textarea':
231
      default:
253
      default:
232
        fieldDetails =
254
        fieldDetails =
233
        // Placeholder
255
        // Placeholder
234
        '<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
256
        '<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
235
        '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">';
257
        '<input type="text" name="aide-saisie" class="aide-saisie" placeholder="Ce que doit contenir le champ">';
236
        break;
258
        break;
Line -... Line 259...
-
 
259
    }
-
 
260
 
-
 
261
    // Changement du type d'élément à envoyer
237
    }
262
    $( '.field-element-submit[data-id="' + fieldId + '"]' ).val( $( this ).val() );
238
 
263
 
239
    if( fieldDetails.length > 0 ) {
264
    if( fieldDetails.length > 0 ) {
240
      //ne pas ajouer une div vide s'il n'y pas d'informations à demander
265
      //ne pas ajouer une div vide s'il n'y pas d'informations à demander
Line 241... Line 266...
241
      displayFieldDetailsCollect( fieldId , fieldDetails );
266
      displayFieldDetailsCollect( fieldId , fieldDetails );
242
    }
267
    }
243
 
268
 
Line -... Line 269...
-
 
269
    // Ajout des valeurs possibles
-
 
270
    // lorsque le champ est une liste ou case à cocher
-
 
271
    onClickAddNewValueToList( fieldId , valueId );
-
 
272
 
-
 
273
    // TODO : fonction ci-dessous est déclarée plus bas
244
    // Ajout des valeurs possibles
274
    // et servait à envoyer les données collectées
245
    // lorsque le champ est une liste ou case à cocher
275
    // mais pas faite pour un tableau
Line 246... Line 276...
246
    onClickAddNewValueToList( fieldId , valueId );
276
    // onCollectDataValuesToSubmit( fieldId , $( this ).val() );
247
 
277
 
Line 259... Line 289...
259
// Logique d'ajout des options des listes (deroulantes, cases à cocher etc.)
289
// Logique d'ajout des options des listes (deroulantes, cases à cocher etc.)
260
function onClickAddNewValueToList( fieldId , valueId ) {
290
function onClickAddNewValueToList( fieldId , valueId ) {
Line 261... Line 291...
261
 
291
 
Line 262... Line 292...
262
  $( '.new-field[data-id="' + fieldId + '"] .add-value-button' ).click( function() {
292
  $( '.new-field[data-id="' + fieldId + '"] .add-value-button' ).click( function() {
263
 
293
 
Line 264... Line 294...
264
    var valueHtml =
294
    $( '.new-field[data-id="' + fieldId + '"] .add-value' ).before(
265
      '<div class="new-value" data-list-value-id="' + valueId +'">'+
295
      '<div class="new-value" data-list-value-id="' + valueId +'">'+
266
 
296
 
Line 267... Line 297...
267
        // Recueil d'une valeur de la liste
297
        // Recueil d'une valeur de la liste
Line 268... Line 298...
268
        '<label for="list-value">Valeur:</label>'+
298
        '<label for="list-value">Valeur:</label>'+
Line 269... Line 299...
269
        '<input type="text" name="list-value" class="list-value" placeholder="Une des valeurs de la liste">'+
299
        '<input type="text" name="list-value" class="list-value" placeholder="Une des valeurs de la liste">'+
270
 
300
 
271
        '<div class="row">'+
301
        '<div class="row">'+
Line 272... Line 302...
272
 
302
 
Line 273... Line 303...
273
          '<div class="col-md-5">'+
303
          '<div class="col-md-5">'+
Line 274... Line 304...
274
 
304
 
275
            // Checkbox "valeur pas défaut" de la liste
305
            // Checkbox "valeur par défaut" de la liste
276
            '<label for="is-defaut-value" title="Ceci est la valeur par défaut">Valeur par défaut</label>'+
306
            '<label for="is-defaut-value" title="Ceci est la valeur par défaut">Valeur par défaut</label>'+
Line 277... Line 307...
277
            '<input type="checkbox" name="is-defaut-value" class="is-defaut-value">'+
307
            '<input type="checkbox" name="is-defaut-value" class="is-defaut-value">'+
Line 278... Line 308...
278
 
308
 
279
          '</div>'+
309
          '</div>'+
280
 
310
 
-
 
311
          '<div class="col-md-5">'+
-
 
312
 
281
          '<div class="col-md-5">'+
313
            // Bouton "supprimer la valeur" de la liste
Line 282... Line 314...
282
 
314
            '<label for="remove-value">Supprimer valeur</label>'+
283
            // Bouton "supprimer la valeur" de la liste
315
            '<div class="remove-value button" name="remove-value" data-list-value-id="' + valueId + '" title="Supprimer une valeur"><i class="fa fa-times" aria-hidden="true"></i></div>'+
Line 284... Line 316...
284
            '<label for="remove-value">Supprimer valeur</label>'+
316
 
Line 304... Line 336...
304
// Logique pour le bouton supprimer une valeur
336
// Logique pour le bouton supprimer une valeur
305
function onClickRemoveListValue( fieldId ) {
337
function onClickRemoveListValue( fieldId ) {
Line 306... Line 338...
306
 
338
 
307
  $('.new-field[data-id="' + fieldId + '"] .remove-value.button').click( function() {
339
  $('.new-field[data-id="' + fieldId + '"] .remove-value.button').click( function() {
-
 
340
    $( '.new-field[data-id="' + fieldId + '"] .new-value[data-list-value-id="' + $( this ).attr( 'data-list-value-id' ) + '"]' ).fadeOut( 200 , this.remove() );
-
 
341
 
308
    $( '.new-field[data-id="' + fieldId + '"] .new-value[data-list-value-id="' + $( this ).attr( 'data-list-value-id' ) + '"]' ).fadeOut( 200 , this.remove() );
342
    // TODO : logique pour retirer une valeur du tableau d'envoi
309
  });
343
  });
Line 310... Line 344...
310
}
344
}
311
 
345
 
Line 312... Line 346...
312
// Dans une liste il ne peut y avoir qu'une valeur pas défaut cochée
346
// Dans une liste il ne peut y avoir qu'une valeur par défaut cochée
313
function onClickDefaultValueRemoveOthers( fieldId ) {
347
function onClickDefaultValueRemoveOthers( fieldId ) {
314
 
348
 
315
  $( '.new-field[data-id="' + fieldId + '"] .is-defaut-value' ).click( function() {
349
  $( '.new-field[data-id="' + fieldId + '"] .is-defaut-value' ).click( function() {
Line -... Line 350...
-
 
350
    $( '.new-field[data-id="' + fieldId + '"] .is-defaut-value' ).not( $( this ) ).removeAttr('checked');
-
 
351
  });
-
 
352
}
-
 
353
 
-
 
354
// TODO : ci-dessous l'envoi des données
-
 
355
// quand je pensais le faire à travers des input hidden au dessus du submit
-
 
356
// la logique pourrait encore servir?
-
 
357
// il manquait juste les valeurs pour les listes (select,checkbox, etc.)
-
 
358
// et l'ajout d'une valeur 'autre' si la checkbox était checkée
-
 
359
//
-
 
360
// // Remplissage de l'attribut valut de l'input hidden .field-value-submit
-
 
361
// // pour l'envoi des informations qui dépendent de l'élément choisi
-
 
362
// function onCollectDataValuesToSubmit( fieldId , selectedList ) {
-
 
363
 
-
 
364
//     switch( selectedList ) {
-
 
365
 
-
 
366
//       case 'number':
-
 
367
//       case 'range':
-
 
368
//         //default
-
 
369
//         var ph = 'ph:' + $( '.new-field[data-id="' + fieldId + '"] .aide-saisie' ).val() + ';';
-
 
370
//         var def = 'def:' + $( '.new-field[data-id="' + fieldId + '"] .default' ).val() + ';';
-
 
371
//         var step = 'step:' + $( '.new-field[data-id="' + fieldId + '"] .default' ).val() + ';';
-
 
372
//         var min = 'min:' + $( '.new-field[data-id="' + fieldId + '"] .min' ).val() + ';';
-
 
373
//         var max = 'max:' + $( '.new-field[data-id="' + fieldId + '"] .max' ).val() + ';';
-
 
374
 
-
 
375
//         $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
376
 
-
 
377
//         // Placeholder
-
 
378
//         $( '.new-field[data-id="' + fieldId + '"] .aide-saisie' ).change( function() {
-
 
379
//           ph = 'ph:"' + $( this ).val() + '";';
-
 
380
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
381
//         });
-
 
382
 
-
 
383
//         // Valeur par défaut
-
 
384
//         $( '.new-field[data-id="' + fieldId + '"] .default' ).change( function() {
-
 
385
//           def = 'def:' + $( this ).val() + ';';
-
 
386
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
387
//         });
-
 
388
 
-
 
389
//         // Incrémentation ( attribut step="" )
-
 
390
//         $( '.new-field[data-id="' + fieldId + '"] .step' ).change( function() {
-
 
391
//           step = 'step:' + $( this ).val() + ';';
-
 
392
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
393
//         });
-
 
394
 
-
 
395
//         // Min
-
 
396
//         $( '.new-field[data-id="' + fieldId + '"] .min' ).change( function() {
-
 
397
//           min = 'min:' + $( this ).val() + ';';
-
 
398
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
399
//         });
-
 
400
 
-
 
401
//         // Max
-
 
402
//         $( '.new-field[data-id="' + fieldId + '"] .max' ).change( function() {
-
 
403
//           max = 'max:' + $( this ).val() + ';';
-
 
404
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + ph + def + step + min + max + '}');
-
 
405
//         });
-
 
406
 
-
 
407
//         break;
-
 
408
 
-
 
409
//       case 'date':
-
 
410
//         // default
-
 
411
//         var min = 'min:' + $( '.new-field[data-id="' + fieldId + '"] .min' ).val() + ';';
-
 
412
//         var max = 'max:' + $( '.new-field[data-id="' + fieldId + '"] .max' ).val() + ';';
-
 
413
 
-
 
414
//         $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + min +  max + '}' );
-
 
415
 
-
 
416
//         // Min
-
 
417
//         $( '.new-field[data-id="' + fieldId + '"] .min' ).change( function() {
-
 
418
//           min = 'min:' + $( this ).val() + ';';
-
 
419
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + min + max + '}' );
-
 
420
//         });
-
 
421
 
-
 
422
//         // Max
-
 
423
//         $( '.new-field[data-id="' + fieldId + '"] .max' ).change( function() {
-
 
424
//           var max = 'max:' + $( this ).val() + ';';
-
 
425
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{' + min + max + '}' );
-
 
426
//         });
-
 
427
//         break;
-
 
428
 
-
 
429
//       case 'select':
-
 
430
//       case 'checkbox':
-
 
431
//       case 'list-checkbox':
-
 
432
//       case 'radio':
-
 
433
//         // // Bouton ajout d'une valeur à la liste
-
 
434
//         // '<label for="add-value" class="add-value" title="Ajouter une valeur à la liste">Ajouter une valeur</label>'+
-
 
435
//         // '<div class="button add-value-button" name="add-value" title="Ajouter une valeur à la liste"><i class="fa fa-plus" aria-hidden="true"></i></div>'+
-
 
436
 
-
 
437
//         // // checkbox ajouter une valeur "Autre:"
-
 
438
//         // '<label for="option-other-value" title="Ajouter une option \'Autre:\' à la fin">Valeur "Autre"</label>'+
-
 
439
//         // '<input type="checkbox" class="option-other-value" name="option-other-value" title="Ajouter une option \'Autre\' à la fin">';
-
 
440
//         value = 'lists';
-
 
441
//         break;
-
 
442
 
-
 
443
//       case 'file':
-
 
444
//         $( '.new-field[data-id="' + fieldId + '"] .input-file' ).change( function() {
-
 
445
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val( '{fileName:' + $( this ).text() + '}');
-
 
446
//         });
-
 
447
//         break;
-
 
448
 
-
 
449
//       case 'email':
-
 
450
//       case 'text':
-
 
451
//       case 'textarea':
-
 
452
//       default:
-
 
453
//         // Placeholder
-
 
454
//         $( '.new-field[data-id="' + fieldId + '"] .aide-saisie'  ).change( function() {
-
 
455
//           $( '.field-value-submit[data-id="' + fieldId + '"]' ).val('{ph:"' + $( this ).val() + '"}');
Line 316... Line 456...
316
    $( '.new-field[data-id="' + fieldId + '"] .is-defaut-value' ).not( $( this ) ).removeAttr('checked');
456
//         });
317
  });
457
//         break;
318
}
458
//     }
319
 
459
// }