@ticketevolution/seatmaps-client
Version:
A client side JavaScript library that enables users to view interactive seating charts for tickets available via the Ticket Evolution API.
1 lines • 101 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.tsx","../src/TicketMap/index.tsx","../src/Actions/index.tsx","../src/Legend/index.tsx","../src/Button/Button.tsx","../src/Legend/swatch.tsx","../src/icons/ChevronDown.tsx","../src/icons/ChevronUp.tsx","../src/Actions/ActionGroup.tsx","../src/icons/Plus.tsx","../src/icons/Minus.tsx","../src/icons/Undo.tsx","../src/icons/Close.tsx","../src/Tooltip/index.tsx","../src/ZoomHelper/index.tsx","../src/icons/PinchZoomIn.tsx","../src/icons/TwoFingerSlide.tsx","../src/icons/MissingSeatMapLogo.tsx","../src/utils/utils.ts","../src/utils/zoom.ts","../src/utils/selectors.ts"],"names":["React","Component","isEqual","formatCurrency","initialViewboxHeight","initialViewboxWidth"],"mappings":"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","sourcesContent":["import pick from \"lodash.pick\";\nimport union from \"lodash.union\";\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport {\n DefaultProps,\n Props,\n PublicApi,\n RequiredProps,\n TicketMap,\n} from \"./TicketMap\";\n\nconst requiredConfigKeys: (keyof RequiredProps)[] = [\n \"venueId\",\n \"configurationId\",\n];\n\nconst optionalConfigKeys: (keyof DefaultProps)[] = [\n \"mapFontFamily\",\n \"selectedSections\",\n \"onSelection\",\n \"ticketGroups\",\n \"sectionPercentiles\",\n \"mapsDomain\",\n \"showControls\",\n \"showLegendOpenAlwaysForDesktop\",\n \"showLegend\",\n \"openLegendInitially\",\n \"mouseControlEnabled\",\n \"showZoomHelper\",\n];\n\nexport function extractConfigurationFromOptions(options: Props): Props {\n const keys = union(requiredConfigKeys, optionalConfigKeys);\n return pick(options, keys);\n}\n\nexport function validateOptions(options: Props) {\n for (const key of requiredConfigKeys) {\n if (!(key in options)) {\n throw new Error(`Seatmap configuration requires a '${key}' value.`);\n }\n }\n}\n\nexport class SeatmapFactory {\n configuration: Props;\n\n constructor(options: Props) {\n validateOptions(options);\n this.configuration = extractConfigurationFromOptions(options);\n }\n\n build(rootElementId: string): PublicApi | undefined {\n if (!rootElementId) {\n throw new Error(\"Seatmaps must be initialized with a DOM element.\");\n }\n\n const rootElement = document.getElementById(rootElementId);\n if (!rootElement) {\n throw new Error(\"Seatmaps must be initialized with a DOM element.\");\n }\n\n let map: TicketMap | undefined;\n\n createRoot(rootElement).render(\n <TicketMap\n {...this.configuration}\n ref={(ref: TicketMap) => {\n map = ref;\n }}\n />,\n );\n\n return map?.publicApi;\n }\n}\n\nexport { TicketMap };\n","import React, { Component } from \"react\";\nimport isEqual from \"lodash.isequal\";\nimport fetchPonyfill from \"fetch-ponyfill\";\n\nimport Actions from \"../Actions\";\nimport Tooltip from \"../Tooltip\";\nimport ZoomHelper from \"../ZoomHelper\";\nimport MissingSeatMapLogo from \"../icons/MissingSeatMapLogo\";\n\nimport { ZoomControl, initializeZoom } from \"../utils/zoom\";\n\nimport { TicketGroup, NormalizedTicketGroup } from \"../types/TicketGroups\";\nimport { State, Props, DefaultProps, Manifest } from \"../types/TicketMap\";\n\nimport {\n $availableTicketGroups,\n $missingSectionIds,\n $ticketGroupsBySection,\n $venueSections,\n $costRanges,\n} from \"../utils/selectors\";\n\nexport * from \"../types/TicketMap\";\n\nexport interface PublicApi {\n updateTicketGroups: (ticketGroups: TicketGroup[]) => void;\n highlightSection: (section: string) => void;\n unhighlightSection: (section?: string) => void;\n selectSection: (section: string) => void;\n deselectSection: (section?: string) => void;\n}\n\ninterface ElementProperties {\n [key: string]: string;\n}\n\ntype PropertiesForElement = (element: Element) => ElementProperties;\n\nclass MapNotFoundError extends Error {\n name = \"MapNotFoundError\";\n constructor(message = \"This map is not currently available.\") {\n super(message);\n }\n}\n\nexport const highlightedSectionColor = \"#4a4a4a\";\nexport const unhighlightedSectionColor = \"#FFFFFF\";\n\n// Needed to support SSR in some cases - in case user wants to prerender/cache map html serverside.\nconst { fetch: isomorphicFetch } = fetchPonyfill();\nexport class TicketMap extends Component<Props & DefaultProps, State> {\n publicApi: PublicApi;\n mapRoot = React.createRef<HTMLDivElement>();\n container = React.createRef<HTMLDivElement>();\n zoom?: ZoomControl;\n\n static defaultProps: DefaultProps = {\n mapsDomain: \"https://maps.ticketevolution.com\",\n onSelection: () => {},\n selectedSections: [],\n sectionPercentiles: {\n \"0.2\": \"#FFC515\",\n \"0.4\": \"#f2711c\",\n \"0.6\": \"#D6226A\",\n \"0.8\": \"#a333c8\",\n \"1\": \"#2A6EBB\",\n },\n ticketGroups: [],\n showLegend: true,\n showLegendOpenAlwaysForDesktop: false,\n showControls: true,\n openLegendInitially: false,\n mouseControlEnabled: true,\n showZoomHelper: true,\n mapFontFamily: \"inherit\",\n };\n\n constructor(props: Props & DefaultProps) {\n super(props);\n this.state = {\n sectionMapping: {},\n selectedSections: new Set(\n this.props.selectedSections.filter((section) => !!section),\n ),\n tooltipActive: false,\n tooltipSectionName: \"\",\n tooltipX: 0,\n tooltipY: 0,\n ticketGroups: this.props.ticketGroups,\n mapNotFound: false,\n touchStarts: {},\n dragging: false,\n isTouchDevice: false,\n };\n\n this.publicApi = {\n updateTicketGroups: this.updateTicketGroups,\n highlightSection: this.highlightSection,\n unhighlightSection: this.unhighlightSection,\n selectSection: this.selectSection,\n deselectSection: this.deselectSection,\n };\n }\n\n isTouchDevice = () => {\n return \"ontouchstart\" in document.documentElement;\n };\n\n /**\n * Lifecycle\n */\n\n async componentDidMount() {\n this.setState({\n isTouchDevice: this.isTouchDevice(),\n });\n\n try {\n await this.fetchMap();\n this.setupMap();\n await this.fetchManifest();\n this.updateMap();\n } catch (error) {\n console.error(error);\n if (\n error &&\n typeof error === \"object\" &&\n \"name\" in error &&\n error.name === \"MapNotFoundError\"\n ) {\n this.setState({ mapNotFound: true });\n }\n }\n }\n\n componentWillUnmount() {\n if (this.zoom) {\n this.zoom.teardown();\n }\n }\n\n componentDidUpdate(_prevProps: Props, prevState: State) {\n const availableTicketGroupsDidChange =\n $availableTicketGroups(prevState) !== $availableTicketGroups(this.state);\n const isNoLongerHoveringOnSection =\n prevState.currentHoveredSection !== undefined &&\n this.state.currentHoveredSection === undefined;\n const selectedSectionsDidChange = !isEqual(\n this.state.selectedSections,\n prevState.selectedSections,\n );\n\n if (\n this.mapRoot.current &&\n (isNoLongerHoveringOnSection ||\n availableTicketGroupsDidChange ||\n selectedSectionsDidChange)\n ) {\n this.updateMap();\n }\n\n if (selectedSectionsDidChange) {\n this.props.onSelection(Array.from(this.state.selectedSections));\n }\n\n if (\n $missingSectionIds(prevState) !== $missingSectionIds(this.state) &&\n $missingSectionIds(this.state).length > 0\n ) {\n console.warn(\n \"Unknown section names found in ticket groups: %o\",\n $missingSectionIds(this.state),\n );\n }\n\n if (\n _prevProps.mouseControlEnabled !== this.props.mouseControlEnabled &&\n this.zoom\n ) {\n if (this.props.mouseControlEnabled) {\n this.zoom.enable();\n } else {\n this.zoom.disable();\n }\n }\n }\n\n async fetchMap() {\n const mapResponse = await isomorphicFetch(`${this.configFilePath}/map.svg`);\n if (!mapResponse.ok) {\n throw new MapNotFoundError();\n }\n const mapHtml = await mapResponse.text();\n // Can't use dangerouslySetInnerHTML={{ __html: this.state.mapHtml }} in this case because\n // re-rendering would inject all this HTML again, which would break all the event bindings\n // we set in future methods.\n if (this.mapRoot.current) {\n this.mapRoot.current.innerHTML = mapHtml;\n const svg = this.mapRoot.current.querySelector(\"svg\");\n if (svg && this.props.mouseControlEnabled) {\n this.zoom = initializeZoom(svg);\n }\n }\n }\n\n async fetchManifest() {\n const manifestResponse = await isomorphicFetch(\n `${this.configFilePath}/manifest.json`,\n );\n if (!manifestResponse.ok) {\n throw Error(\n \"There was an error fetching the venue map data, please try again\",\n );\n }\n\n const manifest: Manifest = await manifestResponse.json();\n\n this.setState({\n sectionMapping: Object.keys(manifest.sections).reduce(\n (memo, sectionName) => ({\n ...memo,\n [sectionName.toLowerCase()]: {\n sectionName,\n },\n }),\n {},\n ),\n });\n }\n\n getMapRootElement = () => {\n return this.mapRoot.current;\n };\n\n setupMap() {\n const mapRootElement = this.getMapRootElement();\n if (!mapRootElement) {\n return;\n }\n const mapSvg = mapRootElement.querySelector(\"svg\");\n if (!mapSvg) {\n return;\n }\n\n Object.assign(mapSvg.style, {\n position: \"absolute\",\n zIndex: 0,\n top: 0,\n left: 0,\n height: \"100%\",\n width: \"100%\",\n });\n\n this.setUnavailableColors();\n\n mapSvg\n .querySelectorAll<HTMLElement>(\"*[data-section-id]\")\n .forEach((path) => {\n const sectionId = path.getAttribute(\"data-section-id\");\n if (!sectionId) {\n return;\n }\n path.setAttribute(\"data-section-id\", sectionId.toLowerCase());\n });\n\n mapSvg.querySelectorAll<HTMLElement>(\"text\").forEach((text) => {\n text.style.pointerEvents = \"none\";\n });\n\n this.setState({ mapSvg });\n }\n\n /**\n * Properties\n */\n\n get configFilePath() {\n return `${this.props.mapsDomain}/${this.props.venueId}/${this.props.configurationId}`;\n }\n\n /**\n * Public Methods\n */\n\n highlightSection = (section: string) =>\n this.toggleSectionHighlight(section, true);\n\n unhighlightSection = (section?: string) => {\n if (!section) {\n return this.setState({ currentHoveredSection: undefined });\n }\n return this.toggleSectionHighlight(section, false);\n };\n\n selectSection = (section: string) => this.toggleSectionSelect(section, true);\n\n deselectSection = (section?: string) => {\n if (!section) {\n return this.clearSelection();\n }\n return this.toggleSectionSelect(section, false);\n };\n\n updateTicketGroups = (ticketGroups = this.props.ticketGroups) =>\n this.setState({ ticketGroups });\n\n /**\n * Colors\n */\n\n setUnavailableColors = () =>\n this.fillPathsForSection((element) => ({\n \"data-unavailable-color\": element.getAttribute(\"fill\") as string,\n }));\n\n fillUnavailableColors = () =>\n this.fillPathsForSection((element) => ({\n fill: element.getAttribute(\"data-unavailable-color\") as string,\n opacity: \"1\",\n \"stroke-width\": \"1\",\n stroke: unhighlightedSectionColor,\n }));\n\n fillPathsForSection = (\n propertiesForElement: PropertiesForElement,\n section?: string,\n ): void =>\n this.getAllPaths(section).forEach((element) =>\n Object.entries(propertiesForElement(element)).forEach(\n ([property, value]) => element.setAttribute(property, value),\n ),\n );\n\n getAllPaths = (id?: string) => {\n const mapRootElement = this.getMapRootElement();\n if (!mapRootElement) {\n return [];\n }\n\n return Array.from(\n mapRootElement.querySelectorAll(\n `[data-section-id${id ? `=\"${id}\"` : \"\"}]`,\n ),\n ).reduce((memo, element) => {\n const children = element.querySelectorAll(\"path\");\n return memo.concat(children.length ? Array.from(children) : [element]);\n }, [] as Element[]);\n };\n\n /**\n * Helpers\n */\n\n clearSelection = () => {\n this.setState({\n selectedSections: new Set(),\n });\n };\n\n toggleSectionHighlight = (section?: string, shouldHighlight = true) => {\n if (!section) {\n return;\n }\n\n const sectionId = section.toLowerCase();\n const isUnhighlightingSelectedSection =\n !shouldHighlight && this.state.selectedSections.has(sectionId);\n if (isUnhighlightingSelectedSection) {\n return;\n }\n\n return this.fillSection(sectionId, shouldHighlight);\n };\n\n toggleSectionSelect = (section?: string | null, shouldHighlight = true) => {\n if (!section) {\n return;\n }\n\n const sectionId = section.toLowerCase();\n if (!$venueSections(this.state).includes(sectionId)) {\n return;\n }\n\n const selectedSections = new Set(this.state.selectedSections);\n if (shouldHighlight) {\n selectedSections.add(sectionId);\n } else {\n selectedSections.delete(sectionId);\n }\n\n this.setState({ selectedSections });\n };\n\n updateMap() {\n this.fillUnavailableColors();\n $venueSections(this.state).forEach((section) => {\n this.fillSection(\n section.toLowerCase(),\n this.state.selectedSections.has(section),\n );\n });\n }\n\n fillSection(section: string, shouldHighlight = true) {\n const isAnAvailableSection = $venueSections(this.state).includes(section);\n if (isAnAvailableSection) {\n this.fillPathsForSection(\n () => ({\n fill: this.getDefaultColor(\n $ticketGroupsBySection(this.state)[section],\n ),\n opacity: shouldHighlight ? \"1\" : \"0.6\",\n \"stroke-width\": \"1\",\n stroke: shouldHighlight\n ? highlightedSectionColor\n : unhighlightedSectionColor,\n cursor: \"pointer\",\n }),\n section,\n );\n }\n }\n\n getSectionFromTarget(target?: HTMLElement | null) {\n if (!target) {\n return;\n }\n const element = target.closest(\"[data-section-id]\");\n if (!element) {\n return;\n }\n\n const sectionId = element.getAttribute(\"data-section-id\");\n if (!sectionId) {\n return;\n }\n\n return sectionId.toLowerCase();\n }\n\n /**\n * Coloring\n */\n\n getDefaultColor(ticketGroups: NormalizedTicketGroup[] = []): string {\n const lowestTicketPriceInSection =\n ticketGroups.length > 0\n ? Math.min(...ticketGroups.map(({ price }) => price))\n : 0;\n\n const ranges = $costRanges(this.state, this.props);\n if (ranges.length === 0) return \"#CCCCCC\";\n\n for (const range of ranges) {\n if (range.max >= lowestTicketPriceInSection) {\n return range.color;\n }\n }\n\n return ranges[ranges.length - 1].color;\n }\n\n /**\n * Interaction Callbacks\n */\n\n onMouseOver = ({\n clientX,\n clientY,\n target,\n }: React.MouseEvent<HTMLElement>) => {\n if (this.state.isTouchDevice) return;\n this.doHover(target as HTMLElement, clientX, clientY);\n };\n\n onMouseOut = ({ relatedTarget }: React.MouseEvent<HTMLElement>) => {\n if (this.state.isTouchDevice) return;\n this.doHoverCleanup(relatedTarget as HTMLElement);\n };\n\n onMouseMove = ({ nativeEvent }: React.MouseEvent<HTMLElement>) =>\n this.setState({\n tooltipX: nativeEvent.clientX,\n tooltipY: nativeEvent.clientY,\n });\n\n onClick = () => this.doSelect();\n\n onTouchStart = (e: React.TouchEvent<HTMLElement>) => {\n const section = this.getSectionFromTarget(e.target as HTMLElement);\n if (section) {\n this.setState({\n currentHoveredSection: section,\n });\n this.highlightSection(section);\n }\n };\n\n onTouchMove = () => {\n this.setState({ dragging: true });\n };\n\n onTouchEnd = (e: React.TouchEvent<HTMLElement>) => {\n const section = this.state.currentHoveredSection;\n if (section) {\n this.doSelect(section);\n this.setState({ currentHoveredSection: undefined });\n }\n if (this.state.dragging) {\n e.preventDefault();\n }\n this.setState({ dragging: false });\n };\n\n /**\n * Interactions\n */\n\n doHover(target: HTMLElement, tooltipX?: number, tooltipY?: number) {\n const section = this.getSectionFromTarget(target);\n if (!section) {\n return;\n }\n\n if (!$venueSections(this.state).includes(section)) {\n return;\n }\n\n this.highlightSection(section);\n this.setState({\n tooltipActive: tooltipX !== undefined && tooltipY !== undefined,\n tooltipX: tooltipX !== undefined ? tooltipX : 0,\n tooltipY: tooltipY !== undefined ? tooltipY : 0,\n tooltipSectionName: this.state.sectionMapping[section].sectionName,\n currentHoveredSection: section,\n });\n }\n\n doHoverCleanup(enteringElement: HTMLElement): void {\n const isEnteringText =\n !!enteringElement && enteringElement.nodeName.toLowerCase() === \"text\";\n if (isEnteringText) {\n return;\n }\n\n const enteringSection = this.getSectionFromTarget(enteringElement);\n const isEnteringTheSameSection =\n !!enteringSection && enteringSection === this.state.currentHoveredSection;\n if (isEnteringTheSameSection) {\n return;\n }\n\n this.setState({\n tooltipActive: false,\n currentHoveredSection: undefined,\n });\n }\n\n doSelect(section = this.state.currentHoveredSection) {\n if (!section) {\n return;\n }\n this.toggleSectionSelect(\n section,\n !this.state.selectedSections.has(section),\n );\n }\n\n handleZoomIn = () => {\n if (this.zoom) {\n this.zoom.zoomIn(0.1);\n }\n };\n\n handleZoomOut = () => {\n if (this.zoom) {\n this.zoom.zoomOut(0.1);\n }\n };\n\n handleResetZoom = () => {\n if (this.zoom) {\n this.zoom.reset();\n }\n };\n\n render() {\n if (this.state.mapNotFound) {\n return (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n display: \"flex\",\n flexWrap: \"wrap\",\n fontFamily: \"Nunito Sans\",\n }}\n >\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDir