1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| function NoGeometry(){
cartes.noGeom().then(nog => {
var recs = nog.records;
for(let rec of recs){
$("#carousel").append(
`<div class="card item-carousel tooltipped" data-id_image="${rec.id_image}" data-tooltip="${rec.ref_image}" data-position="bottom">
<div class="card-content">
<center><img src="https://monimage.fr/${rec.id_image}.jpg"></center>
</div>
</div>`
)
}
$("#carousel .item-carousel").on("click", function(e){
e.preventDefault();
var vignette = new Carte({
id_image:this.dataset['id_image']
})
vignette.readOne().then(res => {
$("#info_carte").html(`
<div class="index-banner sarala-regular">
<div class="row">
<div class="col s12 m12">
<div class="card" id="fiche_carte">
<form action="" id="carousel_edit">
<div class="card-image">
<center><img src="https://monimage.fr/{vignette.id_image}.jpg"></center>
<a id="trash" class="btn-floating btn-small halfway-fab waves-effect waves-light red darken-4"><i class="las la-trash"></i></a>
<a class="updt_geom btn-floating btn-small halfway-fab waves-effect waves-light brown lighten-2 tooltipped" data-position="top" data-tooltip="Mettre à jour" style="margin-right:45px"><i class="las la-ruler-combined"></i></a>
<button type="submit" id="updt" class="btn-floating btn-small halfway-fab waves-effect waves-light lime darken-2" style="margin-right:90px"><i class="las la-check"></i></button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>`)
$("#carousel_edit .updt_geom").on("click", function(e){
e.preventDefault();
cartes.map.off('click');
cartes.map.getCanvas().style.cursor = 'crosshair';
cartes.map.once('click', function(e) {
var longitude = e.lngLat.lng;
var latitude = e.lngLat.lat;
vignette.updateGeom({
sha1:vignette.sha1,
latitude:latitude,
longitude:longitude
}).finally((v) =>{
carteApi();
myCarousel.trigger("refresh.owl.carousel");
NoGeometry(); // le problème est ici, quand cette fonction n'est pas appelée le problème est contourné, néanmoins la donnée n'est pas mise à jour
M.toast({html: 'Géometrie mise à jour', displayLength: 5000, classes: 'toast_success'});
}).catch((err) => {
M.toast({html: 'Erreur de mise à jour de la géométrie : ' + err, displayLength: 5000, classes: 'toast_error'});
})
// cartes est une instance de classe qui fait référence à une fonction mais je ne pense que cela ait une importance dans le cas présent.
cartes.map.off('click');
cartes.map.getCanvas().style.cursor = '';
})
})
});
})
// Le problème est donc ici : à chaque mise à jour d'une géométrie nulle, la mise à jour ne repasse pas par cet élément ci-dessous
var myCarousel = $(".owl-carousel").owlCarousel({
nav:true,
navText:[`<span class="badge red darken-4 white-text">${remaining} cartes restantes / <i>${remaining} cards remaining </i> </span>`],
loop:false,
margin:0,
items:14
})
})
} |
Partager