PageSourceSearch

https://www.geocaching.com/account/app/dist/homelocationmodal.9db28b3631f237d0a875.js

js geocaching.com collected 2026-09-24 08:31:14 UTC 12,504 bytes, 1 lines download raw bytes

1(globalThis.webpackChunkui_js_core||=[]).push([[7482],{3246(e,t,n){"use strict";n.d(t,{A:()=>D});n(58471),n(61164),n(77721);var o=n(74692),a=n.n(o),i=n(79297),r=n(92334),s=n.n(r),l=n(21391),c=n.n(l),d=n(78603),u=n.n(d),h=n(53481),g=n.n(h),p=n(95466),m=n(13830);const b={isDDMformat:function(e){return(0,m.Vd)(e)},coordsToDegreesMinutes:function(e,t){const n=b.convertDDtoDDM({latitude:e,longitude:t});return`${n.latitude} ${n.longitude}`},convertDDtoDDM:function(e){const{lat:t,lng:n}=(0,m.Id)({lat:e.latitude,lng:e.longitude},void 0,{padMinutes:!1});return{latitude:t,longitude:n}},convertDDMtoDD:function(e){const{lat:t,lng:n}=(0,m.OT)(e);return{latitude:t,longitude:n}},calculateDistance:function(e,t,n,o){return(0,m.gd)({lat:e,lng:t},{lat:n,lng:o})},calculateBearing:function(e,t,n,o){return(0,m.vA)({lat:e,lng:t},{lat:n,lng:o})},verifyCoordinateString:async function(e,t="en-US",n=void 0){e=encodeURI(e);let o=`${`${p.i}/geography/VerifyCoordinateString`}?input=${e}&locale=${t}`;n&&(o+=`&displayFormat=${n}`);try{const e=await fetch(o,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json; charset=utf-8"}}),t=await e.json();if(!e.ok)throw new Error(t.errorMessage);return t}catch(e){console.warn("Failed to parse coordinates: ",e)}}},f=b;var v=n(16273),w=n.n(v),M=n(44580),y=n.n(M),x=n(96268),C=n.n(x),k=n(45183);const L=(0,k.tv)({base:"border border-solid rounded-lg text-gray-600 p-4 flex",variants:{type:{danger:"bg-red-50 border-red-300",info:"bg-blue-50 border-blue-300",success:"bg-green-50 border-green-300",warning:"bg-orange-50 border-orange-300"}}}),S=(0,k.tv)({base:"bg-white rounded border-none m-3"}),z=(0,k.tv)({base:"h-px bg-green-500"}),T=(0,k.tv)({base:"flex items-center justify-center h-[42px] w-[42px] relative border-r border-l border-solid border-green-500 bg-white text-green-500 focus:shadow-outline focus:z-10 hover:bg-green-50 [&.leaflet-disabled]:cursor-not-allowed [&.leaflet-disabled]:text-gray-600 [&.leaflet-disabled]:border-gray-600 [&.leaflet-disabled]:opacity-[.38] focus:[&.leaflet-disabled]:shadow-none focus:[&.leaflet-disabled]:z-auto hover:[&.leaflet-disabled]:bg-white",variants:{zoom:{in:"border-t border-b-0 rounded-t",out:"border-t-0 border-b rounded-b"}}}),V=c().Model.extend({url:window.settingsParams.postbackUrl}),D=u().View.extend({template:w(),ui:{Messages:"#messages",MapCanvas:"#map-canvas"},model:new V(window.mapOptions),alertTemplate:s().compile('<div class="{{alertStyles}}">{{{text}}}</div>'),_buildMarkerIcon:()=>g().divIcon({html:y()(),iconSize:[34,44],iconAnchor:[17,44],popupAnchor:[1,-44],className:"bg-transparent border-none"}),_buildGcZoomControl(){return new(g().Control.Zoom)({position:"topright",zoomInText:C()({icon:"zoom-in",iconLabel:this.i18n.zoomIn}),zoomInTitle:this.i18n.zoomIn,zoomOutText:C()({icon:"zoom-out",iconLabel:this.i18n.zoomOut}),zoomOutTitle:this.i18n.zoomOut})},initialize(e){this.i18n=e.i18n},onAttach(){this.LMap=g().map(this.ui.MapCanvas[0],{attributionControl:!1,center:this.model.get("mapCenter"),zoom:i.default.isNull(this.model.get("homeLocation"))?1:16,zoomControl:!1}),this.LMap.addControl(this._buildGcZoomControl()),a()(".leaflet-control-zoom").addClass(S()),a()(".leaflet-control-zoom-in").addClass(T({zoom:"in"})),a()(".leaflet-control-zoom-out").addClass(T({zoom:"out"})),a()("<div/>",{class:`${z()}`}).insertAfter(a()(".leaflet-control-zoom-in")),this.LMap.addControl(new(g().Control.Attribution)({prefix:'<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> '+this.i18n.mapAttribution}));const e="https://maptiles{s}.geocaching.com/tile/{z}/{x}/{y}.png?token=";let t={};var n=0,o=0,r=!1;App.Settings.getAccessToken(!0).done((a=>{t=g().tileLayer(e+a.access_token,{subdomains:["01","02","03","04","05","06","07","08"]}).addTo(this.LMap),this.initMarker(this.LMap.getCenter()),this.setMarkerMessage(this.i18n.dragPinToMoveIt),t.on("tileerror",(function(){n++,o++,n>4&&!r&&o<12&&(r=!0,App.Settings.getAccessToken(!0).done((n=>{t.setUrl(e+n.access_token),r=!1})),n=0)}))})),this.LMap.on("locationfound",(e=>{var t=f.coordsToDegreesMinutes(e.latitude,e.longitude);this.setMarkerLocation(g().latLng(e.latitude,e.longitude),13),this.model.set("homeLocation",[e.latitude,e.longitude]),this.model.set("query",t),this.triggerMethod("change:marker",t)})),this.LMap.on("zoomend",(function(){o=0})),this.LMap.on("dragend",(function(){o=0}))},initMarker(e){let t=this._buildMarkerIcon();this.userMarker=g().marker(e,{icon:t,draggable:!0}).on("dragend",(e=>
1{var t=e.target.getLatLng(),n=t.wrap(-180,180),o=f.coordsToDegreesMinutes(n.lat,n.lng);this.LMap.panTo(t),this.model.set("homeLocation",[n.lat,n.lng]),this.model.set("query",o),this.triggerMethod("change:marker",o)})),this.userMarker.addTo(this.LMap)},saveUserHomeLocation(e){return this.model.save(e).done((()=>{this.setAlertMessage(this.i18n.saveSuccess,!1)})).fail((()=>{this.setAlertMessage(this.i18n.saveFail,!0)}))},setUserHomeLocation(e){this.model.set("homeLocation",[e.lat,e.lng])},setMarkerLocation(e,t){this.userMarker.setLatLng(e),t?this.LMap.setView(e,t,{animate:!1}):this.LMap.panTo(e)},setMarkerMessage(e){this.userMarker.bindPopup(e,{closeButton:!1}).openPopup()},setAlertMessage(e,t){if(e&&e.length>0){let n=t?"danger":"success",o=t?4e3:2500;this.ui.Messages.html(this.alertTemplate({alertStyles:`${L({type:n})} justify-center animate-[fade-alert_ease]`,text:e})),i.default.delay(i.default.bind(this.setAlertMessage,this),o)}else this.ui.Messages.empty()}})},56972(e,t,n){"use strict";var o=n(74692),a=n.n(o),i=n(21391),r=n.n(i),s=n(78603),l=n.n(s),c=n(93280),d=n(3246);App.Localizations.set("settingsMap",window.resources),App.Settings.set("contentPath",window.settingsParams.contentPath);const u=r().Model.extend({url:window.settingsParams.postbackUrl,defaults:{mapCenter:[window.mapOptions.latitude,window.mapOptions.longitude],homeLocation:[window.mapOptions.latitude,window.mapOptions.longitude]}});a().modalEvents=function(e){var t=a().extend({callbacks:{close:null,save:null}},e);if(t.callbacks.close||t.callbacks.save){var n=window.addEventListener?"addEventListener":"attachEvent";(0,window[n])("attachEvent"==n?"onmessage":"message",(function(e){var n=JSON.parse(e.data);n&&("close"===n.type&&a().isFunction(t.callbacks.close)?t.callbacks.close(n.content):"save"===n.type&&a().isFunction(t.callbacks.save)&&t.callbacks.save(n.content))}),!1)}};const h=l().View.extend({template:!1,el:"body",regions:{MapView:".map-wrapper",SearchView:".search-form-wrapper"},ui:{btnSave:"#button-save",btnCancel:"#button-notnow",latitude:"#latitude",longitude:"#longitude"},events:{"click @ui.btnSave":"onSaveCoords","click @ui.btnCancel":"onCancel"},childViewEvents:{"change:marker":"onChangeMarker","change:search":"onChangeSearch","geocode:failed":"onGeocodeFailed"},initialize(){this.searchModel=new u(window.mapOptions),this.showChildView("MapView",new d.A({model:this.searchModel})),this.showChildView("SearchView",new c.A)},onChangeMarker(e){this.getRegion("SearchView").currentView.setQuery(e),this.getRegion("SearchView").currentView.setError(!1)},onChangeSearch(e){this.getRegion("MapView").currentView.setMarkerLocation(e),this.searchModel.set("homeLocation",[e.lat,e.lng]),this.getRegion("SearchView").currentView.setError(!1)},onGeocodeFailed(){this.getRegion("SearchView").currentView.setError(!0)},onSaveCoords(e){var t={type:"save",content:{latitude:this.searchModel.get("homeLocation")[0],longitude:this.searchModel.get("homeLocation")[1]}};this.getRegion("MapView").currentView.saveUserHomeLocation().done((function(){parent.postMessage(JSON.stringify(t),"*")}))},onCancel(e){parent.postMessage(JSON.stringify({type:"close"}),"*")}});n.d(t,["default",0,h])},93280(e,t,n){"use strict";n(18109);var o=n(74692),a=n.n(o),i=n(21391),r=n.n(i),s=n(78603),l=n.n(s),c=n(53481),d=n.n(c),u=n(34552),h=n.n(u);const g=r().Model.extend({url:"/api/geocode",defaults:{q:""},parse:e=>e.data}),p=l().View.extend({template:h(),tagName:"form",model:new g,ui:{TxtCoords:"#Query",errorEl:".field-validation-error",clearSearch:"#clearLocationSearch"},events:{"click @ui.clearSearch":"onClearSearch","input @ui.TxtCoords":"onChangeLocationInput",submit:"onSearch"},templateContext(){return{i18n:this.i18n,queryVal:window.mapOptions?.query}},initialize(e){this.i18n=e.i18n,this.model.on("sync",((e,t)=>{if("failed"===t.status)return void this.triggerMethod("geocode:failed");let n=d().latLng(e.get("lat"),e.get("lng"));this.ui.TxtCoords.val(e.get("q")),this.triggerMethod("change:search",n)}))},onChangeLocationInput(e){this.ui.clearSearch.toggleClass("hidden",0===a()(e.target).val().length)},onClearSearch(e){this.ui.TxtCoords.val(""),this.ui.TxtCoords.focus(),this.ui.clearSearch.toggleClass("hidden")},onSearch(e){e.preventDefault();let t=this.ui.TxtCoords.val();t.length<=1||this.model.fetch({data:{q:t}})},setQuery(e){this.ui.TxtCoords.val(e)},setError(e){e?this.ui.errorEl.show():this.ui.errorEl.hide(),this.ui.TxtCoords.toggleClass("input-validation-error",e)}});n.d(t,["A",0,p])}
1,44580(e,t,n){var o=n(93633);e.exports=(o.default||o).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,o,a){return'<svg \n\tclass="h-[44px] w-[34px]" \n\taria-hidden="true"\n\t>\n\t\t<use href=\'#pin-physical--inline\' />\n</svg>\n'},useData:!0})},16273(e,t,n){var o=n(93633);e.exports=(o.default||o).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,o,a){return'<div id="alertContainer" class="absolute z-10 top-2 right-1/4 left-1/4 m-0">\n    <div id="messages"></div>\n</div>\n<div id="map-canvas" class="map z-[1] h-[325px]"></div>'},useData:!0})},34552(e,t,n){var o=n(93633);e.exports=(o.default||o).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,o,a){var i,r,s=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="flex w-full items-center gap-3 border rounded border-solid border-gray-200 bg-white text-gray-600 placeholder:text-gray-500 text-base/5 hover:border-gray-300 focus-within:shadow-outline">\n    <div class="flex gap-2 items-center grow">\n        <input \n            aria-labelledby="homeLocationPageTitle"\n            class="search-coordinates border-none grow m-0 max-w-none focus:shadow-none focus:border-none" \n            id="Query" \n            name="Query" \n            placeholder="'+(null!=(i=s(null!=(i=null!=t?l(t,"i18n"):t)?l(i,"searchInputPlaceholder"):i,t))?i:"")+'" \n            type="text" \n            value="'+e.escapeExpression("function"==typeof(r=null!=(r=l(n,"queryVal")||(null!=t?l(t,"queryVal"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"queryVal",hash:{},data:a,loc:{start:{line:10,column:19},end:{line:10,column:31}}}):r)+'"\n        />\n            <button\n                class="flex items-center justify-center size-[20px] bg-transparent border-none text-gray-500"\n                id="clearLocationSearch"\n                type="button"\n                >\n                <svg role="img" aria-label="[Clear]" class="size-[10px]">\n                    <use href="#close--inline"></use>\n                </svg>\n            </button>\n    </div>\n    <div class="flex shrink-0 grow-0">\n        <div class="w-px bg-gray-200 self-stretch"></div>\n        <button \n            class="bg-transparent border-none flex p-2"\n            id="search" \n            type="submit"\n            >\n            <svg role="img" aria-label="'+(null!=(i=s(null!=(i=null!=t?l(t,"i18n"):t)?l(i,"search"):i,t))?i:"")+'" class="size-5">\n                <use href="#search--inline"></use>\n            </svg>\n        </button>\n    </span>\n</div>'},useData:!0})},96268(e,t,n){var o=n(93633);e.exports=(o.default||o).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,o,a){var i,r=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,l="function",c=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<svg \n    class="size-5 p-1" \n    role="img" \n    aria-label="'+c(typeof(i=null!=(i=d(n,"iconLabel")||(null!=t?d(t,"iconLabel"):t))?i:s)===l?i.call(r,{name:"iconLabel",hash:{},data:a,loc:{start:{line:4,column:16},end:{line:4,column:29}}}):i)+'">\n        <use href="#'+c(typeof(i=null!=(i=d(n,"icon")||(null!=t?d(t,"icon"):t))?i:s)===l?i.call(r,{name:"icon",hash:{},data:a,loc:{start:{line:5,column:20},end:{line:5,column:28}}}):i)+'--inline" />\n    </svg>\n'},useData:!0})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.