Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3184 Rev 3185
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
});