Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3345 → Rev 3346

/trunk/widget/modules/manager/squelettes/js/manager.js
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, '&apos;' ).replace( /(")/gm, '&quot;' );
fieldTooltip = fieldTooltip.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
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;