@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 1.97 kB
JavaScript
import n from"../tools/logger";import m from"../tools/settings";import c from"../utils/is-debug";import{isLocalStorageAvailable as b}from"../utils/localStorage";export default function h(e){const t=m.EXPO;if(e.exhibitors||(e.exhibitors=[]),e.booths||(e.booths=[]),e.categories||(e.categories=[]),e.hide3dMapDefault===void 0&&(e.hide3dMapDefault=!1),e.exhibitors.length>0)for(const o of e.booths)delete o.reserved;if(e.free&&(e.noFeatured=!0,e.expoFpAd=!0),(o=>{if(o){const i=new Date().getTime(),r=new Date(o).getTime();i<r&&(e.isTrial=!0)}})(e.trialExpiresAt),c||b&&localStorage.getItem("validate")==="1")for(const o of Object.keys(e)){if(e[o][Symbol.iterator]!=="function")continue;const i=new Set;for(const r of e[o]){const l=Object.keys(r);for(const s of l){const f=r[s];f===""?i.add(`data.${o}.${s} is sometimes empty string. Don't pass empty strings.`):f===!1?i.add(`data.${o}.${s} is sometimes false. Don't pass false for booleans.`):Array.isArray(f)&&f.length===0&&i.add(`data.${o}.${s} is sometimes empty array. Don't pass empty arrays.`)}}i.forEach(r=>n.warn(r))}if(!e.logo&&t==="expo"&&(e.logo="../logo.svg"),e.logo||(e.logo="../"+t+"-logo.png"),!e.homeUrl&&t==="jtrade19"&&(e.homeUrl="https://www.jtrade.co.uk/"),e.boothTerm||(e.boothTerm="Booth"),e.exhibitorTermPlural||(e.exhibitorTermPlural="Exhibitors"),e.levelTerm||(e.levelTerm=""),t==="expo"){const o=[2567,2704,2681,2592,2740,2709,2482,2609,2734,2696,2840,2566,2736];e.exhibitors.filter(i=>i.logo&&o.indexOf(i.id)!==-1).forEach(i=>i.advertise=!0)}for(const o of e.booths){const i=o;if(!o.special){const r=o;typeof r.onHold>"u"&&(r.onHold=i.isOnHold),typeof r.availColor>"u"&&(r.availColor=i.availableColor),typeof r.type>"u"&&(r.type=i.boothTypeName)}o.exhibitors=o.exhibitors||[]}for(const o of e.exhibitors){const i=o;typeof o.featured>"u"&&(o.featured=i.isFeatured),typeof o.email>"u"&&(o.email=i.publicEmail),o.categories=o.categories||[]}e.noFeatured&&e.exhibitors.forEach(o=>o.featured=!1)}