1import { l as locations } from './locations-BB_vz-r1.js'; 2import { a as activities } from './activities-CcxMjSFt.js'; 3import { o as organizations } from './organizations-CR2eFO7J.js'; 4import { p as products } from './products-BLepsjEU.js'; 5import { t as tempStore } from './main-module-D8UQLSsS.js'; 6import { d as detailPage, s as show404Page } from './404-E-Y9Yt8d.js'; 7import './reformat-DUMoSDhI.js'; 8import './security-CjMZ7P28.js'; 9import './base64-D0xLjV6U.js'; 10import './map-BGqh6wnp.js'; 11import './age-B6r4bODg.js'; 12import './loading-DICUQEYz.js'; 13import './activity-bundle-DL26mPwk.js'; 14import './product-h4L0W1eP.js'; 15import './organization-qg43h6Kq.js'; 16import './organizations-CYZa_xjI.js'; 17import './a11y-B-zyjK_U.js'; 18import './navigation-CSDkkhKK.js'; 19import './create-element-if-not-defined-CsiCqqQ3.js'; 20import './pagination-Bd96EKeG.js'; 21 22class locationDetail extends detailPage{constructor(){super();this.mapZoom=14;}async settleData(){this.id=window.location.pathname.split('/').pop().split('-')[0];const data=await locations.get({include:'opening_hours,locations,organizations.locations'},this.id);if(data.status===404){show404Page();return;}this.data={address:data.address,contacts:data.contacts,id:data.id,banner:data.image,latitude:data.latitude,links:data.links,longitude:data.longitude,name:data.name,notes:data.notes,opening_hours:data.opening_hours,organizations:data.organizations,types:data.types,type:'location'};// Store this type for modals 23tempStore.pageData=this.data;}async init(){await this.settleData();super.init();await this.buildPage();await this.postBuildPage();// Let everyone know, we're done loading 24document.dispatchEvent(this.events.pageLoaded);}async buildPage(){this.buildTitle(this.data.name);this.buildHero(this.data.banner);this.buildMapSimple([{latitude:this.data.latitude,longitude:this.data.longitude,address:this.data.address}]);}async postBuildPage(){var _call$activities,_call$activities2,_call$products,_call$organizations;const locationId=this.data.id;const LIMIT=20;/** ------------------------- Upcoming sessions ------------------------- **/let call=await activities.get({location:locationId,activity_type:'session',itemsPerPage:LIMIT});const sessionItems=((_call$activities=call['activities'])!==null&&_call$activities!==void 0?_call$activities:[]).filter(item=>item.upcoming_session||item.hide_offers);this.buildSessions(sessionItems,LIMIT);/** ------------------------- Upcoming bundles ------------------------- **/call=await activities.get({location:locationId,activity_type:'bundle',itemsPerPage:LIMIT});const bundleItems=((_call$activities2=call['activities'])!==null&&_call$activities2!==void 0?_call$activities2:[]).filter(item=>item.upcoming_bundle);this.buildBundles(bundleItems,LIMIT);/** ------------------------- Products ------------------------- **/call=await products.get({location:locationId,itemsPerPage:LIMIT});this.buildProducts((_call$products=call['products'])!==null&&_call$products!==void 0?_call$products:[],LIMIT);/** ------------------------- Organizations ------------------------- **/call=await organizations.get({location:locationId,itemsPerPage:LIMIT});this.buildOrganizations((_call$organizations=call['organizations'])!==null&&_call$organizations!==void 0?_call$organizations:[],LIMIT);}}const location=new locationDetail();(async function(){location.init();})(); 25 26export { locationDetail };
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.