EVOLUTION-MANAGER
Edit File: turismo.js
$(document).ready(function () { setTimeout(() => { console.clear(); }, 700); obtener_categoria(); }); function obtener_categoria(){ var header = {}; $("#content_categoria").html("..."); vista_cargando(); $.get("https://wsapp.sucre.gob.ec/api/turismo/obtener-categoria-lugar", header, function (response) { vista_cargando_end(); if(response.length > 0){ $("#content_categoria").html(""); $.each(response, function (i, item) { $("#content_categoria").append(` <div class="col-md-4"> <label for="input_cat_${item.id}" class="containercheck">${item.descripcion} <input id="input_cat_${item.id}" class="check_categoria" type="checkbox" checked="checked" value="${item.id}"> <span class="checkmark"></span> </label> </div> `); }); buscar_lugares("TODO"); } }).fail(function() { vista_cargando_end(); }); } function buscar_lugares(buscar="TODO"){ //obtenemos los check var categorias = $("#form_buscar .check_categoria:checked").map(function(){ return $(this).val(); }).get(); if(buscar!="TODO"){ var ruta = "https://wsapp.sucre.gob.ec/api/turismo/obtener-lugares-por-nombre"; var nombre = buscar; //se buscar por lo ingresado en el input categorias = [categorias[0]]; }else{ var ruta = "https://wsapp.sucre.gob.ec/api/turismo/obtener-lugares-por-categoria"; var nombre = ""; //no se busca por nombre } var header = {}; var result_count = 0; $("#result_count").show(); $("#lista_lugares").html(""); $.each(categorias, function (i, categoria) { vista_cargando(); header={ categoriaid: categoria, all: "true", nombre: nombre, }; $.get(ruta, header, function (lista_lugares) { vista_cargando_end(); result_count = result_count + lista_lugares.length; $("#result_count span").html(result_count); if(lista_lugares.length > 0){ $.each(lista_lugares, function (i, lugar) { var json = JSON.stringify(lugar); json = json.replace(/"/g, "'"); $("#lista_lugares").append(` <li class="card"> <a onclick="ver_detalle_lugar(${json})" style="background-color: #6690b1;" class="card-image lazy" data-src="${lugar.image}"> <!--<img src="${lugar.image}" alt=""/>--> </a> <a onclick="ver_detalle_lugar(${json})" class="card-description"> <h2>${lugar.nombres}</h2> <p><i class="fa fa-map-marker"></i> ${lugar.ubicacion}</p> </a> </li> `); }); lazyload(); } }).fail(function() { vista_cargando_end(); }); }); } $("#form_buscar").submit(function (e) { e.preventDefault(); var buscar = $("#search").val(); if(buscar == "" || buscar == null){ buscar = "TODO"; }else{ $("#content_categoria .check_categoria").prop( "checked", true ); } buscar_lugares(buscar); }); function ver_detalle_lugar(lugar){ $('html, body').animate({ scrollTop: 0 }); $("#container_principal").hide(); $("#container_detalle").show(); $("#carousel_image").html(""); vista_cargando(); var header = {"lugarId": lugar.id}; $.get("https://wsapp.sucre.gob.ec/api/turismo/obtener-fotos-lugares", header, function (lista_fotos) { vista_cargando_end(); if(lista_fotos.length > 0){ var botones = ""; $.each(lista_fotos, function (i, foto) { var id_ant=0; var id_nex=0; var checked = "checked"; var html_ant_nex = ""; if(lista_fotos.length>1){ if(i == 0){ //es el primero id_ant = lista_fotos[lista_fotos.length-1].id; id_nex = lista_fotos[i+1].id; }else if(i == lista_fotos.length-1){ //es el ultimo checked = ""; id_ant = lista_fotos[i-1].id; id_nex = lista_fotos[0].id; }else{ //es uno del medio checked = ""; id_ant = lista_fotos[i-1].id; id_nex = lista_fotos[i+1].id; } html_ant_nex = ` <div class="carousel-controls"> <label for="img-${id_ant}" class="prev-slide"> <span>‹</span> </label> <label for="img-${id_nex}" class="next-slide"> <span>›</span> </label> </div>`; } $("#carousel_image").append(` <input type="radio" name="radio-buttons" id="img-${foto.id}" ${checked} /> <li class="slide-container"> <div class="slide-image"> <a href="${foto.url}" target="_blank"><img src="${foto.url}"></a> </div> ${html_ant_nex} </li> `); botones = botones+`<label for="img-${foto.id}" class="carousel-dot" id="img-dot-${foto.id}"></label>`; }); $("#carousel_image").append(`<div class="carousel-dots"> ${botones} </div>`); } }).fail(function() { vista_cargando_end(); }); //cargamos el resto de la informacion del lugar $("#lugar_nombre").html(lugar.nombres); $("#lugar_detalle").html(lugar.descripcion); $("#lugar_info").html(""); if(lugar.email!=null && lugar.email!=""){ $("#lugar_info").append(`<div class="info2"> <span class="ico"><i class="fa fa-envelope" style="font-size: 16px;"></i></span> <span class="inf">${lugar.email}</span> </div>`); } if(lugar.ubicacion!=null && lugar.ubicacion!=""){ $("#lugar_info").append(`<div class="info2"> <span class="ico"><i class="fa fa-map-marker" style="font-size: 22px;"></i></span> <span class="inf">${lugar.ubicacion}</span> </div>`); } if(lugar.numero!=null && lugar.numero!=""){ $("#lugar_info").append(`<div class="info2"> <span class="ico"><i class="fa fa-mobile" style="font-size: 25px;"></i></span> <span class="inf">${lugar.numero}</span> </div>`); } //cargamos los botones de encontrar var mostra1 = false; $("#lugar_encontrar").hide(); $("#lugar_encontrar").html(""); if(lugar.latitud!="" && lugar.latitud!=null && lugar.longitud!="" && lugar.longitud!=null){ var como_llegar=`https://maps.google.com/?q=${lugar.latitud},${lugar.longitud}`; $("#lugar_encontrar").append(`<a href="${como_llegar}" target="_blank"><span><i class="fa fa-location-arrow"></i> <span class="texto">Como llegar</span></span></a>`); mostra1 = true; } if(lugar.sitio_web!="" && lugar.sitio_web!=null){ $("#lugar_encontrar").append(`<a href="${lugar.sitio_web}" target="_blank"><span><i class="fa fa-external-link-square"></i> <span class="texto">Sitio Web</span></span></a>`); mostra1 = true; } if(lugar.numero!=null && lugar.numero!=""){ var whatsapp = lugar.numero; var aux = whatsapp.substring(0,1); if(aux != "+"){ //si no tiene el codigo whatsapp = "+593"+whatsapp.substring(1,whatsapp.length); } // var whatsappURlAndroid ="whatsapp://send?phone=" + whatsapp + "&text=Hola, "; whatsapp = `https://wa.me/${whatsapp}?text=Hola, `; $("#lugar_encontrar").append(`<a href="${whatsapp}" target="_blank"><span><i class="fa fa-whatsapp"></i> <span class="texto">Contacto</span></span></a>`); mostra1 = true; } if(mostra1){ $("#lugar_encontrar").show(); } //cargamos los botones de redes sociales var mostrar2 = false; $("#lugar_redes_sociales").hide(); $("#lugar_redes_sociales").html(""); if(lugar.social_fb != "" && lugar.social_fb != null){ $("#lugar_redes_sociales").append(`<a href="${lugar.social_fb}" target="_blank"><div class="social social_fb"><i class="fa fa-facebook"></i></div></a>`); mostrar2 = true; } if(lugar.social_in != "" && lugar.social_in != null){ $("#lugar_redes_sociales").append(`<a href="${lugar.social_in}" target="_blank"><div class="social social_in"><i class="fa fa-instagram"></i></div></a>`); mostrar2 = true; } if(lugar.social_tw != "" && lugar.social_tw != null){ $("#lugar_redes_sociales").append(`<a href="${lugar.social_tw}" target="_blank"><div class="social social_tw"><i class="fa fa-twitter"></i></div></a>`); mostrar2 = true; } if(lugar.social_yt != "" && lugar.social_yt != null){ $("#lugar_redes_sociales").append(`<a href="${lugar.social_yt}" target="_blank"><div class="social social_yt"><i class="fa fa-youtube-play"></i></div></a>`); mostrar2 = true; } if(mostrar2){ $("#lugar_redes_sociales").show(); } } function cerrar_detalle_lugar(){ $("#container_principal").show(); $("#container_detalle").hide(); } $(window).scroll(function() { lazyload(); }); window.addEventListener("resize", lazyload); window.addEventListener("orientationChange", lazyload); var lazyloadThrottleTimeout; function lazyload () { var lazyloadImages = $("ul.card-list").find(".lazy").get(); if(lazyloadThrottleTimeout) { clearTimeout(lazyloadThrottleTimeout); } lazyloadThrottleTimeout = setTimeout(function() { var scrollTop = window.pageYOffset; lazyloadImages.forEach(function(img) { if($(img).offset().top < (window.innerHeight + scrollTop)) { console.log($(img).offset().top); img.style.cssText+=`background-image: url(${img.dataset.src})`; img.classList.remove('lazy'); } }); if(lazyloadImages.length == 0) { document.removeEventListener("scroll", lazyload); window.removeEventListener("resize", lazyload); window.removeEventListener("orientationChange", lazyload); } }, 20); }