Line 51... |
Line 51... |
51 |
|
51 |
|
52 |
// Style et affichage des list-checkboxes
|
52 |
// Style et affichage des list-checkboxes
|
53 |
function inputListCheckbox() {
|
53 |
function inputListCheckbox() {
|
54 |
// On écoute le click sur une list-checkbox ('.selectBox')
|
54 |
// On écoute le click sur une list-checkbox ('.selectBox')
|
55 |
// à tout moment de son insertion dans le dom
|
55 |
// à tout moment de son insertion dans le dom
|
56 |
$('#zone-appli').on( 'click' , '.selectBox' , function() {
|
56 |
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
|
57 |
$( '.checkboxes[data-id="' + $(this).attr( 'data-id' ) + '"]' ).toggleClass( 'hidden' );
|
57 |
$( '.checkboxes[data-id="' + $(this).attr( 'data-id' ) + '"]' ).toggleClass( 'hidden' );
|
58 |
});
|
58 |
});
|
Line -... |
Line 59... |
- |
|
59 |
}
|
- |
|
60 |
|
- |
|
61 |
function inputRangeDisplayNumber() {
|
- |
|
62 |
|
59 |
}
|
63 |
$( '#zone-supp' ).on( 'input' , '.range input[type="range"]' , function () {
|
- |
|
64 |
console.log( $( this ).val() );
|
- |
|
65 |
$( this ).next( 'input[type="number"]' ).val ( $( this ).val() );
|
60 |
|
66 |
});
|
61 |
// Mettre la première lettre en majuscule, les autres en minuscule
|
67 |
$( '#zone-supp' ).on( 'input' , '.range input[type="number"]' , function () {
|
- |
|
68 |
console.log( $( this ).val() );
|
- |
|
69 |
$( this ).prev( 'input[type="range"]' ).val ( $( this ).val() );
|
62 |
function capitalize( string ) {
|
70 |
});
|
Line 63... |
Line 71... |
63 |
return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
|
71 |
|
64 |
}
|
72 |
}
|
65 |
|
73 |
|
Line 541... |
Line 549... |
541 |
for( var index = $( 'fieldset' ).first().attr('data-id') ; index <= count ; index++ ) {
|
549 |
for( var index = $( 'fieldset' ).first().attr('data-id') ; index <= count ; index++ ) {
|
542 |
var thisFieldset = $( 'fieldset[data-id="' + index + '"]');
|
550 |
var thisFieldset = $( 'fieldset[data-id="' + index + '"]');
|
543 |
// Certains indices peuvent correspondre à un champ supprimé
|
551 |
// Certains indices peuvent correspondre à un champ supprimé
|
544 |
if( 0 < $( thisFieldset ).length ) {
|
552 |
if( 0 < $( thisFieldset ).length ) {
|
545 |
// initialisation du tableau de résultats
|
553 |
// initialisation du tableau de résultats
|
546 |
datasToSubmit[ resultArrayIndex ] = { fieldValues:{} };
|
554 |
datasToSubmit[ resultArrayIndex ] = { fieldValues:{} };
|
547 |
// Ajout de la clé au tableau de resultats
|
555 |
// Ajout de la clé au tableau de resultats
|
548 |
datasToSubmit[ resultArrayIndex ].key = $( '.field-key' , thisFieldset ).val();
|
556 |
datasToSubmit[ resultArrayIndex ].key = $( '.field-key' , thisFieldset ).val();
|
549 |
// Ajout de le nom au tableau de resultats
|
557 |
// Ajout de le nom au tableau de resultats
|
550 |
datasToSubmit[ resultArrayIndex ].name = $( '.field-name' , thisFieldset ).val();
|
558 |
datasToSubmit[ resultArrayIndex ].name = $( '.field-name' , thisFieldset ).val();
|
551 |
// Recueil de l'élément choisi pour le tableau de resultats
|
559 |
// Recueil de l'élément choisi pour le tableau de resultats
|
552 |
datasToSubmit[ resultArrayIndex ].element = $( '.field-element' , thisFieldset ).val();
|
560 |
datasToSubmit[ resultArrayIndex ].element = $( '.field-element' , thisFieldset ).val();
|
553 |
// Ajout de la valeur 'requis' ou non au tableau de resultats
|
561 |
// Ajout de la valeur 'requis' ou non au tableau de resultats
|
554 |
datasToSubmit[ resultArrayIndex ].mandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' );
|
562 |
datasToSubmit[ resultArrayIndex ].mandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' );
|
555 |
// Ajout de l'unité au tableau de resultats
|
563 |
// Ajout de l'unité au tableau de resultats
|
556 |
datasToSubmit[ resultArrayIndex ].unit = $( '.field-unit' , thisFieldset ).val() || null;
|
564 |
datasToSubmit[ resultArrayIndex ].unit = $( '.field-unit' , thisFieldset ).val() || null;
|
557 |
// Ajout du tooltip au tableau de resultats
|
565 |
// Ajout du tooltip au tableau de resultats
|
558 |
datasToSubmit[ resultArrayIndex ].description = $( '.field-description' , thisFieldset ).val() || null;
|
566 |
datasToSubmit[ resultArrayIndex ].description = $( '.field-description' , thisFieldset ).val() || null;
|
559 |
// Ajout du nom du document d'aide au tableau de resultats
|
567 |
// Ajout du nom du document d'aide au tableau de resultats
|
560 |
datasToSubmit[ resultArrayIndex ].help = $( '.file-return.help-doc-' + index ).text() || null;
|
568 |
datasToSubmit[ resultArrayIndex ].help = $( '.file-return.help-doc-' + index ).text() || null;
|
561 |
// Collecte les des données dépendantes de l'élément choisi
|
569 |
// Collecte les des données dépendantes de l'élément choisi
|
562 |
// sous forme d'un tableau de resultats
|
570 |
// sous forme d'un tableau de resultats
|
563 |
onSelectCollectDataValuesToSubmit( datasToSubmit[ resultArrayIndex ] , thisFieldset );
|
571 |
onSelectCollectDataValuesToSubmit( datasToSubmit[ resultArrayIndex ] , thisFieldset );
|
564 |
if( $.isEmptyObject(datasToSubmit[ resultArrayIndex ].fieldValues) ){
|
572 |
if( $.isEmptyObject(datasToSubmit[ resultArrayIndex ].fieldValues) ){
|
565 |
delete datasToSubmit[ resultArrayIndex ].fieldValues;
|
573 |
delete datasToSubmit[ resultArrayIndex ].fieldValues;
|
Line 713... |
Line 721... |
713 |
|
721 |
|
714 |
// Construction des éléments à visualiser
|
722 |
// Construction des éléments à visualiser
|
715 |
function onClickPreviewField( thisFieldset , index ) {
|
723 |
function onClickPreviewField( thisFieldset , index ) {
|
716 |
// Récupération des données
|
724 |
// Récupération des données
|
717 |
// Tous les champs
|
725 |
// Tous les champs
|
718 |
var fieldLabel = $( '.field-name' , thisFieldset ).val(),//nom
|
726 |
var fieldLabel = $( '.field-name' , thisFieldset ).val() || '',//nom
|
719 |
fieldKey = $( '.field-key' , thisFieldset ).val(),//clé
|
727 |
fieldKey = $( '.field-key' , thisFieldset ).val() || '',//clé
|
720 |
fieldElement = $( '.field-element' , thisFieldset ).val(),//élément
|
728 |
fieldElement = $( '.field-element' , thisFieldset ).val() || '',//élément
|
721 |
fieldIsMandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' ),//champ requis
|
729 |
fieldIsMandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' ),//champ requis
|
722 |
fieldUnit = $( '.field-unit' , thisFieldset ).val(),//unités
|
730 |
fieldUnit = $( '.field-unit' , thisFieldset ).val() || '',//unités
|
723 |
fieldTooltip = $( '.field-description' , thisFieldset ).val(),//info-bulle
|
731 |
fieldTooltip = $( '.field-description' , thisFieldset ).val() || '',//info-bulle
|
724 |
fieldHelp = $( '.file-return.help-doc-' + index ).text(),//nom du fichier d'aide
|
732 |
fieldHelp = $( '.file-return.help-doc-' + index ).text() || '',//nom du fichier d'aide
|
725 |
fieldPlaceholder = $( '.aide-saisie' , thisFieldset ).val() || '',//placeholder
|
733 |
fieldPlaceholder = $( '.aide-saisie' , thisFieldset ).val() || '',//placeholder
|
726 |
// Champs à valeur numérique ou date
|
734 |
// Champs à valeur numérique ou date
|
727 |
fieldStep = $( '.step' , thisFieldset ).val(),
|
735 |
fieldStep = $( '.step' , thisFieldset ).val() || '',
|
728 |
fieldMin = $( '.min' , thisFieldset ).val(),
|
736 |
fieldMin = $( '.min' , thisFieldset ).val() || '',
|
729 |
fieldMax = $( '.max' , thisFieldset ).val(),
|
737 |
fieldMax = $( '.max' , thisFieldset ).val() || '',
|
730 |
// Champs "listes"
|
738 |
// Champs "listes"
|
731 |
fieldDefaultNum = $( '.default' , thisFieldset ).val(),//option pas default
|
739 |
fieldDefaultNum = $( '.default' , thisFieldset ).val() || '',// value range/number par default
|
732 |
fieldOtherValue = $( '.option-other-value' , thisFieldset ).is( ':checked' ),//option autre
|
740 |
fieldOtherValue = $( '.option-other-value' , thisFieldset ).is( ':checked' ),//option autre
|
733 |
fieldOptions = collectListOptions( thisFieldset );//Array: toutes les options
|
741 |
fieldOptions = collectListOptions( thisFieldset );//Array: toutes les options
|
734 |
// Variables d'affichage
|
742 |
// Variables d'affichage
|
735 |
var fieldHtml = '',//variable contenant tout le html à afficher
|
743 |
var fieldHtml = '',//variable contenant tout le html à afficher
|
Line 775... |
Line 783... |
775 |
// Élément requis
|
783 |
// Élément requis
|
776 |
if( fieldIsMandatory ) {
|
784 |
if( fieldIsMandatory ) {
|
777 |
// Attribut required pour le listes
|
785 |
// Attribut required pour le listes
|
778 |
commonFieldsHtml.fieldInput.mandatoryAttr = ' required="required"';
|
786 |
commonFieldsHtml.fieldInput.mandatoryAttr = ' required="required"';
|
779 |
// Nom du champ (éléments listes)
|
787 |
// Nom du champ (éléments listes)
|
780 |
listFieldsHtml.containerContent += ' *';
|
788 |
listFieldsHtml.containerContent += ' *';
|
781 |
// Nom du champ (éléments simples)
|
789 |
// Nom du champ (éléments simples)
|
782 |
commonFieldsHtml.fieldLabel.labelContent += ' *';
|
790 |
commonFieldsHtml.fieldLabel.labelContent += ' *';
|
783 |
}
|
791 |
}
|
784 |
// Infobulle
|
792 |
// Infobulle
|
785 |
if( '' !== fieldTooltip ) {
|
793 |
if( '' !== fieldTooltip ) {
|
Line 1164... |
Line 1172... |
1164 |
if( '' !== fieldMax ) {
|
1172 |
if( '' !== fieldMax ) {
|
1165 |
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"';
|
1173 |
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"';
|
1166 |
}
|
1174 |
}
|
Line 1167... |
Line 1175... |
1167 |
|
1175 |
|
- |
|
1176 |
fieldHtml =
|
1168 |
fieldHtml =
|
1177 |
'<div' +
|
- |
|
1178 |
' class="range"' +
|
- |
|
1179 |
' id="' + fieldKey + '"' +
|
1169 |
'<div class="number">' +
|
1180 |
'>' +
|
1170 |
'<label' +
|
1181 |
'<label' +
|
1171 |
// For
|
1182 |
// For
|
1172 |
commonFieldsHtml.fieldLabel.forAttr +
|
1183 |
commonFieldsHtml.fieldLabel.forAttr +
|
1173 |
// Class
|
1184 |
// Class
|
Line 1180... |
Line 1191... |
1180 |
// Nom du champ
|
1191 |
// Nom du champ
|
1181 |
commonFieldsHtml.fieldLabel.labelContent +
|
1192 |
commonFieldsHtml.fieldLabel.labelContent +
|
1182 |
'</label>' +
|
1193 |
'</label>' +
|
1183 |
// Bouton 'help'
|
1194 |
// Bouton 'help'
|
1184 |
commonFieldsHtml.helpButton +
|
1195 |
commonFieldsHtml.helpButton +
|
1185 |
|
- |
|
1186 |
'<input' +
|
1196 |
'<input' +
|
1187 |
// Type
|
1197 |
// Type
|
1188 |
commonFieldsHtml.fieldInput.typeAttr +
|
1198 |
commonFieldsHtml.fieldInput.typeAttr +
|
1189 |
// Name
|
1199 |
// Name
|
1190 |
commonFieldsHtml.fieldInput.nameAttr +
|
1200 |
commonFieldsHtml.fieldInput.nameAttr +
|
Line 1192... |
Line 1202... |
1192 |
commonFieldsHtml.dataIdAttr +
|
1202 |
commonFieldsHtml.dataIdAttr +
|
1193 |
// Class
|
1203 |
// Class
|
1194 |
commonFieldsHtml.fieldInput.classAttr +
|
1204 |
commonFieldsHtml.fieldInput.classAttr +
|
1195 |
// Info-bulle
|
1205 |
// Info-bulle
|
1196 |
commonFieldsHtml.titleAttr +
|
1206 |
commonFieldsHtml.titleAttr +
|
1197 |
// Info-bulle
|
- |
|
1198 |
commonFieldsHtml.fieldInput.placeholderAttr +
|
- |
|
1199 |
// Required
|
1207 |
// Required
|
1200 |
commonFieldsHtml.fieldInput.mandatoryAttr +
|
1208 |
commonFieldsHtml.fieldInput.mandatoryAttr +
|
- |
|
1209 |
// Default
|
- |
|
1210 |
' value="' + fieldDefaultNum + '"' +
|
- |
|
1211 |
// Autres attributs
|
- |
|
1212 |
commonFieldsHtml.fieldInput.otherAttr +
|
- |
|
1213 |
'>' +
|
- |
|
1214 |
'<input' +
|
- |
|
1215 |
' type="number"' +
|
- |
|
1216 |
' name="' + fieldKey + 'Output"' +
|
- |
|
1217 |
// Info-bulle
|
- |
|
1218 |
commonFieldsHtml.titleAttr +
|
- |
|
1219 |
// Placeholder
|
- |
|
1220 |
commonFieldsHtml.fieldInput.placeholderAttr +
|
- |
|
1221 |
' value="' + fieldDefaultNum + '"' +
|
1201 |
// Autres attributs
|
1222 |
// Autres attributs
|
1202 |
commonFieldsHtml.fieldInput.otherAttr +
|
1223 |
commonFieldsHtml.fieldInput.otherAttr +
|
- |
|
1224 |
// DataId
|
- |
|
1225 |
commonFieldsHtml.dataIdAttr +
|
1203 |
'>' +
|
1226 |
'>' +
|
1204 |
'</div>';
|
1227 |
'</div>';
|
1205 |
break;
|
1228 |
break;
|
Line 1206... |
Line -... |
1206 |
|
- |
|
1207 |
case 'date':
|
1229 |
|
1208 |
case 'number':
|
- |
|
1209 |
// Ouvrir l'attribut class (suppression de '"')
|
- |
|
1210 |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
|
- |
|
1211 |
// Classe 'and-help'
|
- |
|
1212 |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + '"';
|
1230 |
case 'number':
|
1213 |
// Step
|
1231 |
// Step
|
1214 |
if( '' !== fieldStep ) {
|
1232 |
if( '' !== fieldStep ) {
|
1215 |
commonFieldsHtml.fieldInput.otherAttr += ' step="' + fieldStep + '"';
|
1233 |
commonFieldsHtml.fieldInput.otherAttr += ' step="' + fieldStep + '"';
|
- |
|
1234 |
}
|
- |
|
1235 |
case 'date':
|
- |
|
1236 |
// Ouvrir l'attribut class (suppression de '"')
|
- |
|
1237 |
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
|
- |
|
1238 |
// Classe 'and-help'
|
1216 |
}
|
1239 |
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + '"';
|
1217 |
// Min
|
1240 |
// Min
|
1218 |
if( '' !== fieldMin ) {
|
1241 |
if( '' !== fieldMin ) {
|
1219 |
commonFieldsHtml.fieldInput.otherAttr += ' min="' + fieldMin + '"';
|
1242 |
commonFieldsHtml.fieldInput.otherAttr += ' min="' + fieldMin + '"';
|
1220 |
}
|
1243 |
}
|
Line 1246... |
Line 1269... |
1246 |
commonFieldsHtml.dataIdAttr +
|
1269 |
commonFieldsHtml.dataIdAttr +
|
1247 |
// Class
|
1270 |
// Class
|
1248 |
commonFieldsHtml.fieldInput.classAttr +
|
1271 |
commonFieldsHtml.fieldInput.classAttr +
|
1249 |
// Info-bulle
|
1272 |
// Info-bulle
|
1250 |
commonFieldsHtml.titleAttr +
|
1273 |
commonFieldsHtml.titleAttr +
|
1251 |
// Info-bulle
|
1274 |
// Placeholder
|
1252 |
commonFieldsHtml.fieldInput.placeholderAttr +
|
1275 |
commonFieldsHtml.fieldInput.placeholderAttr +
|
1253 |
// Required
|
1276 |
// Required
|
1254 |
commonFieldsHtml.fieldInput.mandatoryAttr +
|
1277 |
commonFieldsHtml.fieldInput.mandatoryAttr +
|
- |
|
1278 |
// Default
|
- |
|
1279 |
' value="' + fieldDefaultNum + '"' +
|
1255 |
// Autres attributs
|
1280 |
// Autres attributs
|
1256 |
commonFieldsHtml.fieldInput.otherAttr +
|
1281 |
commonFieldsHtml.fieldInput.otherAttr +
|
1257 |
'>' +
|
1282 |
'>' +
|
1258 |
// Bouton 'help'
|
1283 |
// Bouton 'help'
|
1259 |
commonFieldsHtml.helpButton +
|
1284 |
commonFieldsHtml.helpButton +
|
Line 1315... |
Line 1340... |
1315 |
$details.find( '.new-value' ).each( function() {
|
1340 |
$details.find( '.new-value' ).each( function() {
|
1316 |
options.push({
|
1341 |
options.push({
|
1317 |
// Valeur transmise (value)
|
1342 |
// Valeur transmise (value)
|
1318 |
optionValue : $( this ).find('.list-value').val().toLowerCase(),
|
1343 |
optionValue : $( this ).find('.list-value').val().toLowerCase(),
|
1319 |
// Valeur Visible
|
1344 |
// Valeur Visible
|
1320 |
optionText : capitalize( $( this ).find('.list-value').val() ),
|
1345 |
optionText : $( this ).find('.list-value').val(),
|
1321 |
// Booléen "default"
|
1346 |
// Booléen "default"
|
1322 |
isDefault : $( this ).find( '.is-defaut-value').is( ':checked' ),
|
1347 |
isDefault : $( this ).find( '.is-defaut-value').is( ':checked' ),
|
1323 |
// Indice de l'option
|
1348 |
// Indice de l'option
|
1324 |
optionIndex : $( this ).attr('data-list-value-id')
|
1349 |
optionIndex : $( this ).attr('data-list-value-id')
|
1325 |
});
|
1350 |
});
|
Line 1485... |
Line 1510... |
1485 |
DisplayClassicFields();
|
1510 |
DisplayClassicFields();
|
1486 |
// Affichage des images ou nom des documents importés
|
1511 |
// Affichage des images ou nom des documents importés
|
1487 |
inputFile();
|
1512 |
inputFile();
|
1488 |
// Affichage des List-checkbox
|
1513 |
// Affichage des List-checkbox
|
1489 |
inputListCheckbox();
|
1514 |
inputListCheckbox();
|
- |
|
1515 |
// Affichage des Range
|
- |
|
1516 |
inputRangeDisplayNumber()
|
1490 |
// Modale "aide"
|
1517 |
// Modale "aide"
|
1491 |
previewFieldHelpModal();
|
1518 |
previewFieldHelpModal();
|
1492 |
});
|
1519 |
});
|