UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 893 B
import{getStorage as m,saveStorage as d}from"../../utils/entity-storage";export function initBookmarkedFromUrl(t){const n=new URL(window.location.href),k=n.searchParams.get("b"),h=n.searchParams.get("ba"),p=k||h;if(!p)return;const s=p.split("|").map(e=>Number.parseInt(e,10)).filter(e=>Number.isFinite(e)&&e>0),c=new Set(t.eventStore.eventItems.map(e=>e.id)),o=s.filter(e=>t.exhibitorStore.exhibitorById.has(e)),r=s.filter(e=>c.has(e)),a=s.filter(e=>t.speakerStore.speakersMap.has(e)),i=s.filter(e=>{const b=t.boothStore.boothById.get(e);return b&&b.exhibitors.length===0});if(h){const e=m("bookmarked");o.push(...e.exhibitors),r.push(...e.events),a.push(...e.speakers),i.push(...e.booths)}d("bookmarked",{exhibitors:o,events:r,speakers:a,booths:i}),t.exhibitorStore.replaceBookmarked(o),t.eventStore.replaceBookmarked(r),t.speakerStore.replaceBookmarked(a),t.boothStore.replaceBookmarked(i)}