Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3325 → Rev 3321

/trunk/widget/modules/lg/squelettes/js/UtilsLg.js
150,7 → 150,6
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'latitude-arbres' : obsE['latitude-arbres'],
'longitude-arbres' : obsE['longitude-arbres'],
'altitude-arbres' : obsE['altitude-arbres'],
/trunk/widget/modules/lg/squelettes/js/ReleveLg.js
442,6 → 442,8
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
// this.initialiserAutocompleteCommune();
// this.initialiserGoogleMap( false );
};
 
// Fichier Images *************************************************************/
578,8 → 580,10
}
 
// transfert carto
$( '#tb-geolocation' ).remove();
const ERROR_TXT_GEOLOC = $( '#geoloc-error' )[0].textContent;
$( '#tb-geolocation,#geoloc-error' ).remove();
$( '#geoloc-arbres' ).append(
'<span id="geoloc-error" class="error hidden">' + ERROR_TXT_GEOLOC + '</span>'+
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="osm"'+
596,12 → 600,19
'>'+
'</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.locationArbresHandler.bind(this) );
$( '#tb-geolocation-arbres' ).on( 'location', this.locationHandler.bind(this) );
}
};
 
676,7 → 687,6
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] : '';
683,6 → 693,8
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 : '';
695,20 → 707,32
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 );
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' );
$( '.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' );
}
}
$( '#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();
719,33 → 743,6
}
 
/**
* 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)
*/
848,7 → 845,6
},
'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(),
882,7 → 878,7
numNomSel = datasObs.arbre.taxon.numNomSel,
taxon = datasObs.arbre.taxon.value,
certitude = datasObs.arbre.certitude,
rue = datasObs.arbre['rue-arbres'],
rue = datasObs.releve.rue,
commune = datasObs.releve['commune-nom'],
latitudeLongitude = '[' + datasObs.arbre['latitude-arbres'] + ' / ' + datasObs.arbre['longitude-arbres'] + ']',
miniatures = this.ajouterImgMiniatureAuTransfert( datasObs.arbre['miniature-img'] ),
1123,7 → 1119,6
var retour = [],
champs = [
'rue',
'rue-arbres',
'latitude-arbres',
'longitude-arbres',
'altitude-arbres',
1131,11 → 1126,12
'com-arbres'
];
 
var faceOmbre = '',
var cleValeur = '',
faceOmbre = '',
faceOmbreLength = datasArbres.arbre['face-ombre'].length;
 
$.each( champs, function( i ,value ) {
cleValeur = ( 0 === i ) ? 'releve' : 'arbre';
cleValeur = ( i === 0 ) ? 'releve' : 'arbre';
 
if ( lthis.utils.valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
1223,10 → 1219,13
}
});
});
$( '#rue-arbres' ).val(arbreDatas['rue-arbres']);
$( '#rue-arbres' ).val(releveDatas[0]['rue']);
$( '#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 ) {
1597,6 → 1596,13
},
$.validator.messages.minMaxOk
);
$.validator.addMethod(
'listFields',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
1764,6 → 1770,10
required : true,
minlength : 1,
range : [-180, 180]
},
'rue-arbres' : {
required : true,
minlength : 1
}
}
});
1841,6 → 1851,7
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
const validerReleve = ( observateur && obs && geoloc && dateRue );
 
if ( !obs ) {
$( 'html, body' ).stop().animate({
1878,14 → 1889,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 ( observateur && obs && geoloc && dateRue );
return validerReleve;
};
 
/**
1892,22 → 1903,36
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveLg.prototype.validerArbres = function( etapeReleve = false ) {
const validerReleve = this.validerReleve();
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const geoloc = (
this.utils.valOk( $( '#latitude-arbres' ).val() ) &&
this.utils.valOk( $( '#longitude-arbres' ).val() )
this.utils.valOk( $( '#longitude-arbres' ).val() ) &&
this.utils.valOk( $( '#rue-arbres' ).val() ) &&
this.utils.valOk( $( '#commune-nom-arbres' ).val() )
);
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const obs = ( $( '#form-arbre' ).valid() && $( '#form-arbre-fs' ).valid() );
const obs = (
$( '#form-observation' ).valid() &&
$( '#form-arbre' ).valid() &&
$( '#form-arbre-fs' ).valid()
);
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
$( '.geoloc' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
$( '.geoloc' ).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 ( validerReleve && obs && geoloc && taxon );
return ( observateur && obs && geoloc && taxon );
};
 
// Controle des panneaux d'infos **********************************************/