{"version":3,"file":"static/js/9401.ed142b55.chunk.js","mappings":"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","sources":["shared/flight-information-hero/flight-information-hero.jsx"],"sourcesContent":["import React, { Component } from \"react\"\nimport * as endpoints from \"../../api/endpoints\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport { isMobile } from \"react-device-detect\"\nimport reactStringReplace from \"react-string-replace\"\nimport { DateTime } from \"luxon\"\n\nexport default class FlightInformationHero extends Component {\n constructor(props) {\n super(props)\n\n const modelJson = props.modelJson && JSON.parse(props.modelJson)\n\n this.state = {\n modelJson: modelJson,\n flights: [],\n direction: \"D\",\n language: (document.body && document.body.dataset.language) || \"da\",\n q: \"\",\n showResults: false,\n mouseOverResults: false,\n }\n }\n\n search = async () => {\n let flights = []\n if (this.state.q.length > 0) {\n const dt = DateTime.utc()\n const start = dt\n const end = dt.endOf(\"day\")\n const data = { direction: this.state.direction, query: this.state.q, startDateTime: start, endDateTime: end, language: this.state.language }\n const response = await endpoints.getFlightInfoTable(data)\n if (response && response.data) {\n flights = response.data\n }\n }\n this.setState({ flights: flights })\n }\n\n handleInput = (event, search = true) => {\n this.setState(\n {\n [event.target.name]: event.target.value,\n },\n () => {\n if (search) this.search()\n },\n )\n }\n\n handleBlur = () => {\n // makes it possible to click the results without them disappearing\n if (!this.state.mouseOverResults) {\n this.setState({ showResults: false })\n }\n }\n\n handleFocus = () => {\n this.setState({ showResults: true })\n }\n\n stringReplace = (text, input) => {\n const words = input.split(\" \").filter(Boolean)\n const regex = new RegExp(\"(\" + words.join(\"*|\") + \")\", \"gi\")\n return reactStringReplace(text, regex, (match, i) => {match})\n }\n\n render() {\n const heroType = this.props.backgroundVideo ? \"hero--video\" : \"hero--image\"\n const heroStyle = this.props.backgroundImage ? { backgroundImage: `url(${this.props.backgroundImage})` } : {}\n const inputStyle = this.state.flights.length > 0 ? { position: \"relative\", zIndex: \"9401\" } : {}\n const resultsStyle = isMobile ? { left: \"1px\", right: \"1px\" } : { width: \"550px\", left: \"1px\", top: \"80px\" }\n\n return (\n
\n
\n \n \n \n {this.props.backgroundVideo ? (\n \n \n \n ) : (\n \"\"\n )}\n
\n
{this.state.modelJson.label}
\n {ReactHtmlParser(this.state.modelJson.heading)}\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n 0 && this.state.showResults ? \"is-filled has-focus\" : \"\"\n }`}\n >\n \n 0 && this.state.showResults ? \"has-suggestions\" : \"\"}`}\n name=\"q\"\n type=\"text\"\n value={this.state.q}\n onChange={(e) => this.handleInput(e)}\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n placeholder={this.state.modelJson.searchBoxPlaceholder}\n />\n {this.state.flights.length && this.state.q.length > 0 && this.state.showResults ? (\n this.setState({ mouseOverResults: true })}\n onMouseOut={() => this.setState({ mouseOverResults: false })}\n >\n
\n {this.state.flights.map((flight, index) => {\n const destination = this.stringReplace(flight.DestinationName, this.state.q)\n const airline = this.stringReplace(flight.Airline, this.state.q)\n const iataDestination = this.stringReplace(flight.IataDestination, this.state.q)\n if (index <= this.state.modelJson.numberOfFlights)\n return (\n \n
\n
\n {destination}\n
\n {airline}\n
\n
{iataDestination}
\n
\n \n )\n else {\n return\n }\n })}\n
\n
\n ) : (\n \"\"\n )}\n
\n \n {this.state.modelJson.searchButtonLabel}\n \n
\n \n \n \n \n
\n )\n }\n}\n"],"names":["FlightInformationHero","_Component","props","_this","_classCallCheck","_callSuper","search","_asyncToGenerator","_regeneratorRuntime","mark","_callee","flights","dt","start","end","data","response","wrap","_context","prev","next","state","q","length","DateTime","utc","endOf","direction","query","startDateTime","endDateTime","language","endpoints","sent","setState","stop","handleInput","event","arguments","undefined","_defineProperty","target","name","value","handleBlur","mouseOverResults","showResults","handleFocus","stringReplace","text","input","words","split","filter","Boolean","regex","RegExp","join","reactStringReplace","match","i","_jsx","children","modelJson","JSON","parse","document","body","dataset","_inherits","_createClass","key","_this2","heroType","this","backgroundVideo","heroStyle","backgroundImage","concat","inputStyle","position","zIndex","resultsStyle","isMobile","left","right","width","top","className","_jsxs","style","src","loading","fetchPriority","tabIndex","playsInline","muted","autoPlay","loop","preload","type","label","ReactHtmlParser","heading","checked","onChange","e","departureLabel","arrivalLabel","autoComplete","onBlur","onFocus","placeholder","searchBoxPlaceholder","onMouseOver","onMouseOut","map","flight","index","destination","DestinationName","airline","Airline","iataDestination","IataDestination","numberOfFlights","href","arrivalsPage","departuresPage","Iata","FlightId","searchButtonLabel","Component"],"sourceRoot":""}