UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) • 934 B
import o from"../../data";import{PREFIXES as u}from"./constants";export function extractPoiTypeId(t){try{const e=t.replace(u.POI_TYPE,""),r=parseInt(e,10);return isNaN(r)?null:r}catch{return null}}export function deriveSearchButtonId(t){return t.id||`${t.type}_${t.name}`}export function getButtonConfig(t){const e=o.filterButtonsConfig;return!e?.searchButtons||!Array.isArray(e.searchButtons)?null:e.searchButtons.find(n=>deriveSearchButtonId(n)===t)||null}export function getScopeCategoryIds(t){return(t.children??[]).filter(e=>e.visible===!0&&e.type==="categories").map(e=>Number(e.id)).filter(e=>Number.isFinite(e))}export function countScopedCategories(t,e){return t.filter(r=>e.includes(r.id)&&r.exhibitors.length>0).length}export function countMapValues(t){let e=0;for(const r of t.values())e+=r;return e}export function isValidConfig(t){return!!t&&typeof t=="object"&&Array.isArray(t.searchButtons)&&t.searchButtons.length>0}