@maplat/ui 0.11.7 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/maplat-ui.es.js +31 -30
- package/dist/maplat-ui.umd.js +5 -5
- package/dist/service-worker.js +1 -1
- package/package.json +3 -3
- package/src/service-worker/index.ts +3 -1
- package/src/ui_init.ts +2 -2
- package/src/ui_marker.ts +13 -7
package/dist/maplat-ui.es.js
CHANGED
|
@@ -62793,47 +62793,48 @@ function kU(n, e, t, i = !0) {
|
|
|
62793
62793
|
} else
|
|
62794
62794
|
s.removeAttribute("srcdoc"), s.setAttribute("src", n.core.translate(t.url) || "");
|
|
62795
62795
|
} else {
|
|
62796
|
-
const r = [], s = t.media || t.image;
|
|
62797
|
-
|
|
62798
|
-
|
|
62799
|
-
|
|
62800
|
-
|
|
62801
|
-
|
|
62802
|
-
|
|
62803
|
-
|
|
62804
|
-
|
|
62805
|
-
|
|
62806
|
-
|
|
62807
|
-
|
|
62808
|
-
|
|
62809
|
-
|
|
62810
|
-
|
|
62811
|
-
|
|
62812
|
-
|
|
62813
|
-
|
|
62814
|
-
<div class="col-xs-12 poi_img_swiper">
|
|
62796
|
+
const r = [], s = t.media || t.image, a = s ? Array.isArray(s) ? s : [s] : [];
|
|
62797
|
+
let o = "";
|
|
62798
|
+
a.length > 0 && (a.forEach((u) => {
|
|
62799
|
+
let d;
|
|
62800
|
+
typeof u == "string" ? d = {
|
|
62801
|
+
src: u,
|
|
62802
|
+
type: Sx(u)
|
|
62803
|
+
} : (d = { ...u }, d.type || (d.type = Sx(d.src)), d.desc && !d.caption && (d.caption = d.desc));
|
|
62804
|
+
const g = wC(d.src, "img");
|
|
62805
|
+
let A = `image-url="${g}" image-type="${d.type}"`;
|
|
62806
|
+
d.thumbnail ? A += ` thumbnail-url="${wC(d.thumbnail, "img")}"` : d.type === "image" && (A += ` thumbnail-url="${g}"`);
|
|
62807
|
+
for (const m of Object.keys(d)) {
|
|
62808
|
+
if (["src", "type", "thumbnail", "desc"].includes(m)) continue;
|
|
62809
|
+
const f = d[m];
|
|
62810
|
+
typeof f == "boolean" ? f && (A += ` ${m}`) : f != null && (A += ` ${m}="${f}"`);
|
|
62811
|
+
}
|
|
62812
|
+
r.push(`<cc-swiper-slide ${A}></cc-swiper-slide>`);
|
|
62813
|
+
}), o = ` <div class="col-xs-12 poi_img_swiper">
|
|
62815
62814
|
<cc-swiper>${r.join("")}</cc-swiper>
|
|
62816
|
-
</div
|
|
62815
|
+
</div>`);
|
|
62816
|
+
const l = Ai(`<div class="poi_data">
|
|
62817
|
+
${o}
|
|
62817
62818
|
<p class="recipient poi_address"></p>
|
|
62818
62819
|
<p class="recipient poi_desc"></p>
|
|
62819
62820
|
</div>`)[0];
|
|
62820
|
-
if (e.appendChild(
|
|
62821
|
-
const
|
|
62822
|
-
|
|
62821
|
+
if (e.appendChild(l), !document.getElementById("poi-swiper-style")) {
|
|
62822
|
+
const u = document.createElement("style");
|
|
62823
|
+
u.id = "poi-swiper-style", u.innerHTML = `
|
|
62823
62824
|
cc-swiper { --cc-slider-theme-color: #007aff; --cc-slider-navigation-color: #007aff; height: 300px; }
|
|
62824
62825
|
cc-viewer { --cc-viewer-z-index: 100000; }
|
|
62825
|
-
`, document.head.appendChild(
|
|
62826
|
+
`, document.head.appendChild(u);
|
|
62826
62827
|
}
|
|
62827
|
-
|
|
62828
|
-
const
|
|
62829
|
-
i ? (
|
|
62828
|
+
l.querySelector(".poi_address").innerText = n.core.translate(t.address) || "", l.querySelector(".poi_desc").innerHTML = (n.core.translate(t.desc) || "").replace(/\n/g, "<br>");
|
|
62829
|
+
const c = n.core.mapDivDocument.querySelector(".poi_share_buttons"), h = n.core.mapDivDocument.querySelector(".qr_view_poi");
|
|
62830
|
+
i ? (c == null || c.classList.remove("hide"), h == null || h.classList.remove("hide"), h && a5.toCanvas(
|
|
62830
62831
|
window.location.href,
|
|
62831
62832
|
{ width: 128, margin: 1 },
|
|
62832
62833
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62833
|
-
(
|
|
62834
|
-
|
|
62834
|
+
(u, d) => {
|
|
62835
|
+
u || (h.innerHTML = "", h.appendChild(d));
|
|
62835
62836
|
}
|
|
62836
|
-
)) : (
|
|
62837
|
+
)) : (c == null || c.classList.add("hide"), h == null || h.classList.add("hide"));
|
|
62837
62838
|
}
|
|
62838
62839
|
}
|
|
62839
62840
|
function OU(n, e) {
|
package/dist/maplat-ui.umd.js
CHANGED
|
@@ -4797,16 +4797,16 @@ void main () {
|
|
|
4797
4797
|
window.parent.postMessage(["setHeight", (entries[0].target.clientHeight + 16) + "px"], "*");
|
|
4798
4798
|
});
|
|
4799
4799
|
if(heightGetter) resizeObserver.observe(heightGetter);
|
|
4800
|
-
<\/script>`);s.contentDocument.head.appendChild(l[0]),s.contentDocument.head.appendChild(c[0])};s.addEventListener("load",a),s.removeAttribute("src"),s.setAttribute("srcdoc",`<div id="heightGetter">${n.core.translate(t.html)||""}</div>`)}else s.removeAttribute("srcdoc"),s.setAttribute("src",n.core.translate(t.url)||"")}else{const r=[],s=t.media||t.image
|
|
4801
|
-
<div class="col-xs-12 poi_img_swiper">
|
|
4800
|
+
<\/script>`);s.contentDocument.head.appendChild(l[0]),s.contentDocument.head.appendChild(c[0])};s.addEventListener("load",a),s.removeAttribute("src"),s.setAttribute("srcdoc",`<div id="heightGetter">${n.core.translate(t.html)||""}</div>`)}else s.removeAttribute("srcdoc"),s.setAttribute("src",n.core.translate(t.url)||"")}else{const r=[],s=t.media||t.image,a=s?Array.isArray(s)?s:[s]:[];let o="";a.length>0&&(a.forEach(u=>{let d;typeof u=="string"?d={src:u,type:UU(u)}:(d={...u},d.type||(d.type=UU(d.src)),d.desc&&!d.caption&&(d.caption=d.desc));const g=$C(d.src,"img");let A=`image-url="${g}" image-type="${d.type}"`;d.thumbnail?A+=` thumbnail-url="${$C(d.thumbnail,"img")}"`:d.type==="image"&&(A+=` thumbnail-url="${g}"`);for(const m of Object.keys(d)){if(["src","type","thumbnail","desc"].includes(m))continue;const f=d[m];typeof f=="boolean"?f&&(A+=` ${m}`):f!=null&&(A+=` ${m}="${f}"`)}r.push(`<cc-swiper-slide ${A}></cc-swiper-slide>`)}),o=` <div class="col-xs-12 poi_img_swiper">
|
|
4802
4801
|
<cc-swiper>${r.join("")}</cc-swiper>
|
|
4803
|
-
</div>
|
|
4802
|
+
</div>`);const l=pi(`<div class="poi_data">
|
|
4803
|
+
${o}
|
|
4804
4804
|
<p class="recipient poi_address"></p>
|
|
4805
4805
|
<p class="recipient poi_desc"></p>
|
|
4806
|
-
</div>`)[0];if(e.appendChild(
|
|
4806
|
+
</div>`)[0];if(e.appendChild(l),!document.getElementById("poi-swiper-style")){const u=document.createElement("style");u.id="poi-swiper-style",u.innerHTML=`
|
|
4807
4807
|
cc-swiper { --cc-slider-theme-color: #007aff; --cc-slider-navigation-color: #007aff; height: 300px; }
|
|
4808
4808
|
cc-viewer { --cc-viewer-z-index: 100000; }
|
|
4809
|
-
`,document.head.appendChild(c)}a.querySelector(".poi_address").innerText=n.core.translate(t.address)||"",a.querySelector(".poi_desc").innerHTML=(n.core.translate(t.desc)||"").replace(/\n/g,"<br>");const o=n.core.mapDivDocument.querySelector(".poi_share_buttons"),l=n.core.mapDivDocument.querySelector(".qr_view_poi");i?(o==null||o.classList.remove("hide"),l==null||l.classList.remove("hide"),l&&w4.toCanvas(window.location.href,{width:128,margin:1},(c,h)=>{c||(l.innerHTML="",l.appendChild(h))})):(o==null||o.classList.add("hide"),l==null||l.classList.add("hide"))}}function BU(n,e){var l,c;const t=n.core.mapDivDocument.querySelector(".modalBase"),i=No(t);if(e.directgo){let h=!1,u="";typeof e.directgo=="string"?u=e.directgo:(u=e.directgo.href,h=e.directgo.blank||!1),h?window.open(u,"_blank"):window.location.href=u;return}const r=n.core.mapDivDocument.querySelector(".modal_poi_title")||n.core.mapDivDocument.querySelector(".modal_title");r&&(r.innerText=n.core.translate(e.name)||"");let s=n.core.mapDivDocument.querySelector(".poi_web_div");if(!s){const h=n.core.mapDivDocument.querySelector(".modal_poi_content");h&&(s=pi('<div class="poi_web_div"></div>')[0],h.insertBefore(s,h.firstChild))}const a=n.enableShare&&!!n.appOption.stateUrl;FU(n,s,e,a);const o=h=>{var u,d;t.removeEventListener("hidden.bs.modal",o,!1),(d=(u=n.core).unselectMarker)==null||d.call(u),n.selectedMarkerNamespaceID=void 0,n.updateUrl()};t.addEventListener("hidden.bs.modal",o,!1),(c=(l=n.core).selectMarker)==null||c.call(l,e.namespaceID),n.selectedMarkerNamespaceID=e.namespaceID,n.modalSetting("poi"),i.show(),n.updateUrl()}function h8(n,e){var o;if(!n.contextMenu)return;n.contextMenu.clear(),n.contextMenu.extend(e);const t=n.lastClickPixel,i=n.lastClickCoordinate;if(!t){console.warn("[Debug] No lastClickPixel for ContextMenu");return}const r=()=>{n.contextMenu.un("open",r);const l=()=>{n.contextMenu.un("close",l)};n.contextMenu.on("close",l)};n.contextMenu.on("open",r),(o=n.contextMenu.Internal)==null||o.openMenu(t,i);const s=n.core.mapObject.getViewport(),a=l=>{var c;n.contextMenu.Internal.opened&&((c=n.contextMenu.Internal)==null||c.closeMenu(),l.stopPropagation(),s.removeEventListener(l.type,a,!1))};s.addEventListener("pointerdown",a,!1)}async function u8(n,e,t=10){const i=KY(e),r=n.core.mapObject,s=r.getSize(),o=[[0,0],[s[0],0],s,[0,s[1]],[0,0]].map(h=>r.getCoordinateFromPixel(h)),l=await(typeof n.core.from.xy2SysCoord!="function"?Promise.resolve(o):Promise.all(o.map(h=>n.core.from.sysCoord2MercAsync(h)))),c=n.areaIndex(l);return Promise.all(Object.keys(n.core.cacheHash).filter(h=>n.core.cacheHash[h].envelope).map(h=>{const u=n.core.cacheHash[h];return Promise.all([Promise.resolve(u),Promise.all(u.envelope.geometry.coordinates[0].map(d=>n.core.from.merc2SysCoordAsync(d)))])})).then(h=>h.reduce((d,g)=>{const A=g[0],m=g[1];if(A.mapID!==n.core.from.mapID){const f=qY([m]);l8(i,f)&&d.push(A)}return d},[]).filter(d=>d.envelopeAreaIndex/c<t).sort((d,g)=>d.envelopeAreaIndex-g.envelopeAreaIndex).map(d=>d.mapID))}function d8(n,e){n.core.requestUpdateState({hideMarker:e?1:0}),e?(n.core.hideAllMarkers&&n.core.hideAllMarkers(),n.core.mapDivDocument.classList.add("hide-marker")):(n.core.showAllMarkers&&n.core.showAllMarkers(),n.core.mapDivDocument.classList.remove("hide-marker")),n.core.restoreSession&&n.core.requestUpdateState({hideMarker:e?1:0})}function g8(n,e){const t=n.overlaySwiper;return Array.from(t.$el[0].querySelectorAll(".swiper-slide")).some(r=>r.getAttribute("data")===e)}function A8(n,e){const t=n.core.getMarker(e);t&&BU(n,t)}_n.use([Bv,Dv]);const DU=["title","officialTitle","author","epoch","createdAt","era","contributor","mapper","license","dataLicense","attr","dataAttr","reference","description"];async function f8(n,e){if(e.translateUI=!0,n.core=new Kl(e),e.icon&&(qr["defaultpin.png"]=e.icon),e.restore)n.setShowBorder(e.restore.showBorder||!1),e.restore.hideMarker&&n.core.waitReady.then(()=>{n.setHideMarker(e.restore.hideMarker)}),e.restore.openedMarker&&(console.log(e.restore.openedMarker),n.core.waitReady.then(()=>{console.log(`Timeout ${e.restore.openedMarker} `),n.handleMarkerActionById(e.restore.openedMarker)}));else if(e.restoreSession){const t=parseInt(String(localStorage.getItem("epoch")||"0"),10),i=Math.floor(new Date().getTime()/1e3);t&&i-t<3600&&n.setShowBorder(!!parseInt(String(localStorage.getItem("showBorder")||"0"),10)),n.core.initialRestore.hideMarker&&n.core.waitReady.then(()=>{n.setHideMarker(!0)})}else n.setShowBorder(!1);n.enablePoiHtmlNoScroll=e.enablePoiHtmlNoScroll||!1,e.enableShare&&(n.core.mapDivDocument.classList.add("enable_share"),n.enableShare=!0),e.enableHideMarker&&(n.core.mapDivDocument.classList.add("enable_hide_marker"),n.enableHideMarker=!0),e.enableBorder&&(n.core.mapDivDocument.classList.add("enable_border"),n.enableBorder=!0),e.enableMarkerList&&(n.core.mapDivDocument.classList.add("enable_marker_list"),n.enableMarkerList=!0),e.disableNoimage&&(n.disableNoimage=!0),e.stateUrl&&n.core.mapDivDocument.classList.add("state_url"),e.alwaysGpsOn&&(n.alwaysGpsOn=!0),n.core.enableCache&&n.core.mapDivDocument.classList.add("enable_cache"),"ontouchstart"in window&&(n.core.mapDivDocument.classList.add("ol-touch"),n.isTouch=!0),e.mobileIF&&(e.debug=!0),e.appEnvelope&&(n.appEnvelope=!0),v8(n,e),I8(n,e),C8(n),p8(n,e)}function p8(n,e){const t=!e.presentationMode,i=n.core.mapDivDocument,r=i.querySelector(".modalBase"),s=i.querySelector(".modal_title"),a=i.querySelector(".modal_gpsD_content");n.core.addEventListener("outOfMap",o=>{console.log("Event: outOfMap"),t&&(s.innerText=n.core.t("app.out_of_map")||"",a.innerText=n.core.t("app.out_of_map_area")||"",n.modalSetting("gpsD"),No(r,{root:i}).show())}),n.core.addEventListener("gps_error",o=>{console.log("GPS Error:",o);const l={user_gps_deny:"app.user_gps_deny",gps_miss:"app.gps_miss",gps_timeout:"app.gps_timeout"};n.core&&(s.innerText=n.core.t("app.gps_error")||"",a.innerText=n.core.t(l[o.detail]||"app.gps_error")||"",n.modalSetting("gpsD"),No(r,{root:i}).show())}),n.core.addEventListener("gps_result",o=>{if(console.log("GPS Result:",o),o.detail&&o.detail.error){const l=o.detail.error;if(l==="gps_off"){n.lastGPSError=void 0;return}if(n.lastGPSError=l,n.alwaysGpsOn&&l==="gps_out"||!n.core)return;const c=No(r,{root:i});if(l==="gps_out")s.innerText=n.core.t("app.out_of_map")||"",a.innerText=n.core.t("app.out_of_map_area")||"";else{const h={user_gps_deny:"app.user_gps_deny",gps_miss:"app.gps_miss",gps_timeout:"app.gps_timeout"};s.innerText=n.core.t("app.gps_error")||"",a.innerText=n.core.t(h[l]||"app.gps_error")||""}n.modalSetting("gpsD"),c.show()}else n.lastGPSError=void 0})}function m8(n,e){const t=["maroon","deeppink","indigo","olive","royalblue","red","hotpink","green","yellow","navy","saddlebrown","fuchsia","darkslategray","yellowgreen","blue","mediumvioletred","purple","lime","darkorange","teal","crimson","darkviolet","darkolivegreen","steelblue","aqua"],i=[];let r=0;for(let c=0;c<e.length;c++){const h=e[c];if(h.envelope){n.appEnvelope&&h.envelope.geometry.coordinates[0].map(d=>{i.length===0?(i[0]=i[2]=d[0],i[1]=i[3]=d[1]):(d[0]<i[0]&&(i[0]=d[0]),d[0]>i[2]&&(i[2]=d[0]),d[1]<i[1]&&(i[1]=d[1]),d[1]>i[3]&&(i[3]=d[1]))}),h.envelopeColor=t[r],r++,r===t.length&&(r=0);const u=h.envelope.geometry.coordinates[0];h.envelopeAreaIndex=n.areaIndex(u)}}n.appEnvelope&&console.log(`This app's envelope is: ${i}`),n.splashPromise&&n.splashPromise.then(()=>{const c=n.core.mapDivDocument.querySelector(".modalBase");No(c,{root:n.core.mapDivDocument}).hide()});const s=[],a=[];e.forEach(c=>{E4(c)?s.push(c):a.push(c)});const o=n.baseSwiper=new _n(".base-swiper",{slidesPerView:2,spaceBetween:15,breakpoints:{480:{slidesPerView:1.4,spaceBetween:10}},centeredSlides:!0,threshold:2,preventClicks:!0,preventClicksPropagation:!0,observer:!0,observeParents:!0,loop:s.length>=2,navigation:{nextEl:".base-next",prevEl:".base-prev"}});o.on("click",c=>{if(!o.clickedSlide)return;const h=o.clickedSlide;n.core.changeMap(h.getAttribute("data")),delete n._selectCandidateSources,o.setSlideIndexAsSelected(parseInt(h.getAttribute("data-swiper-slide-index")||"0",10))}),s.length<2&&n.core.mapDivDocument.querySelector(".base-swiper").classList.add("single-map");const l=n.overlaySwiper=new _n(".overlay-swiper",{slidesPerView:2,spaceBetween:15,breakpoints:{480:{slidesPerView:1.4,spaceBetween:10}},centeredSlides:!0,threshold:2,preventClicks:!0,preventClicksPropagation:!0,observer:!0,observeParents:!0,loop:a.length>=2,navigation:{nextEl:".overlay-next",prevEl:".overlay-prev"}});l.on("click",c=>{if(!l.clickedSlide)return;const h=l.clickedSlide;n.core.changeMap(h.getAttribute("data")),delete n._selectCandidateSources,l.setSlideIndexAsSelected(parseInt(h.getAttribute("data-swiper-slide-index")||"0",10))}),a.length<2&&n.core.mapDivDocument.querySelector(".overlay-swiper").classList.add("single-map"),s.forEach(c=>{const h=c.thumbnail?c.thumbnail.split("/").pop():"",u=qr[h]||c.thumbnail;o.appendSlide(`<div class="swiper-slide" data="${c.mapID}"><img crossorigin="anonymous" src="${u}"><div> ${n.core.translate(c.label)}</div> </div> `)}),a.forEach(c=>{const h=c.envelope?` ${c.envelopeColor}`:"",u=c.thumbnail?c.thumbnail.split("/").pop():"",d=qr[u]||c.thumbnail;l.appendSlide(`<div class="swiper-slide${h}" data="${c.mapID}"><img crossorigin="anonymous" src="${d}"><div> ${n.core.translate(c.label)}</div> </div> `)}),l.on("slideChange",()=>{n.updateEnvelope()}),o.slideToLoop(0),l.slideToLoop(0),SM(n.core.mapDivDocument)}function C8(n){n.core.addEventListener("mapChanged",e=>{const t=e.detail;n.baseSwiper.setSlideMapID(t.mapID),n.overlaySwiper.setSlideMapID(t.mapID);const i=t.officialTitle||t.title||t.label;n.core.mapDivDocument.querySelector(".map-title span").innerText=n.core.translate(i)||"",n.checkOverlayID(t.mapID)?n.sliderNew.setEnable(!0):n.sliderNew.setEnable(!1);const r=n.sliderNew.get("slidervalue")*100;n.core.mapObject.setTransparency(r),n.updateEnvelope(),n.updateUrl()}),n.core.addEventListener("poi_number",e=>{e.detail?n.core.mapDivDocument.classList.remove("no_poi"):n.core.mapDivDocument.classList.add("no_poi")}),n.core.addEventListener("sourceLoaded",e=>{const t=e.detail;m8(n,t)}),n.core.waitReady.then(()=>{n.core.mapObject.getViewport().addEventListener("pointerdown",e=>{n.lastClickPixel=n.core.mapObject.getEventPixel(e),n.lastClickCoordinate=n.core.mapObject.getCoordinateFromPixel(n.lastClickPixel)},!0)}),n.core.addEventListener("clickMarkers",e=>{const t=e.detail;if(t.length===1)n.handleMarkerAction(t[0]);else{const i=[];t.forEach(r=>{i.push({icon:r.icon||qr["defaultpin.png"],text:n.core.translate(r.name),callback:()=>{n.handleMarkerAction(r)}})}),n.showContextMenu(i)}}),n.core.waitReady.then(()=>{n.core.mapObject.on("moveend",e=>{n.updateUrl()})})}function I8(n,e){let t;const i=n.core.mapDivDocument,r=i.querySelector(".modalBase"),s=n.core.initialRestore.transparency||(e.restore?e.restore.transparency:void 0),a=!n.core.initialRestore.mapID;i.addEventListener("click",l=>{const c=l.target,h=c.closest(".share")||c.closest(".share_button");if(!h)return;console.log("Share button clicked:",h);const u=h.getAttribute("data");if(!u)return;const d=u.split("_"),g=n.getShareUrl(d[1]||"app");if(console.log("Share URI:",g),d[0]==="cp"){const A=document.querySelector("body"),m=n.core.t?n.core.t("app.copy_toast"):"URL Copied";if(navigator.clipboard)navigator.clipboard.writeText(g).then(()=>{n.showToast(m,h)});else{const f=document.createElement("textarea");f.textContent=g,A.appendChild(f),f.select(),document.execCommand("copy"),A.removeChild(f),n.showToast(m,h)}}else if(d[0]==="tw"){const A=document.title,m=`https://twitter.com/intent/tweet?url=${encodeURIComponent(g)}&text=${encodeURIComponent(A)}&hashtags=Maplat`;window.open(m,"_blank")}else if(d[0]==="fb"){const A=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(g)}&display=popup&ref=plugin&src=like&kid_directed_site=0`;window.open(A,"_blank","width=650,height=450,menubar=no,toolbar=no,scrollbars=yes")}else if(d[0]==="qr"){const A=i.querySelector(".qr_view_poi")||i.querySelector(".qr_view");A&&Gg.toCanvas(g,{width:128,margin:1},(m,f)=>{m||(A.innerHTML="",A.appendChild(f))})}}),i.querySelectorAll(".prevent-default-ui").forEach(l=>{l.addEventListener("touchstart",c=>{c.preventDefault()})}),n.core.addEventListener("uiPrepare",l=>{const c=function(g){const A=/\$\{([a-zA-Z0-9_\.\/\-]+)\}/g;let m=g,f;for(;(f=A.exec(g))!=null;)m=m.replace(f[0],qr[f[1]]);return m};let h=i.querySelectorAll("[data-i18n], [din]");h.forEach(g=>{const A=g.getAttribute("data-i18n")||g.getAttribute("din");g.innerText=c(n.core.t(A))}),h=i.querySelectorAll("[data-i18n-html], [dinh]"),h.forEach(g=>{const A=g.getAttribute("data-i18n-html")||g.getAttribute("dinh");g.innerHTML=c(n.core.t(A))});const u=i.querySelector('[data-i18n="html.app_loading_body"], [din="html.app_loading_body"]');u&&(u.innerHTML=c(n.core.t("html.app_loading_body")));const d={reverse:!0,tipLabel:n.core.t("control.trans",{ns:"translation"})};if(s&&(d.initialValue=s/100),n.sliderNew=new FG(d),n.core.appData.controls=[new kG({tipLabel:n.core.t("control.info",{ns:"translation"})}),new PG({tipLabel:n.core.t("control.compass",{ns:"translation"})}),new zG({tipLabel:n.core.t("control.zoom",{ns:"translation"})}),new DG({ui:n,tipLabel:n.core.t("control.gps",{ns:"translation"})}),new BG({tipLabel:n.core.t("control.home",{ns:"translation"})}),n.sliderNew,new QG({tipLabel:n.core.t("control.help",{ns:"translation"})})],n.enableShare&&n.core.appData.controls.push(new LG({tipLabel:n.core.t("control.share",{ns:"translation"})})),n.enableBorder&&n.core.appData.controls.push(new NG({tipLabel:n.core.t("control.border",{ns:"translation"})})),n.enableHideMarker&&n.core.appData.controls.push(new OG({tipLabel:n.core.t("control.hide_marker",{ns:"translation"})})),n.enableMarkerList&&n.core.appData.controls.push(new VG({tipLabel:n.core.t("control.marker_list",{ns:"translation"})})),n.contextMenu=new _G({eventType:"__dummy__",width:170,defaultItems:!1,items:[]}),n.core.appData.controls.push(n.contextMenu),n.sliderNew.on("propertychange",g=>{g.key==="slidervalue"&&(n.core.setTransparency(n.sliderNew.get(g.key)*100),n.updateUrl())}),a){let g=!1;n.core.appData.splash&&(g=!0);const A=No(r,{root:i});i.querySelector(".modal_load_title").innerText=n.core.translate(n.core.appData.appName)||"",g&&(i.querySelector(".splash_img").setAttribute("src",`img/${n.core.appData.splash}`),i.querySelector(".splash_div").classList.remove("hide")),n.modalSetting("load"),A.show();const m=g?1e3:200;n.splashPromise=new Promise(f=>{setTimeout(()=>{f()},m)})}document.querySelector("title").innerHTML=n.core.translate(n.core.appName)||""}),n.core.waitReady.then(()=>{n.core.mapObject.on("click_control",l=>{const c=l.control||l.frameState&&l.frameState.control,h=No(r);if(c==="help")n.modalSetting("help"),h.show();else if(c==="share"){n.modalSetting("share");const u=r.querySelector(".modal-body"),d=n.getShareUrl("app"),g=n.getShareUrl("view"),A=u.querySelector(".qr_app"),m=u.querySelector(".qr_view");A&&Gg.toCanvas(d,{width:128,margin:1},(f,p)=>{f||(A.innerHTML="",A.appendChild(p))}),m&&Gg.toCanvas(g,{width:128,margin:1},(f,p)=>{f||(m.innerHTML="",m.appendChild(p))}),h.show()}else if(c==="markerList"){n.modalSetting("marker_list"),h.show();const u=r.querySelector(".modal_marker_list_content ul.list-group"),d=()=>{var p,C;u.querySelectorAll(".list_poiitems_div").forEach(v=>{v.classList.remove("open")}),u.querySelectorAll(".list_poicontent_div").forEach(v=>{v.classList.remove("open"),v.innerHTML=""}),(C=(p=n.core).unselectMarker)==null||C.call(p),r.removeEventListener("hidden.bs.modal",d)};r.removeEventListener("hidden.bs.modal",d),r.addEventListener("hidden.bs.modal",d);const g=n.core.from.mapID;if(t===g)return;t=g,u.innerHTML="",n.core.listPoiLayers(!1,!0).forEach(m=>{const f=pi(`<li class="list-group-item layer">
|
|
4809
|
+
`,document.head.appendChild(u)}l.querySelector(".poi_address").innerText=n.core.translate(t.address)||"",l.querySelector(".poi_desc").innerHTML=(n.core.translate(t.desc)||"").replace(/\n/g,"<br>");const c=n.core.mapDivDocument.querySelector(".poi_share_buttons"),h=n.core.mapDivDocument.querySelector(".qr_view_poi");i?(c==null||c.classList.remove("hide"),h==null||h.classList.remove("hide"),h&&w4.toCanvas(window.location.href,{width:128,margin:1},(u,d)=>{u||(h.innerHTML="",h.appendChild(d))})):(c==null||c.classList.add("hide"),h==null||h.classList.add("hide"))}}function BU(n,e){var l,c;const t=n.core.mapDivDocument.querySelector(".modalBase"),i=No(t);if(e.directgo){let h=!1,u="";typeof e.directgo=="string"?u=e.directgo:(u=e.directgo.href,h=e.directgo.blank||!1),h?window.open(u,"_blank"):window.location.href=u;return}const r=n.core.mapDivDocument.querySelector(".modal_poi_title")||n.core.mapDivDocument.querySelector(".modal_title");r&&(r.innerText=n.core.translate(e.name)||"");let s=n.core.mapDivDocument.querySelector(".poi_web_div");if(!s){const h=n.core.mapDivDocument.querySelector(".modal_poi_content");h&&(s=pi('<div class="poi_web_div"></div>')[0],h.insertBefore(s,h.firstChild))}const a=n.enableShare&&!!n.appOption.stateUrl;FU(n,s,e,a);const o=h=>{var u,d;t.removeEventListener("hidden.bs.modal",o,!1),(d=(u=n.core).unselectMarker)==null||d.call(u),n.selectedMarkerNamespaceID=void 0,n.updateUrl()};t.addEventListener("hidden.bs.modal",o,!1),(c=(l=n.core).selectMarker)==null||c.call(l,e.namespaceID),n.selectedMarkerNamespaceID=e.namespaceID,n.modalSetting("poi"),i.show(),n.updateUrl()}function h8(n,e){var o;if(!n.contextMenu)return;n.contextMenu.clear(),n.contextMenu.extend(e);const t=n.lastClickPixel,i=n.lastClickCoordinate;if(!t){console.warn("[Debug] No lastClickPixel for ContextMenu");return}const r=()=>{n.contextMenu.un("open",r);const l=()=>{n.contextMenu.un("close",l)};n.contextMenu.on("close",l)};n.contextMenu.on("open",r),(o=n.contextMenu.Internal)==null||o.openMenu(t,i);const s=n.core.mapObject.getViewport(),a=l=>{var c;n.contextMenu.Internal.opened&&((c=n.contextMenu.Internal)==null||c.closeMenu(),l.stopPropagation(),s.removeEventListener(l.type,a,!1))};s.addEventListener("pointerdown",a,!1)}async function u8(n,e,t=10){const i=KY(e),r=n.core.mapObject,s=r.getSize(),o=[[0,0],[s[0],0],s,[0,s[1]],[0,0]].map(h=>r.getCoordinateFromPixel(h)),l=await(typeof n.core.from.xy2SysCoord!="function"?Promise.resolve(o):Promise.all(o.map(h=>n.core.from.sysCoord2MercAsync(h)))),c=n.areaIndex(l);return Promise.all(Object.keys(n.core.cacheHash).filter(h=>n.core.cacheHash[h].envelope).map(h=>{const u=n.core.cacheHash[h];return Promise.all([Promise.resolve(u),Promise.all(u.envelope.geometry.coordinates[0].map(d=>n.core.from.merc2SysCoordAsync(d)))])})).then(h=>h.reduce((d,g)=>{const A=g[0],m=g[1];if(A.mapID!==n.core.from.mapID){const f=qY([m]);l8(i,f)&&d.push(A)}return d},[]).filter(d=>d.envelopeAreaIndex/c<t).sort((d,g)=>d.envelopeAreaIndex-g.envelopeAreaIndex).map(d=>d.mapID))}function d8(n,e){n.core.requestUpdateState({hideMarker:e?1:0}),e?(n.core.hideAllMarkers&&n.core.hideAllMarkers(),n.core.mapDivDocument.classList.add("hide-marker")):(n.core.showAllMarkers&&n.core.showAllMarkers(),n.core.mapDivDocument.classList.remove("hide-marker")),n.core.restoreSession&&n.core.requestUpdateState({hideMarker:e?1:0})}function g8(n,e){const t=n.overlaySwiper;return Array.from(t.$el[0].querySelectorAll(".swiper-slide")).some(r=>r.getAttribute("data")===e)}function A8(n,e){const t=n.core.getMarker(e);t&&BU(n,t)}_n.use([Bv,Dv]);const DU=["title","officialTitle","author","epoch","createdAt","era","contributor","mapper","license","dataLicense","attr","dataAttr","reference","description"];async function f8(n,e){if(e.translateUI=!0,n.core=new Kl(e),e.icon&&(qr["defaultpin.png"]=e.icon),e.restore)n.setShowBorder(e.restore.showBorder||!1),e.restore.hideMarker&&n.core.waitReady.then(()=>{n.setHideMarker(e.restore.hideMarker)}),e.restore.openedMarker&&(console.log(e.restore.openedMarker),n.core.waitReady.then(()=>{console.log(`Timeout ${e.restore.openedMarker} `),n.handleMarkerActionById(e.restore.openedMarker)}));else if(e.restoreSession){const t=parseInt(String(localStorage.getItem("epoch")||"0"),10),i=Math.floor(new Date().getTime()/1e3);t&&i-t<3600&&n.setShowBorder(!!parseInt(String(localStorage.getItem("showBorder")||"0"),10)),n.core.initialRestore.hideMarker&&n.core.waitReady.then(()=>{n.setHideMarker(!0)})}else n.setShowBorder(!1);n.enablePoiHtmlNoScroll=e.enablePoiHtmlNoScroll||!1,e.enableShare&&(n.core.mapDivDocument.classList.add("enable_share"),n.enableShare=!0),e.enableHideMarker&&(n.core.mapDivDocument.classList.add("enable_hide_marker"),n.enableHideMarker=!0),e.enableBorder&&(n.core.mapDivDocument.classList.add("enable_border"),n.enableBorder=!0),e.enableMarkerList&&(n.core.mapDivDocument.classList.add("enable_marker_list"),n.enableMarkerList=!0),e.disableNoimage&&(n.disableNoimage=!0),e.stateUrl&&n.core.mapDivDocument.classList.add("state_url"),e.alwaysGpsOn&&(n.alwaysGpsOn=!0),n.core.enableCache&&n.core.mapDivDocument.classList.add("enable_cache"),"ontouchstart"in window&&(n.core.mapDivDocument.classList.add("ol-touch"),n.isTouch=!0),e.mobileIF&&(e.debug=!0),e.appEnvelope&&(n.appEnvelope=!0),v8(n,e),I8(n,e),C8(n),p8(n,e)}function p8(n,e){const t=!e.presentationMode,i=n.core.mapDivDocument,r=i.querySelector(".modalBase"),s=i.querySelector(".modal_title"),a=i.querySelector(".modal_gpsD_content");n.core.addEventListener("outOfMap",o=>{console.log("Event: outOfMap"),t&&(s.innerText=n.core.t("app.out_of_map")||"",a.innerText=n.core.t("app.out_of_map_area")||"",n.modalSetting("gpsD"),No(r,{root:i}).show())}),n.core.addEventListener("gps_error",o=>{console.log("GPS Error:",o);const l={user_gps_deny:"app.user_gps_deny",gps_miss:"app.gps_miss",gps_timeout:"app.gps_timeout"};n.core&&(s.innerText=n.core.t("app.gps_error")||"",a.innerText=n.core.t(l[o.detail]||"app.gps_error")||"",n.modalSetting("gpsD"),No(r,{root:i}).show())}),n.core.addEventListener("gps_result",o=>{if(console.log("GPS Result:",o),o.detail&&o.detail.error){const l=o.detail.error;if(l==="gps_off"){n.lastGPSError=void 0;return}if(n.lastGPSError=l,n.alwaysGpsOn&&l==="gps_out"||!n.core)return;const c=No(r,{root:i});if(l==="gps_out")s.innerText=n.core.t("app.out_of_map")||"",a.innerText=n.core.t("app.out_of_map_area")||"";else{const h={user_gps_deny:"app.user_gps_deny",gps_miss:"app.gps_miss",gps_timeout:"app.gps_timeout"};s.innerText=n.core.t("app.gps_error")||"",a.innerText=n.core.t(h[l]||"app.gps_error")||""}n.modalSetting("gpsD"),c.show()}else n.lastGPSError=void 0})}function m8(n,e){const t=["maroon","deeppink","indigo","olive","royalblue","red","hotpink","green","yellow","navy","saddlebrown","fuchsia","darkslategray","yellowgreen","blue","mediumvioletred","purple","lime","darkorange","teal","crimson","darkviolet","darkolivegreen","steelblue","aqua"],i=[];let r=0;for(let c=0;c<e.length;c++){const h=e[c];if(h.envelope){n.appEnvelope&&h.envelope.geometry.coordinates[0].map(d=>{i.length===0?(i[0]=i[2]=d[0],i[1]=i[3]=d[1]):(d[0]<i[0]&&(i[0]=d[0]),d[0]>i[2]&&(i[2]=d[0]),d[1]<i[1]&&(i[1]=d[1]),d[1]>i[3]&&(i[3]=d[1]))}),h.envelopeColor=t[r],r++,r===t.length&&(r=0);const u=h.envelope.geometry.coordinates[0];h.envelopeAreaIndex=n.areaIndex(u)}}n.appEnvelope&&console.log(`This app's envelope is: ${i}`),n.splashPromise&&n.splashPromise.then(()=>{const c=n.core.mapDivDocument.querySelector(".modalBase");No(c,{root:n.core.mapDivDocument}).hide()});const s=[],a=[];e.forEach(c=>{E4(c)?s.push(c):a.push(c)});const o=n.baseSwiper=new _n(".base-swiper",{slidesPerView:2,spaceBetween:15,breakpoints:{480:{slidesPerView:1.4,spaceBetween:10}},centeredSlides:!0,threshold:2,preventClicks:!0,preventClicksPropagation:!0,observer:!0,observeParents:!0,loop:s.length>=2,navigation:{nextEl:".base-next",prevEl:".base-prev"}});o.on("click",c=>{if(!o.clickedSlide)return;const h=o.clickedSlide;n.core.changeMap(h.getAttribute("data")),delete n._selectCandidateSources,o.setSlideIndexAsSelected(parseInt(h.getAttribute("data-swiper-slide-index")||"0",10))}),s.length<2&&n.core.mapDivDocument.querySelector(".base-swiper").classList.add("single-map");const l=n.overlaySwiper=new _n(".overlay-swiper",{slidesPerView:2,spaceBetween:15,breakpoints:{480:{slidesPerView:1.4,spaceBetween:10}},centeredSlides:!0,threshold:2,preventClicks:!0,preventClicksPropagation:!0,observer:!0,observeParents:!0,loop:a.length>=2,navigation:{nextEl:".overlay-next",prevEl:".overlay-prev"}});l.on("click",c=>{if(!l.clickedSlide)return;const h=l.clickedSlide;n.core.changeMap(h.getAttribute("data")),delete n._selectCandidateSources,l.setSlideIndexAsSelected(parseInt(h.getAttribute("data-swiper-slide-index")||"0",10))}),a.length<2&&n.core.mapDivDocument.querySelector(".overlay-swiper").classList.add("single-map"),s.forEach(c=>{const h=c.thumbnail?c.thumbnail.split("/").pop():"",u=qr[h]||c.thumbnail;o.appendSlide(`<div class="swiper-slide" data="${c.mapID}"><img crossorigin="anonymous" src="${u}"><div> ${n.core.translate(c.label)}</div> </div> `)}),a.forEach(c=>{const h=c.envelope?` ${c.envelopeColor}`:"",u=c.thumbnail?c.thumbnail.split("/").pop():"",d=qr[u]||c.thumbnail;l.appendSlide(`<div class="swiper-slide${h}" data="${c.mapID}"><img crossorigin="anonymous" src="${d}"><div> ${n.core.translate(c.label)}</div> </div> `)}),l.on("slideChange",()=>{n.updateEnvelope()}),o.slideToLoop(0),l.slideToLoop(0),SM(n.core.mapDivDocument)}function C8(n){n.core.addEventListener("mapChanged",e=>{const t=e.detail;n.baseSwiper.setSlideMapID(t.mapID),n.overlaySwiper.setSlideMapID(t.mapID);const i=t.officialTitle||t.title||t.label;n.core.mapDivDocument.querySelector(".map-title span").innerText=n.core.translate(i)||"",n.checkOverlayID(t.mapID)?n.sliderNew.setEnable(!0):n.sliderNew.setEnable(!1);const r=n.sliderNew.get("slidervalue")*100;n.core.mapObject.setTransparency(r),n.updateEnvelope(),n.updateUrl()}),n.core.addEventListener("poi_number",e=>{e.detail?n.core.mapDivDocument.classList.remove("no_poi"):n.core.mapDivDocument.classList.add("no_poi")}),n.core.addEventListener("sourceLoaded",e=>{const t=e.detail;m8(n,t)}),n.core.waitReady.then(()=>{n.core.mapObject.getViewport().addEventListener("pointerdown",e=>{n.lastClickPixel=n.core.mapObject.getEventPixel(e),n.lastClickCoordinate=n.core.mapObject.getCoordinateFromPixel(n.lastClickPixel)},!0)}),n.core.addEventListener("clickMarkers",e=>{const t=e.detail;if(t.length===1)n.handleMarkerAction(t[0]);else{const i=[];t.forEach(r=>{i.push({icon:r.icon||qr["defaultpin.png"],text:n.core.translate(r.name),callback:()=>{n.handleMarkerAction(r)}})}),n.showContextMenu(i)}}),n.core.waitReady.then(()=>{n.core.mapObject.on("moveend",e=>{n.updateUrl()})})}function I8(n,e){let t;const i=n.core.mapDivDocument,r=i.querySelector(".modalBase"),s=n.core.initialRestore.transparency||(e.restore?e.restore.transparency:void 0),a=!n.core.initialRestore.mapID;i.addEventListener("click",l=>{const c=l.target,h=c.closest(".share")||c.closest(".share_button");if(!h)return;console.log("Share button clicked:",h);const u=h.getAttribute("data");if(!u)return;const d=u.split("_"),g=n.getShareUrl(d[1]||"app");if(console.log("Share URI:",g),d[0]==="cp"){const A=document.querySelector("body"),m=n.core.t?n.core.t("app.copy_toast"):"URL Copied";if(navigator.clipboard)navigator.clipboard.writeText(g).then(()=>{n.showToast(m,h)});else{const f=document.createElement("textarea");f.textContent=g,A.appendChild(f),f.select(),document.execCommand("copy"),A.removeChild(f),n.showToast(m,h)}}else if(d[0]==="tw"){const A=document.title,m=`https://twitter.com/intent/tweet?url=${encodeURIComponent(g)}&text=${encodeURIComponent(A)}&hashtags=Maplat`;window.open(m,"_blank")}else if(d[0]==="fb"){const A=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(g)}&display=popup&ref=plugin&src=like&kid_directed_site=0`;window.open(A,"_blank","width=650,height=450,menubar=no,toolbar=no,scrollbars=yes")}else if(d[0]==="qr"){const A=i.querySelector(".qr_view_poi")||i.querySelector(".qr_view");A&&Gg.toCanvas(g,{width:128,margin:1},(m,f)=>{m||(A.innerHTML="",A.appendChild(f))})}}),i.querySelectorAll(".prevent-default-ui").forEach(l=>{l.addEventListener("touchstart",c=>{c.preventDefault()})}),n.core.addEventListener("uiPrepare",l=>{const c=function(g){const A=/\$\{([a-zA-Z0-9_\.\/\-]+)\}/g;let m=g,f;for(;(f=A.exec(g))!=null;)m=m.replace(f[0],qr[f[1]]);return m};let h=i.querySelectorAll("[data-i18n], [din]");h.forEach(g=>{const A=g.getAttribute("data-i18n")||g.getAttribute("din");g.innerText=c(n.core.t(A))}),h=i.querySelectorAll("[data-i18n-html], [dinh]"),h.forEach(g=>{const A=g.getAttribute("data-i18n-html")||g.getAttribute("dinh");g.innerHTML=c(n.core.t(A))});const u=i.querySelector('[data-i18n="html.app_loading_body"], [din="html.app_loading_body"]');u&&(u.innerHTML=c(n.core.t("html.app_loading_body")));const d={reverse:!0,tipLabel:n.core.t("control.trans",{ns:"translation"})};if(s&&(d.initialValue=s/100),n.sliderNew=new FG(d),n.core.appData.controls=[new kG({tipLabel:n.core.t("control.info",{ns:"translation"})}),new PG({tipLabel:n.core.t("control.compass",{ns:"translation"})}),new zG({tipLabel:n.core.t("control.zoom",{ns:"translation"})}),new DG({ui:n,tipLabel:n.core.t("control.gps",{ns:"translation"})}),new BG({tipLabel:n.core.t("control.home",{ns:"translation"})}),n.sliderNew,new QG({tipLabel:n.core.t("control.help",{ns:"translation"})})],n.enableShare&&n.core.appData.controls.push(new LG({tipLabel:n.core.t("control.share",{ns:"translation"})})),n.enableBorder&&n.core.appData.controls.push(new NG({tipLabel:n.core.t("control.border",{ns:"translation"})})),n.enableHideMarker&&n.core.appData.controls.push(new OG({tipLabel:n.core.t("control.hide_marker",{ns:"translation"})})),n.enableMarkerList&&n.core.appData.controls.push(new VG({tipLabel:n.core.t("control.marker_list",{ns:"translation"})})),n.contextMenu=new _G({eventType:"__dummy__",width:170,defaultItems:!1,items:[]}),n.core.appData.controls.push(n.contextMenu),n.sliderNew.on("propertychange",g=>{g.key==="slidervalue"&&(n.core.setTransparency(n.sliderNew.get(g.key)*100),n.updateUrl())}),a){let g=!1;n.core.appData.splash&&(g=!0);const A=No(r,{root:i});i.querySelector(".modal_load_title").innerText=n.core.translate(n.core.appData.appName)||"",g&&(i.querySelector(".splash_img").setAttribute("src",`img/${n.core.appData.splash}`),i.querySelector(".splash_div").classList.remove("hide")),n.modalSetting("load"),A.show();const m=g?1e3:200;n.splashPromise=new Promise(f=>{setTimeout(()=>{f()},m)})}document.querySelector("title").innerHTML=n.core.translate(n.core.appName)||""}),n.core.waitReady.then(()=>{n.core.mapObject.on("click_control",l=>{const c=l.control||l.frameState&&l.frameState.control,h=No(r);if(c==="help")n.modalSetting("help"),h.show();else if(c==="share"){n.modalSetting("share");const u=r.querySelector(".modal-body"),d=n.getShareUrl("app"),g=n.getShareUrl("view"),A=u.querySelector(".qr_app"),m=u.querySelector(".qr_view");A&&Gg.toCanvas(d,{width:128,margin:1},(f,p)=>{f||(A.innerHTML="",A.appendChild(p))}),m&&Gg.toCanvas(g,{width:128,margin:1},(f,p)=>{f||(m.innerHTML="",m.appendChild(p))}),h.show()}else if(c==="markerList"){n.modalSetting("marker_list"),h.show();const u=r.querySelector(".modal_marker_list_content ul.list-group"),d=()=>{var p,C;u.querySelectorAll(".list_poiitems_div").forEach(v=>{v.classList.remove("open")}),u.querySelectorAll(".list_poicontent_div").forEach(v=>{v.classList.remove("open"),v.innerHTML=""}),(C=(p=n.core).unselectMarker)==null||C.call(p),r.removeEventListener("hidden.bs.modal",d)};r.removeEventListener("hidden.bs.modal",d),r.addEventListener("hidden.bs.modal",d);const g=n.core.from.mapID;if(t===g)return;t=g,u.innerHTML="",n.core.listPoiLayers(!1,!0).forEach(m=>{const f=pi(`<li class="list-group-item layer">
|
|
4810
4810
|
<div class="row layer_row">
|
|
4811
4811
|
<div class="layer_label">
|
|
4812
4812
|
<span class="dli-chevron"></span>
|
package/dist/service-worker.js
CHANGED
|
@@ -3335,7 +3335,7 @@ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;
|
|
|
3335
3335
|
registerRoute(
|
|
3336
3336
|
/(?:maps\/.+\.json|pwa\/.+|pois\/.+\.json|apps\/.+\.json|tmbs\/.+\.jpg|images\/.+\.(?:png|jpg))$/,
|
|
3337
3337
|
new StaleWhileRevalidate({
|
|
3338
|
-
cacheName:
|
|
3338
|
+
cacheName: `resourcesCache-${"2026-01-04-16-01"}`,
|
|
3339
3339
|
plugins: [
|
|
3340
3340
|
new ExpirationPlugin({
|
|
3341
3341
|
maxAgeSeconds: 86400,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maplat/ui",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.9",
|
|
4
4
|
"description": "Maplat is the cool Historical Map/Illustrated Map Viewer.\nIt can transform each map coordinates with nonlinear but homeomorphic projection and makes possible that the maps can collaborate with GPS/accurate maps, without distorting original maps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/maplat-ui.umd.js",
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
},
|
|
80
80
|
"scripts": {
|
|
81
81
|
"dev": "concurrently \"pnpm watch:sw\" \"vite --host\"",
|
|
82
|
-
"build:sw": "
|
|
83
|
-
"watch:sw": "
|
|
82
|
+
"build:sw": "node scripts/build-sw.js",
|
|
83
|
+
"watch:sw": "node scripts/build-sw.js --watch",
|
|
84
84
|
"build": "cross-env BUILD_MODE=package tsc && cross-env BUILD_MODE=package vite build && pnpm build:sw",
|
|
85
85
|
"build:demo": "pnpm build:sw && vite build",
|
|
86
86
|
"preview": "vite preview",
|
|
@@ -28,11 +28,13 @@ clientsClaim();
|
|
|
28
28
|
*/
|
|
29
29
|
precacheAndRoute((self as any).__WB_MANIFEST as (string | PrecacheEntry)[], {});
|
|
30
30
|
|
|
31
|
+
declare const SW_VERSION: string;
|
|
32
|
+
|
|
31
33
|
registerRoute(
|
|
32
34
|
/(?:maps\/.+\.json|pwa\/.+|pois\/.+\.json|apps\/.+\.json|tmbs\/.+\.jpg|images\/.+\.(?:png|jpg))$/,
|
|
33
35
|
|
|
34
36
|
new StaleWhileRevalidate({
|
|
35
|
-
cacheName:
|
|
37
|
+
cacheName: `resourcesCache-${SW_VERSION}`,
|
|
36
38
|
plugins: [
|
|
37
39
|
new ExpirationPlugin({
|
|
38
40
|
maxAgeSeconds: 86400,
|
package/src/ui_init.ts
CHANGED
|
@@ -974,9 +974,9 @@ function initModalHandlers(ui: MaplatUi, appOption: MaplatAppOption) {
|
|
|
974
974
|
const fileName = (val as string)
|
|
975
975
|
.toLowerCase()
|
|
976
976
|
.replace(/ /g, "_");
|
|
977
|
-
|
|
977
|
+
|
|
978
978
|
const iconUrl =
|
|
979
|
-
|
|
979
|
+
pointer[`${fileName}.png`] ||
|
|
980
980
|
`assets/parts/${fileName}.png`;
|
|
981
981
|
(contentEl as HTMLElement).innerHTML =
|
|
982
982
|
`<img src="${iconUrl}" class="license" />`;
|
package/src/ui_marker.ts
CHANGED
|
@@ -76,10 +76,14 @@ export function poiWebControl(
|
|
|
76
76
|
} else {
|
|
77
77
|
const slides: string[] = [];
|
|
78
78
|
const mediaList = (data.media || data.image) as MediaSetting[] | undefined;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
const inputs = mediaList
|
|
80
|
+
? Array.isArray(mediaList)
|
|
81
|
+
? mediaList
|
|
82
|
+
: [mediaList]
|
|
83
|
+
: [];
|
|
84
|
+
let swiperStr = "";
|
|
85
|
+
|
|
86
|
+
if (inputs.length > 0) {
|
|
83
87
|
inputs.forEach((item: MediaSetting) => {
|
|
84
88
|
let mediaObj: MediaObject;
|
|
85
89
|
if (typeof item === "string") {
|
|
@@ -127,13 +131,15 @@ export function poiWebControl(
|
|
|
127
131
|
|
|
128
132
|
slides.push(`<cc-swiper-slide ${slideAttrs}></cc-swiper-slide>`);
|
|
129
133
|
});
|
|
134
|
+
|
|
135
|
+
swiperStr = ` <div class="col-xs-12 poi_img_swiper">
|
|
136
|
+
<cc-swiper>${slides.join("")}</cc-swiper>
|
|
137
|
+
</div>`;
|
|
130
138
|
}
|
|
131
139
|
// Logic for noimage skipped/simplified as requested in previous interactions
|
|
132
140
|
|
|
133
141
|
const htmlDiv = createElement(`<div class="poi_data">
|
|
134
|
-
|
|
135
|
-
<cc-swiper>${slides.join("")}</cc-swiper>
|
|
136
|
-
</div>
|
|
142
|
+
${swiperStr}
|
|
137
143
|
<p class="recipient poi_address"></p>
|
|
138
144
|
<p class="recipient poi_desc"></p>
|
|
139
145
|
</div>`)[0] as HTMLElement;
|