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, ''' ).replace( /(")/gm, '"' );
|
894 |
fieldLabel = fieldLabel.replace( /(')/gm, ''' ).replace( /(")/gm, '"' );
|
879 |
fieldTooltip = fieldTooltip.replace( /(')/gm, ''' ).replace( /(")/gm, '"' );
|
895 |
fieldTooltip = fieldTooltip.replace( /(')/gm, ''' ).replace( /(")/gm, '"' );
|
880 |
fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, ''' ).replace( /(")/gm, '"' );
|
896 |
fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, ''' ).replace( /(")/gm, '"' );
|
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;
|