317,14 → 317,20 |
'<p class="message element-message">' + |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> ' + |
'Entrez au moins une valeur de ' + $( this ).children( 'option:selected' ).text() + |
'<br>Si aucun label à afficher n\'est indiqué, la valeur entrée sera utilisée (première lettre en majuscule).'+ |
'</p>'+ |
// Première option |
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+ |
// Recueil d'une valeur de la liste |
'<div class="col-sm-12 mt-3">'+ |
'<label for="list-value">Valeur *:</label>'+ |
'<label for="list-value">Valeur *</label>'+ |
'<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>'+ |
'</div>' + |
// Recueil du label à afficher |
'<div class="col-sm-12 mt-3">'+ |
'<label for="displayed-label">Label</label>'+ |
'<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+ |
'</div>' + |
// Checkbox valeur par défaut |
'<div class="col-sm-12 radio mt-3">'+ |
'<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+ |
387,9 → 393,14 |
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+ |
// Recueil d'une valeur de la liste |
'<div class="col-sm-12 mt-3">'+ |
'<label for="list-value">Valeur *:</label>'+ |
'<label for="list-value">Valeur *</label>'+ |
'<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>'+ |
'</div>' + |
// Recueil du label à afficher |
'<div class="col-sm-12 mt-3">'+ |
'<label for="displayed-label">Label</label>'+ |
'<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+ |
'</div>' + |
// Checkbox valeur par défaut+bouton supprimer |
'<div class="col-sm-12 mt-3 row">'+ |
// Bouton supprimer une option |
764,20 → 775,25 |
// dans le tableau de resultats |
function onChangeStoreListValueLabel( datasToSubmitObject , thisFieldset ) { |
$( '.list-value' , thisFieldset ).each( function() { |
var valueId = $( this ).data( 'list-value-id' ); |
var selectedFieldElement = $( '.field-element' , thisFieldset ).val(); |
var displayedLabel = ''; |
|
if( $( this ).val() ){ |
if ( valeurOk( $( '.displayed-label[data-list-value-id="' + valueId + '"]' ).val() ) ) { |
displayedLabel = $( '.displayed-label[data-list-value-id="' + valueId + '"]' ).val(); |
} |
if( $( this ).val() ){ |
// Is-default-value non cochée |
if( !$( '.is-defaut-value[data-list-value-id="' + $( this ).data( 'list-value-id' ) + '"]' , thisFieldset ).is( ':checked' ) ) { |
datasToSubmitObject.fieldValues.listValue.push( $( this ).val() ); |
if( !$( '.is-defaut-value[data-list-value-id="' + valueId + '"]' , thisFieldset ).is( ':checked' ) ) { |
datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val(), displayedLabel ] ); |
// Is-default-value cochée pour select/radio |
} else if( 'select' === selectedFieldElement || 'radio' === selectedFieldElement ) { |
// Une seule valeur par defaut, devient la première valeur du tableau + '#' |
datasToSubmitObject.fieldValues.listValue.unshift( $( this ).val() + '#' ); |
datasToSubmitObject.fieldValues.listValue.unshift( [ $( this ).val() + '#', displayedLabel ] ); |
// Is-default-value cochée pour checkbox/list-checkbox |
} else { |
// On ajoute simplement la valeur au tableau + '#' |
datasToSubmitObject.fieldValues.listValue.push( $( this ).val() + '#' ); |
datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val() + '#', displayedLabel ] ); |
} |
} |
}); |
870,11 → 886,11 |
fieldOtherValue = $( '.option-other-value' , thisFieldset ).is( ':checked' ),//option autre |
fieldOptions = collectListOptions( thisFieldset );//Array: toutes les options |
// Variables d'affichage |
var fieldHtml = '',//variable contenant tout le html à afficher |
commonFieldsHtml = {},//Éléments simples ou chaînes communes aux "listes" |
listFieldsHtml = {},//chaînes & html pour les listes mais non spécifiques |
listFieldsHtml = {},//chaînes & html spécifiques aux listes |
count = fieldOptions.length;//nombre d'options, pour les boucles for |
var fieldHtml = '',//variable contenant tout le html à afficher |
commonFieldsHtml = {},//Éléments simples ou chaînes communes aux "listes" |
listFieldsHtml = {},//chaînes & html pour les listes mais non spécifiques |
listFieldsHtml = {},//chaînes & html spécifiques aux listes |
count = fieldOptions.length;//nombre d'options, pour les boucles for |
fieldLabel = fieldLabel.replace( /(')/gm, ''' ).replace( /(")/gm, '"' ); |
fieldTooltip = fieldTooltip.replace( /(')/gm, ''' ).replace( /(")/gm, '"' ); |
fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, ''' ).replace( /(")/gm, '"' ); |
1448,13 → 1464,13 |
$details.find( '.new-value' ).each( function() { |
options.push({ |
// Valeur transmise (value) |
optionValue : $( this ).find('.list-value').val().toLowerCase(), |
optionValue : $( this ).find( '.list-value' ).val().toLowerCase(), |
// Valeur Visible |
optionText : $( this ).find('.list-value').val(), |
optionText : $( this ).find( '.displayed-label' ).val(), |
// Booléen "default" |
isDefault : $( this ).find( '.is-defaut-value').is( ':checked' ), |
isDefault : $( this ).find( '.is-defaut-value' ).is( ':checked' ), |
// Indice de l'option |
optionIndex : $( this ).data( 'list-value-id') |
optionIndex : $( this ).data( 'list-value-id' ) |
}); |
}); |
return options; |