Line 139... |
Line 139... |
139 |
$( '#new-fields' ).append(
|
139 |
$( '#new-fields' ).append(
|
140 |
'<fieldset data-id="' + fieldIndex + '" class="new-field">'+
|
140 |
'<fieldset data-id="' + fieldIndex + '" class="new-field">'+
|
141 |
'<h3>Nouveau champ :<br><strong class="field-title" data-id="' + fieldIndex + '"></strong></h3>'+
|
141 |
'<h3>Nouveau champ :<br><strong class="field-title" data-id="' + fieldIndex + '"></strong></h3>'+
|
142 |
// Nom du champ
|
142 |
// Nom du champ
|
143 |
'<div class="row">'+
|
143 |
'<div class="row">'+
|
144 |
'<div class="col-sm-12 mt-3">'+
|
144 |
'<div class="col-sm-12 mt-3 mb-3">'+
|
145 |
'<label for="field-name" title="Donnez un titre à votre champ">Nom du champ *</label>'+
|
145 |
'<label for="field-name" title="Donnez un titre à votre champ">Nom du champ *</label>'+
|
146 |
'<input type="text" name="field-name" data-id="' + fieldIndex + '" class="field-name form-control" placeholder="Titre de votre champ" title="Le titre du champ" required>'+
|
146 |
'<input type="text" name="field-name" data-id="' + fieldIndex + '" class="field-name form-control" placeholder="Titre de votre champ" title="Le titre du champ" required>'+
|
147 |
'</div>'+
|
147 |
'</div>'+
|
148 |
// Clé du champ
|
148 |
// Clé du champ
|
149 |
'<div class="col-sm-12 mt-3">'+
|
149 |
'<div class="col-sm-12 mt-3 mb-3">'+
|
150 |
'<label for="field-key" title="Nom du champ dans la base de données">'+
|
150 |
'<label for="field-key" title="Nom du champ dans la base de données">'+
|
151 |
'Clé du champ *'+
|
151 |
'Clé du champ *'+
|
152 |
'</label>'+
|
152 |
'</label>'+
|
153 |
'<input type="text" name="field-key" data-id="' + fieldIndex + '" class="field-key form-control" placeholder="Clé du champ" pattern="^(?:[a-z]+(?:(?:[A-Z]+[a-z]+)+)?|[a-z]+(?:(?:-[a-z]+)+)?)$" title="Clé Unique en Camelcase ou minuscule séparés par tirets, pas d\'accents pas de caractères spéciaux." required>'+
|
153 |
'<input type="text" name="field-key" data-id="' + fieldIndex + '" class="field-key form-control" placeholder="Clé du champ" pattern="^(?:[a-z]+(?:(?:[A-Z]+[a-z]+)+)?|[a-z]+(?:(?:-[a-z]+)+)?)$" title="Clé Unique en Camelcase ou minuscule séparés par tirets, pas d\'accents pas de caractères spéciaux." required>'+
|
154 |
'</div>'+
|
154 |
'</div>'+
|
155 |
'<p class="message ml-2 mr-2">' +
|
155 |
'<p class="message m-2">' +
|
156 |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
|
156 |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
|
157 |
'Une clé doit être unique<br>' +
|
157 |
'Une clé doit être unique<br>' +
|
158 |
'En "camelCase" (ecriture chameau)<br>'+
|
158 |
'En "camelCase" (ecriture chameau)<br>'+
|
159 |
'Ou en minuscule avec tirets ("-") si nécessaire<br>'+
|
159 |
'Ou en minuscule avec tirets ("-") si nécessaire<br>'+
|
160 |
'Pas d\'espaces, aucuns caractères spéciaux (accents, cédilles, etc.).' +
|
160 |
'Pas d\'espaces, aucuns caractères spéciaux (accents, cédilles, etc.).' +
|
161 |
'</p>' +
|
161 |
'</p>' +
|
162 |
// Type de champ
|
162 |
// Type de champ
|
163 |
'<div class="col-sm-12 mt-3 add-field-select" data-id="' + fieldIndex + '">'+
|
163 |
'<div class="col-sm-12 mt-3 mb-3 add-field-select" data-id="' + fieldIndex + '">'+
|
164 |
'<label for="field-element" title="Quel type de champ">Type de champ *</label>'+
|
164 |
'<label for="field-element" title="Quel type de champ">Type de champ *</label>'+
|
165 |
'<select name="field-element" data-id="' + fieldIndex + '" class="field-element form-control custom-select">'+
|
165 |
'<select name="field-element" data-id="' + fieldIndex + '" class="field-element form-control custom-select">'+
|
166 |
'<option value="text">Champ texte</option>'+
|
166 |
'<option value="text">Champ texte</option>'+
|
167 |
'<option value="email">Champ email</option>'+
|
167 |
'<option value="email">Champ email</option>'+
|
168 |
'<option value="textarea">Champ rédaction</option>'+
|
168 |
'<option value="textarea">Champ rédaction</option>'+
|
Line 174... |
Line 174... |
174 |
'<option value="range">Curseur (entre 2 bornes)</option>'+
|
174 |
'<option value="range">Curseur (entre 2 bornes)</option>'+
|
175 |
'<option value="number">Nombre</option>'+
|
175 |
'<option value="number">Nombre</option>'+
|
176 |
'</select>'+
|
176 |
'</select>'+
|
177 |
'</div>'+
|
177 |
'</div>'+
|
178 |
// Checkbox "champ requis"
|
178 |
// Checkbox "champ requis"
|
179 |
'<div class="col-sm-12 radio mt-3">'+
|
179 |
'<div class="col-sm-12 radio mt-3 mb-3">'+
|
180 |
'<label class="radio-label" for="field-is_mandatory" title="Ce champ est obligatoire">'+
|
180 |
'<label class="radio-label" for="field-is_mandatory" title="Ce champ est obligatoire">'+
|
181 |
'<input type="checkbox" name="field-is_mandatory" data-id="' + fieldIndex + '" class="field-is_mandatory form-control">'+
|
181 |
'<input type="checkbox" name="field-is_mandatory" data-id="' + fieldIndex + '" class="field-is_mandatory form-control">'+
|
182 |
'Champ requis ?'+
|
182 |
'Champ requis ?'+
|
183 |
'</label>'+
|
183 |
'</label>'+
|
184 |
'</div>'+
|
184 |
'</div>'+
|
185 |
// Unité des valeurs
|
185 |
// Unité des valeurs
|
186 |
'<div class="col-sm-12 mt-3">'+
|
186 |
'<div class="col-sm-12 mt-3 mb-3">'+
|
187 |
'<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+
|
187 |
'<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+
|
188 |
'<input type="text" name="field-unit" data-id="' + fieldIndex + '" class="field-unit form-control" placeholder="symbole de vos unités">'+
|
188 |
'<input type="text" name="field-unit" data-id="' + fieldIndex + '" class="field-unit form-control" placeholder="symbole de vos unités">'+
|
189 |
'</div>'+
|
189 |
'</div>'+
|
190 |
// Tooltip
|
190 |
// Tooltip
|
191 |
'<div class="col-sm-12 mt-3">'+
|
191 |
'<div class="col-sm-12 mt-3 mb-3">'+
|
192 |
'<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+
|
192 |
'<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+
|
193 |
'<input type="text" name="field-description" data-id="' + fieldIndex + '" class="field-description form-control" placeholder="Quelques mots">'+
|
193 |
'<input type="text" name="field-description" data-id="' + fieldIndex + '" class="field-description form-control" placeholder="Quelques mots">'+
|
194 |
'</div>'+
|
194 |
'</div>'+
|
195 |
// Import d'une image d'aide à afficher en popup
|
195 |
// Import d'une image d'aide à afficher en popup
|
196 |
'<div class="input-file-row row">'+
|
196 |
'<div class="input-file-row row">'+
|
Line 200... |
Line 200... |
200 |
'</div>'+
|
200 |
'</div>'+
|
201 |
'<div class="btn btn-danger btn-sm remove-file" name="remove-file" data-id="' + fieldIndex + '" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>'+
|
201 |
'<div class="btn btn-danger btn-sm remove-file" name="remove-file" data-id="' + fieldIndex + '" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>'+
|
202 |
'<div class="file-return help-doc-' + fieldIndex + ' hidden"></div>'+
|
202 |
'<div class="file-return help-doc-' + fieldIndex + ' hidden"></div>'+
|
203 |
'</div>'+
|
203 |
'</div>'+
|
204 |
// Boutons supprimer
|
204 |
// Boutons supprimer
|
205 |
'<div class="col-sm-12 mt-3">'+
|
205 |
'<div class="col-sm-12 mt-3 mb-3">'+
|
206 |
'<label for="remove-field">Supprimer</label>'+
|
206 |
'<label for="remove-field">Supprimer</label>'+
|
207 |
'<div class="remove-field button" name="remove-field" data-id="' + fieldIndex + '" title="Supprimer un champ"><i class="fa fa-skull" aria-hidden="true"></i></div>'+
|
207 |
'<div class="remove-field button" name="remove-field" data-id="' + fieldIndex + '" title="Supprimer un champ"><i class="fa fa-skull" aria-hidden="true"></i></div>'+
|
208 |
'</div>'+
|
208 |
'</div>'+
|
209 |
'</div>'+
|
209 |
'</div>'+
|
210 |
'</fieldset>'
|
210 |
'</fieldset>'
|
211 |
);
|
211 |
);
|
212 |
// Animation de l'affichage
|
212 |
// Animation de l'affichage
|
213 |
$( 'fieldset.new-field[data-id="' + fieldIndex + '"]').hide().show( 200 );
|
213 |
$( 'fieldset.new-field[data-id="' + fieldIndex + '"]').hide().show( 200 );
|
- |
|
214 |
$( 'html, body' ).stop().animate({
|
- |
|
215 |
scrollTop: $( 'fieldset.new-field[data-id="' + fieldIndex + '"]' ).offset().top
|
- |
|
216 |
}, 300 );
|
214 |
}
|
217 |
}
|
Line 215... |
Line 218... |
215 |
|
218 |
|
216 |
// Affichage du nom du champ dès qu'il est renseigné
|
219 |
// Affichage du nom du champ dès qu'il est renseigné
|
217 |
function onChangeDisplayFieldLabel( fieldIndex ) {
|
220 |
function onChangeDisplayFieldLabel( fieldIndex ) {
|
Line 237... |
Line 240... |
237 |
// On insère les champs par défaut de recueil d'informations
|
240 |
// On insère les champs par défaut de recueil d'informations
|
238 |
displayFieldDetailsCollect(
|
241 |
displayFieldDetailsCollect(
|
239 |
fieldIndex,
|
242 |
fieldIndex,
|
240 |
// Placeholder (champ type text par défaut)
|
243 |
// Placeholder (champ type text par défaut)
|
241 |
'<div class="col-sm-12 mt-3">'+
|
244 |
'<div class="col-sm-12 mt-3">'+
|
242 |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
|
245 |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir ce champ">Texte d\'aide à la saisie</label>'+
|
243 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir le champ">'+
|
246 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
|
244 |
'</div>'
|
247 |
'</div>'
|
245 |
);
|
248 |
);
|
246 |
// Sinon :
|
249 |
// Sinon :
|
247 |
$( '.field-element[data-id="' + fieldIndex + '"]' ).change( function() {
|
250 |
$( '.field-element[data-id="' + fieldIndex + '"]' ).change( function() {
|
248 |
// On intialise l'index pour les listes la variable qui contiendra un id pour chaque option
|
251 |
// On intialise l'index pour les listes la variable qui contiendra un id pour chaque option
|
Line 265... |
Line 268... |
265 |
'Vérifier le bon fonctionnement et changer, si nécessaire, les valeurs de défaut, incrémentation (step), min et max.<br>'+
|
268 |
'Vérifier le bon fonctionnement et changer, si nécessaire, les valeurs de défaut, incrémentation (step), min et max.<br>'+
|
266 |
'Si le navigateur considère que certaines valeurs sont incohérentes il pourrait les modifier automatiquement'+
|
269 |
'Si le navigateur considère que certaines valeurs sont incohérentes il pourrait les modifier automatiquement'+
|
267 |
'</p>' +
|
270 |
'</p>' +
|
268 |
// Placeholder
|
271 |
// Placeholder
|
269 |
'<div class="col-sm-12 mt-3">'+
|
272 |
'<div class="col-sm-12 mt-3">'+
|
270 |
'<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir le champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+
|
273 |
'<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir ce champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+
|
271 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir le champ">'+
|
274 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
|
272 |
'</div>'+
|
275 |
'</div>'+
|
273 |
// Valeur par défaut
|
276 |
// Valeur par défaut
|
274 |
'<div class="col-sm-12 mt-3">'+
|
277 |
'<div class="col-sm-12 mt-3">'+
|
275 |
'<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+
|
278 |
'<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+
|
276 |
'<input type="number" name="default" data-id="' + fieldIndex + '" class="default form-control" step="0.01" lang="en">'+
|
279 |
'<input type="number" name="default" data-id="' + fieldIndex + '" class="default form-control" step="0.01" lang="en">'+
|
Line 361... |
Line 364... |
361 |
default:
|
364 |
default:
|
362 |
displayFieldDetailsCollect(
|
365 |
displayFieldDetailsCollect(
|
363 |
fieldIndex,
|
366 |
fieldIndex,
|
364 |
// Placeholder
|
367 |
// Placeholder
|
365 |
'<div class="col-sm-12 mt-3">'+
|
368 |
'<div class="col-sm-12 mt-3">'+
|
366 |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir le champ">Texte d\'aide à la saisie</label>'+
|
369 |
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir ce champ">Texte d\'aide à la saisie</label>'+
|
367 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir le champ">'+
|
370 |
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
|
368 |
'</div>'
|
371 |
'</div>'
|
369 |
);
|
372 |
);
|
370 |
break;
|
373 |
break;
|
371 |
}
|
374 |
}
|
372 |
// Ajout des valeurs possibles
|
375 |
// Ajout des valeurs possibles
|
Line 688... |
Line 691... |
688 |
}
|
691 |
}
|
689 |
}
|
692 |
}
|
Line 690... |
Line 693... |
690 |
|
693 |
|
Line 691... |
Line 694... |
691 |
var resultsArrayJson = JSON.stringify( datasToSubmit , replacer );
|
694 |
var resultsArrayJson = JSON.stringify( datasToSubmit , replacer );
|
692 |
|
695 |
|
693 |
// JSON.strigify : Gestion des apostrophes dans les valeurs :
|
696 |
// JSON.stringify : Gestion des apostrophes dans les valeurs :
|
694 |
function replacer( key , value ) {
|
697 |
function replacer( key , value ) {
|
695 |
if ( 'fieldValues' === key && 'object' === typeof value ) {
|
698 |
if ( 'fieldValues' === key && 'object' === typeof value ) {
|
696 |
for ( var i in value ) {
|
699 |
for ( var i in value ) {
|
Line 1631... |
Line 1634... |
1631 |
|
1634 |
|
1632 |
function potDeMiel() {
|
1635 |
function potDeMiel() {
|
1633 |
if( !valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
|
1636 |
if( !valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
|
1634 |
$( '#signup_submit' ).prop( 'disabled', false );
|
1637 |
$( '#signup_submit' ).prop( 'disabled', false );
|
1635 |
}
|
1638 |
}
|
1636 |
$( '#signup_submit' ).on( 'click dblclick mousedown submit focus keydown keypress keyup touchstart touchend', function() {
|
1639 |
$( '#signup_submit' ).off().on( 'click dblclick mousedown submit focus keydown keypress keyup touchstart touchend', function() {
|
1637 |
if( valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
|
1640 |
if( valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
|
1638 |
return false;
|
1641 |
return false;
|
1639 |
}
|
1642 |
}
|
1640 |
});
|
1643 |
});
|
Line 1647... |
Line 1650... |
1647 |
$( '#signup_submit' ).prop( 'disabled', true );
|
1650 |
$( '#signup_submit' ).prop( 'disabled', true );
|
1648 |
}
|
1651 |
}
|
1649 |
});
|
1652 |
});
|
1650 |
}
|
1653 |
}
|
Line -... |
Line 1654... |
- |
|
1654 |
|
- |
|
1655 |
function onGeoloc() {
|
- |
|
1656 |
// Empêcher que le module carto ne bind ses events partout
|
- |
|
1657 |
$( '#tb-geolocation' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '*', function( event ) {
|
- |
|
1658 |
event.preventDefault();
|
- |
|
1659 |
return false;
|
- |
|
1660 |
});
|
- |
|
1661 |
// evenement location
|
- |
|
1662 |
$( '#tb-geolocation' ).on( 'location' , function( location ) {
|
- |
|
1663 |
var locDatas = location.originalEvent.detail;
|
- |
|
1664 |
|
- |
|
1665 |
if ( valeurOk( locDatas ) ) {
|
- |
|
1666 |
console.dir( locDatas );
|
- |
|
1667 |
|
- |
|
1668 |
var latitude = '';
|
- |
|
1669 |
var longitude = '';
|
- |
|
1670 |
if ( valeurOk( locDatas.geometry.coordinates ) ) {
|
- |
|
1671 |
if ( 'Point' === locDatas.geometry.type ) {
|
- |
|
1672 |
if ( valeurOk( locDatas.geometry.coordinates[0] ) ) {
|
- |
|
1673 |
longitude = locDatas.geometry.coordinates[0].toFixed( 5 );
|
- |
|
1674 |
}
|
- |
|
1675 |
if ( valeurOk( locDatas.geometry.coordinates[1] ) ) {
|
- |
|
1676 |
latitude = locDatas.geometry.coordinates[1].toFixed( 5 );
|
- |
|
1677 |
}
|
- |
|
1678 |
} else if ( 'LineString' === locDatas.geometry.type ) {// on ne prend qu'un point de la ligne
|
- |
|
1679 |
if ( valeurOk( locDatas.geometry.coordinates[0][0] ) && valeurOk( locDatas.geometry.coordinates[1][0] ) ) {
|
- |
|
1680 |
longitude = ( locDatas.geometry.coordinates[0][0] + locDatas.geometry.coordinates[1][0] ) / 2;
|
- |
|
1681 |
longitude = longitude.toFixed( 5 );
|
- |
|
1682 |
}
|
- |
|
1683 |
if ( valeurOk( locDatas.geometry.coordinates[0][1] && valeurOk( locDatas.geometry.coordinates[1][1] ) ) ){
|
- |
|
1684 |
latitude = ( locDatas.geometry.coordinates[0][1] + locDatas.geometry.coordinates[1][1] ) / 2;
|
- |
|
1685 |
latitude = latitude.toFixed( 5 );
|
- |
|
1686 |
}
|
- |
|
1687 |
}
|
- |
|
1688 |
}
|
- |
|
1689 |
if ( valeurOk( latitude ) && valeurOk( longitude ) ) {
|
- |
|
1690 |
$( '#latitude' ).val( latitude );
|
- |
|
1691 |
$( '#longitude' ).val( longitude );
|
- |
|
1692 |
}
|
- |
|
1693 |
}
|
- |
|
1694 |
});
|
- |
|
1695 |
}
|
- |
|
1696 |
|
- |
|
1697 |
function onGeolocManuelle() {
|
- |
|
1698 |
const coords = ['latitude','longitude','zoom'];
|
- |
|
1699 |
$( '#latitude,#longitude,#zoom' ).on( 'change', function( event ) {
|
- |
|
1700 |
var thisCoord = this.id,
|
- |
|
1701 |
thisVal = $( this ).val(),
|
- |
|
1702 |
valeur = '';
|
- |
|
1703 |
|
- |
|
1704 |
if ( $.isNumeric( thisVal ) ) {
|
- |
|
1705 |
switch( thisCoord ) {
|
- |
|
1706 |
case 'zoom':
|
- |
|
1707 |
if( 0 < parseInt( thisVal, 10 ) && 18 >= parseInt( thisVal, 10 ) ) {
|
- |
|
1708 |
valeur = thisVal;
|
- |
|
1709 |
}
|
- |
|
1710 |
break;
|
- |
|
1711 |
case 'latitude':
|
- |
|
1712 |
if ( 90 > Math.abs( parseInt( thisVal, 10 ) ) ) {
|
- |
|
1713 |
valeur = parseFloat( thisVal, 10 ).toFixed( 5 );
|
- |
|
1714 |
$( '#latitude' ).val( valeur );
|
- |
|
1715 |
}
|
- |
|
1716 |
break;
|
- |
|
1717 |
case 'longitude':
|
- |
|
1718 |
if ( 180 >= Math.abs( parseInt( thisVal, 10 ) ) ) {
|
- |
|
1719 |
valeur = parseFloat( thisVal, 10 ).toFixed( 5 );
|
- |
|
1720 |
$( '#longitude' ).val( valeur );
|
- |
|
1721 |
}
|
- |
|
1722 |
break;
|
- |
|
1723 |
default:
|
- |
|
1724 |
break;
|
- |
|
1725 |
}
|
- |
|
1726 |
}
|
- |
|
1727 |
//un champ vide n'est pas une erreur
|
- |
|
1728 |
if ( $.isNumeric( valeur ) ) {
|
- |
|
1729 |
$( this ).siblings( 'span.error' ).remove();
|
- |
|
1730 |
} else if ( 0 <= $.inArray( thisCoord, coords ) ) {
|
- |
|
1731 |
// on ne signale pas d'erreur si il n'y a rien dans le champ
|
- |
|
1732 |
if ( !valeurOk( $( this ).siblings( 'span.error' ) ) && valeurOk( $( this ).val() ) ) {
|
- |
|
1733 |
$( this ).after( '<span class="error">mauvais format pour ce champ<span>' );
|
- |
|
1734 |
} else {
|
- |
|
1735 |
$( this ).siblings( 'span.error' ).remove();
|
- |
|
1736 |
}
|
- |
|
1737 |
}
|
- |
|
1738 |
});
|
- |
|
1739 |
}
|
- |
|
1740 |
|
- |
|
1741 |
function geolocValidationEtStockage() {
|
- |
|
1742 |
$( '#signup_submit' ).off().on( 'click', function( event ) {
|
- |
|
1743 |
var localisation = '',
|
- |
|
1744 |
latitude = $( '#latitude' ).val(),
|
- |
|
1745 |
longitude = $( '#longitude' ).val(),
|
- |
|
1746 |
zoom = $( '#zoom' ).val();
|
- |
|
1747 |
|
- |
|
1748 |
if ( ( valeurOk( longitude ) && !valeurOk( latitude ) ) || ( !valeurOk( longitude ) && valeurOk( latitude ) ) ) {
|
- |
|
1749 |
if( !valeurOk( $( '.warning-carto' ) ) ) {
|
- |
|
1750 |
$( '#new-fields-buttons' ).after(
|
- |
|
1751 |
'<p class="message warning-carto">'+
|
- |
|
1752 |
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> Vous avez entré des coordonnées incomplètes<br>'+
|
- |
|
1753 |
'Complétez latitude ou longitude, ou placez un marqueur sur la carto, ou effacez ces deux champs'+
|
- |
|
1754 |
'</p>'
|
- |
|
1755 |
);
|
- |
|
1756 |
}
|
- |
|
1757 |
return false;
|
- |
|
1758 |
} else if( valeurOk( $( '.warning-carto' ) ) ) {
|
- |
|
1759 |
$( '.warning-carto' ).remove();
|
- |
|
1760 |
}
|
- |
|
1761 |
if ( valeurOk( latitude ) && valeurOk( longitude ) ) {
|
- |
|
1762 |
localisation += 'latitude:' + latitude + ';';
|
- |
|
1763 |
localisation += 'longitude:' + longitude;
|
- |
|
1764 |
}
|
- |
|
1765 |
if ( valeurOk( zoom ) ) {
|
- |
|
1766 |
if( valeurOk( localisation ) ) {
|
- |
|
1767 |
localisation += ';';
|
- |
|
1768 |
}
|
- |
|
1769 |
localisation += 'zoom:' + zoom;
|
- |
|
1770 |
}
|
- |
|
1771 |
if ( valeurOk( localisation ) ) {
|
- |
|
1772 |
$( '#localisation' ).val( localisation );
|
- |
|
1773 |
}
|
- |
|
1774 |
});
|
- |
|
1775 |
}
|
1651 |
|
1776 |
|
1652 |
/**
|
1777 |
/**
|
1653 |
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
|
1778 |
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
|
1654 |
* et de comparer à une autre valeur :
|
1779 |
* et de comparer à une autre valeur :
|
1655 |
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
|
1780 |
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
|
Line 1706... |
Line 1831... |
1706 |
$( 'form' ).each( function() {
|
1831 |
$( 'form' ).each( function() {
|
1707 |
$( this )[0].reset();
|
1832 |
$( this )[0].reset();
|
1708 |
});
|
1833 |
});
|
1709 |
// Gestion du champ pot de miel
|
1834 |
// Gestion du champ pot de miel
|
1710 |
potDeMiel();
|
1835 |
potDeMiel();
|
- |
|
1836 |
// Geoloc
|
- |
|
1837 |
onGeoloc();
|
- |
|
1838 |
onGeolocManuelle();
|
- |
|
1839 |
geolocValidationEtStockage();
|
1711 |
// Identifiant de champ
|
1840 |
// Identifiant de champ
|
1712 |
var fieldIndex = 0;
|
1841 |
var fieldIndex = 0;
|
1713 |
// Ajout de nouveaux champs
|
1842 |
// Ajout de nouveaux champs
|
1714 |
onClickAddNewFields( fieldIndex );
|
1843 |
onClickAddNewFields( fieldIndex );
|
1715 |
// Activation/Desactivation des boutons valider et prévisualiser
|
1844 |
// Activation/Desactivation des boutons valider et prévisualiser
|