442,8 → 442,6 |
//réinitialise taxon.val |
$( '#taxon' ).val( '' ); |
$( '#taxon' ).data( 'numNomSel', '' ); |
// this.initialiserAutocompleteCommune(); |
// this.initialiserGoogleMap( false ); |
}; |
|
// Fichier Images *************************************************************/ |
580,10 → 578,8 |
} |
|
// transfert carto |
const ERROR_TXT_GEOLOC = $( '#geoloc-error' )[0].textContent; |
$( '#tb-geolocation,#geoloc-error' ).remove(); |
$( '#tb-geolocation' ).remove(); |
$( '#geoloc-arbres' ).append( |
'<span id="geoloc-error" class="error hidden">' + ERROR_TXT_GEOLOC + '</span>'+ |
'<tb-geolocation-element'+ |
' id="tb-geolocation-arbres"'+ |
' layer="osm"'+ |
600,19 → 596,12 |
'>'+ |
'</tb-geolocation-element>' |
); |
|
const geolocElements = ['geoloc','geolocalisation','rue','latitude','longitude','commune-nom','commune-insee','altitude','pays']; |
|
$.each( geolocElements, function( i, elementGeo ) { |
$( '#' + elementGeo ).removeClass( elementGeo ); |
$( '#' + elementGeo + '-arbres' ).addClass( elementGeo ); |
}); |
// Empêcher que le module carto ne bind ses events partout |
$( '#tb-geolocation-arbres' ).on( 'submit blur click focus mousedown mouseleave mouseup touchend touchstart change', '*', function( event ) { |
event.preventDefault(); |
return false; |
}); |
$( '#tb-geolocation-arbres' ).on( 'location', this.locationHandler.bind(this) ); |
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind(this) ); |
} |
}; |
|
687,6 → 676,7 |
var locDatas = location.originalEvent.detail; |
|
if ( this.utils.valOk( locDatas ) ) { |
console.log( locDatas ); |
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : ''; |
var latitude = ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) ? locDatas.geometry.coordinates[1] : ''; |
var longitude = ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) ? locDatas.geometry.coordinates[0] : ''; |
693,8 → 683,6 |
var nomCommune = ''; |
var communeInsee = ''; |
|
console.log( locDatas ); |
|
if ( this.utils.valOk( locDatas.inseeData ) ) { |
nomCommune = locDatas.inseeData.nom; |
communeInsee = ( this.utils.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : ''; |
707,32 → 695,20 |
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : ''; |
var pays = ( this.utils.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR'; |
|
$( '.rue' ).val( rue ); |
$( '.latitude' ).val( latitude ); |
$( '.longitude' ).val( longitude ); |
$( '.commune-nom' ).val( nomCommune ); |
$( '.commune-insee' ).val( communeInsee ); |
$( '.altitude' ).val( altitude ); |
$( '.pays' ).val( pays ); |
|
//validation champs géoloc |
if ( this.utils.valOk( $( '.rue' ).val() ) && this.utils.valOk( $( '.commune-nom' ).val() ) ) { |
if ( 'rue-arbres' === $( '.rue' ).attr( 'id' ) ) { |
if( $( '.rue' ).val() === $( '#rue' ).val() && $( '.commune-nom' ).val() === $( '#commune-nom' ).val() ) { |
$( '#rue-error' ).addClass( 'hidden' ); |
$( '.geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
} else { |
$( '#rue-error' ).removeClass( 'hidden' ); |
$( '.geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
} |
} else { |
if( !this.utils.valOk( $( '#geoloc #error-drc' ) ) ) { |
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
} |
$( '#rue' ).val( rue ); |
$( '#latitude' ).val( latitude ); |
$( '#longitude' ).val( longitude ); |
$( '#commune-nom' ).val( nomCommune ); |
$( '#commune-insee' ).val( communeInsee ); |
$( '#altitude' ).val( altitude ); |
$( '#pays' ).val( pays ); |
if ( this.utils.valOk( $( '#rue' ).val() ) && this.utils.valOk( $( '#commune-nom' ).val() ) ) { |
if( !this.utils.valOk( $( '#geoloc #error-drc' ) ) ) { |
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
} |
$( '#geoloc-error' ).addClass( 'hidden' ); |
} else { |
$( '.geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
$( '#geoloc-error' ).removeClass( 'hidden' ); |
$( '#releve-date' ).removeClass( 'erreur' ).closest( '.control-group' ).removeClass( 'error' ).find( '#error-drc' ).remove(); |
$( '#geoloc #error-drc' ).remove(); |
743,6 → 719,33 |
} |
|
/** |
* Fonction handler de l'évenement location du module tb-geoloc étape arbres |
*/ |
ReleveLg.prototype.locationArbresHandler = function( location ) { |
var locDatas = location.originalEvent.detail; |
|
if ( this.utils.valOk( locDatas ) ) { |
console.log( locDatas ); |
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : ''; |
var latitude = ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) ? locDatas.geometry.coordinates[1] : ''; |
var longitude = ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) ? locDatas.geometry.coordinates[0] : ''; |
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : ''; |
|
$( '#rue-arbres' ).val( rue ); |
$( '#latitude-arbres' ).val( latitude ); |
$( '#longitude-arbres' ).val( longitude ); |
$( '#altitude-arbres' ).val( altitude ); |
if ( this.utils.valOk( $( '#latitude-arbres' ).val() ) && this.utils.valOk( $( '#longitude-arbres' ).val() ) ) { |
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' ); |
} else { |
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' ); |
} |
} else { |
console.log( 'Error location' ); |
} |
} |
|
/** |
* Ajoute une observation à la liste des obs à transmettre |
* (résumé obs) |
*/ |
845,6 → 848,7 |
}, |
'referentiel' : referentiel, |
'certitude' : $( '#certitude' ).val(), |
'rue-arbres' : $( '#rue-arbres' ).val(), |
'latitude-arbres' : $( '#latitude-arbres' ).val(), |
'longitude-arbres' : $( '#longitude-arbres' ).val(), |
'altitude-arbres' : $( '#altitude-arbres' ).val(), |
878,7 → 882,7 |
numNomSel = datasObs.arbre.taxon.numNomSel, |
taxon = datasObs.arbre.taxon.value, |
certitude = datasObs.arbre.certitude, |
rue = datasObs.releve.rue, |
rue = datasObs.arbre['rue-arbres'], |
commune = datasObs.releve['commune-nom'], |
latitudeLongitude = '[' + datasObs.arbre['latitude-arbres'] + ' / ' + datasObs.arbre['longitude-arbres'] + ']', |
miniatures = this.ajouterImgMiniatureAuTransfert( datasObs.arbre['miniature-img'] ), |
1119,6 → 1123,7 |
var retour = [], |
champs = [ |
'rue', |
'rue-arbres', |
'latitude-arbres', |
'longitude-arbres', |
'altitude-arbres', |
1126,12 → 1131,11 |
'com-arbres' |
]; |
|
var cleValeur = '', |
faceOmbre = '', |
var faceOmbre = '', |
faceOmbreLength = datasArbres.arbre['face-ombre'].length; |
|
$.each( champs, function( i ,value ) { |
cleValeur = ( i === 0 ) ? 'releve' : 'arbre'; |
cleValeur = ( 0 === i ) ? 'releve' : 'arbre'; |
|
if ( lthis.utils.valOk( datasArbres[cleValeur][value] ) ) { |
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] }); |
1219,13 → 1223,10 |
} |
}); |
}); |
$( '#rue-arbres' ).val(releveDatas[0]['rue']); |
$( '#rue-arbres' ).val(arbreDatas['rue-arbres']); |
$( '#latitude-arbres' ).val(arbreDatas['latitude-arbres']); |
$( '#longitude-arbres' ).val(arbreDatas['longitude-arbres']); |
$( '#commune-nom-arbres' ).val(releveDatas[0]['commune-nom']); |
$( '#commune-insee-arbres' ).val(releveDatas[0]['commune-insee']); |
$( '#altitude-arbres' ).val(arbreDatas['altitude-arbres']); |
$( '#pays-arbres' ).val(releveDatas[0]['pays']); |
// image |
this.supprimerMiniatures(); |
$.each( arbreDatas['miniature-img'], function( i, value ) { |
1596,13 → 1597,6 |
}, |
$.validator.messages.minMaxOk |
); |
$.validator.addMethod( |
'listFields', |
function ( value, element ) { |
return ( lthis.utils.valOk( value ) ); |
}, |
'' |
); |
|
$.extend( $.validator.defaults, { |
errorElement: 'span', |
1770,10 → 1764,6 |
required : true, |
minlength : 1, |
range : [-180, 180] |
}, |
'rue-arbres' : { |
required : true, |
minlength : 1 |
} |
} |
}); |
1851,7 → 1841,6 |
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) |
); |
} |
const validerReleve = ( observateur && obs && geoloc && dateRue ); |
|
if ( !obs ) { |
$( 'html, body' ).stop().animate({ |
1889,14 → 1878,14 |
if ( geoloc ) { |
this.masquerPanneau( '#dialogue-geoloc-ko' ); |
if ( dateRue ) { |
$( '.geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
} |
} else { |
this.afficherPanneau( '#dialogue-geoloc-ko' ); |
$( '.geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
} |
|
return validerReleve; |
return ( observateur && obs && geoloc && dateRue ); |
}; |
|
/** |
1903,36 → 1892,22 |
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant" |
*/ |
ReleveLg.prototype.validerArbres = function( etapeReleve = false ) { |
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() ) |
const validerReleve = this.validerReleve(); |
const geoloc = ( |
this.utils.valOk( $( '#latitude-arbres' ).val() ) && |
this.utils.valOk( $( '#longitude-arbres' ).val() ) && |
this.utils.valOk( $( '#rue-arbres' ).val() ) && |
this.utils.valOk( $( '#commune-nom-arbres' ).val() ) |
this.utils.valOk( $( '#longitude-arbres' ).val() ) |
); |
const taxon = this.utils.valOk( $( '#taxon' ).val() ); |
const obs = ( |
$( '#form-observation' ).valid() && |
$( '#form-arbre' ).valid() && |
$( '#form-arbre-fs' ).valid() |
); |
const obs = ( $( '#form-arbre' ).valid() && $( '#form-arbre-fs' ).valid() ); |
if ( geoloc ) { |
this.masquerPanneau( '#dialogue-geoloc-ko' ); |
$( '.geoloc' ).closest( '.control-group' ).removeClass( 'error' ); |
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' ); |
} else { |
this.afficherPanneau( '#dialogue-geoloc-ko' ); |
$( '.geoloc' ).closest( '.control-group' ).addClass( 'error' ); |
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' ); |
} |
// panneau observateur |
if ( observateur ) { |
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' ); |
$( '#tb-observateur .control-group' ).removeClass( 'error' ); |
} else { |
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' ); |
$( '#tb-observateur .control-group' ).addClass( 'error' ); |
} |
|
return ( observateur && obs && geoloc && taxon ); |
return ( validerReleve && obs && geoloc && taxon ); |
}; |
|
// Controle des panneaux d'infos **********************************************/ |