Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3341 Rev 3346
Line 315... Line 315...
315
        displayFieldDetailsCollect(
315
        displayFieldDetailsCollect(
316
          fieldIndex,
316
          fieldIndex,
317
          '<p class="message element-message">' +
317
          '<p class="message element-message">' +
318
            '<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> ' +
318
            '<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> ' +
319
            'Entrez au moins une valeur de ' + $( this ).children( 'option:selected' ).text() +
319
            'Entrez au moins une valeur de ' + $( this ).children( 'option:selected' ).text() +
-
 
320
            '<br>Si aucun label à afficher n\'est indiqué, la valeur entrée sera utilisée (première lettre en majuscule).'+
320
          '</p>'+
321
          '</p>'+
321
          // Première option
322
          // Première option
322
          '<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
323
          '<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
323
            // Recueil d'une valeur de la liste
324
            // Recueil d'une valeur de la liste
324
            '<div class="col-sm-12 mt-3">'+
325
            '<div class="col-sm-12 mt-3">'+
325
              '<label for="list-value">Valeur *:</label>'+
326
              '<label for="list-value">Valeur *</label>'+
326
              '<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
327
              '<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
327
            '</div>' +
328
            '</div>' +
-
 
329
            // Recueil du label à afficher
-
 
330
            '<div class="col-sm-12 mt-3">'+
-
 
331
              '<label for="displayed-label">Label</label>'+
-
 
332
              '<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+
-
 
333
            '</div>' +
328
            // Checkbox valeur par défaut
334
            // Checkbox valeur par défaut
329
            '<div class="col-sm-12 radio mt-3">'+
335
            '<div class="col-sm-12 radio mt-3">'+
330
              '<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+
336
              '<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+
331
                '<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+
337
                '<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+
332
                'Valeur par défaut'+
338
                'Valeur par défaut'+
Line 385... Line 391...
385
    valueIndex++;
391
    valueIndex++;
386
    $( '.add-value-container[data-id="' + fieldIndex + '"]' ).before(
392
    $( '.add-value-container[data-id="' + fieldIndex + '"]' ).before(
387
      '<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
393
      '<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
388
        // Recueil d'une valeur de la liste
394
        // Recueil d'une valeur de la liste
389
        '<div class="col-sm-12 mt-3">'+
395
        '<div class="col-sm-12 mt-3">'+
390
          '<label for="list-value">Valeur *:</label>'+
396
          '<label for="list-value">Valeur *</label>'+
391
          '<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
397
          '<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
392
        '</div>' +
398
        '</div>' +
-
 
399
        // Recueil du label à afficher
-
 
400
        '<div class="col-sm-12 mt-3">'+
-
 
401
          '<label for="displayed-label">Label</label>'+
-
 
402
          '<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+
-
 
403
        '</div>' +
393
        // Checkbox valeur par défaut+bouton supprimer
404
        // Checkbox valeur par défaut+bouton supprimer
394
        '<div class="col-sm-12 mt-3 row">'+
405
        '<div class="col-sm-12 mt-3 row">'+
395
          // Bouton supprimer une option
406
          // Bouton supprimer une option
396
          '<div class="col-sm-5">'+
407
          '<div class="col-sm-5">'+
397
            '<div class="remove-value button" name="remove-value" data-id="' + fieldIndex + '" data-list-value-id="' + valueIndex + '" title="Supprimer une valeur"><i class="fa fa-trash" aria-hidden="true"></i></div>'+
408
            '<div class="remove-value button" name="remove-value" data-id="' + fieldIndex + '" data-list-value-id="' + valueIndex + '" title="Supprimer une valeur"><i class="fa fa-trash" aria-hidden="true"></i></div>'+
Line 762... Line 773...
762
 
773
 
763
// Ajout d'une valeur d'un élément liste (select, checkbox etc.)
774
// Ajout d'une valeur d'un élément liste (select, checkbox etc.)
764
// dans le tableau de resultats
775
// dans le tableau de resultats
765
function onChangeStoreListValueLabel( datasToSubmitObject , thisFieldset ) {
776
function onChangeStoreListValueLabel( datasToSubmitObject , thisFieldset ) {
-
 
777
  $( '.list-value' , thisFieldset ).each( function() {
766
  $( '.list-value' , thisFieldset ).each( function() {
778
    var valueId = $( this ).data( 'list-value-id' );
-
 
779
    var selectedFieldElement = $( '.field-element' , thisFieldset ).val();
Line -... Line 780...
-
 
780
    var displayedLabel = '';
-
 
781
 
-
 
782
    if ( valeurOk( $( '.displayed-label[data-list-value-id="' + valueId + '"]' ).val() ) ) {
767
    var selectedFieldElement = $( '.field-element' , thisFieldset ).val();
783
      displayedLabel = $( '.displayed-label[data-list-value-id="' + valueId + '"]' ).val();
768
 
784
    }
769
     if( $( this ).val() ){
785
    if( $( this ).val() ){
770
      // Is-default-value non cochée
786
      // Is-default-value non cochée
771
      if( !$( '.is-defaut-value[data-list-value-id="' + $( this ).data( 'list-value-id' ) + '"]' , thisFieldset ).is( ':checked' ) ) {
787
      if( !$( '.is-defaut-value[data-list-value-id="' + valueId + '"]' , thisFieldset ).is( ':checked' ) ) {
772
        datasToSubmitObject.fieldValues.listValue.push( $( this ).val() );
788
        datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val(), displayedLabel ] );
773
      // Is-default-value cochée pour select/radio
789
      // Is-default-value cochée pour select/radio
774
      } else if( 'select' ===  selectedFieldElement || 'radio' === selectedFieldElement ) {
790
      } else if( 'select' ===  selectedFieldElement || 'radio' === selectedFieldElement ) {
775
        // Une seule valeur par defaut, devient la première valeur du tableau + '#'
791
        // Une seule valeur par defaut, devient la première valeur du tableau + '#'
776
        datasToSubmitObject.fieldValues.listValue.unshift( $( this ).val() + '#' );
792
        datasToSubmitObject.fieldValues.listValue.unshift( [ $( this ).val() + '#', displayedLabel ] );
777
      // Is-default-value cochée pour checkbox/list-checkbox
793
      // Is-default-value cochée pour checkbox/list-checkbox
778
      } else {
794
      } else {
779
        // On ajoute simplement la valeur au tableau + '#'
795
        // On ajoute simplement la valeur au tableau + '#'
780
        datasToSubmitObject.fieldValues.listValue.push( $( this ).val() + '#' );
796
        datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val() + '#', displayedLabel ] );
781
      }
797
      }
782
    }
798
    }
Line 868... Line 884...
868
      // Champs "listes"
884
      // Champs "listes"
869
      fieldDefaultNum  = $( '.default'               , thisFieldset ).val() || '',// value range/number par default
885
      fieldDefaultNum  = $( '.default'               , thisFieldset ).val() || '',// value range/number par default
870
      fieldOtherValue  = $( '.option-other-value'    , thisFieldset ).is( ':checked' ),//option autre
886
      fieldOtherValue  = $( '.option-other-value'    , thisFieldset ).is( ':checked' ),//option autre
871
      fieldOptions     = collectListOptions( thisFieldset );//Array: toutes les options
887
      fieldOptions     = collectListOptions( thisFieldset );//Array: toutes les options
872
  // Variables d'affichage
888
  // Variables d'affichage
873
  var fieldHtml               = '',//variable contenant tout le html à afficher
889
  var fieldHtml        = '',//variable contenant tout le html à afficher
874
      commonFieldsHtml        = {},//Éléments simples ou chaînes communes aux "listes"
890
      commonFieldsHtml = {},//Éléments simples ou chaînes communes aux "listes"
875
      listFieldsHtml = {},//chaînes & html pour les listes mais non spécifiques
891
      listFieldsHtml   = {},//chaînes & html pour les listes mais non spécifiques
876
      listFieldsHtml          = {},//chaînes & html spécifiques aux listes
892
      listFieldsHtml   = {},//chaînes & html spécifiques aux listes
877
      count                   = fieldOptions.length;//nombre d'options, pour les boucles for
893
      count            = fieldOptions.length;//nombre d'options, pour les boucles for
878
  fieldLabel = fieldLabel.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
894
  fieldLabel = fieldLabel.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
879
  fieldTooltip = fieldTooltip.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
895
  fieldTooltip = fieldTooltip.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
880
  fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
896
  fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
Line 881... Line 897...
881
 
897
 
Line 1446... Line 1462...
1446
      options = [];
1462
      options = [];
Line 1447... Line 1463...
1447
 
1463
 
1448
  $details.find( '.new-value' ).each( function() {
1464
  $details.find( '.new-value' ).each( function() {
1449
    options.push({
1465
    options.push({
1450
      // Valeur transmise (value)
1466
      // Valeur transmise (value)
1451
      optionValue : $( this ).find('.list-value').val().toLowerCase(),
1467
      optionValue : $( this ).find( '.list-value' ).val().toLowerCase(),
1452
      // Valeur Visible
1468
      // Valeur Visible
1453
      optionText  : $( this ).find('.list-value').val(),
1469
      optionText  : $( this ).find( '.displayed-label' ).val(),
1454
      // Booléen "default"
1470
      // Booléen "default"
1455
      isDefault   : $( this ).find( '.is-defaut-value').is( ':checked' ),
1471
      isDefault   : $( this ).find( '.is-defaut-value' ).is( ':checked' ),
1456
      // Indice de l'option
1472
      // Indice de l'option
1457
      optionIndex : $( this ).data( 'list-value-id')
1473
      optionIndex : $( this ).data( 'list-value-id' )
1458
    });
1474
    });
1459
  });
1475
  });
1460
  return options;
1476
  return options;