{"version":3,"file":"component---src-templates-page-bdm-js-ce16465069fdc320636d.js","mappings":"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","sources":["webpack://landbay/./src/components/widgets/AdditionalDownloads.js","webpack://landbay/./src/templates/page-bdm.js","webpack://landbay/./src/utils/formatPhoneNumber.js"],"sourcesContent":["import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\"\n\n/**\n * Sidebar additional downloads\n */\nexport default function AdditionalDownloads({title, downloads}) {\n\n //grab the downloads from the options page\n const data = useStaticQuery(graphql`\n query {\n\t wp {\n\t\tacfOptionsOptions {\n\t options {\n\t widgetDownloads {\n\t title\n\t url\n\t\t\t extension\n\t }\n\t }\n\t }\n\t }\n }\n `)\n\n if (!downloads || downloads.length===0) {\n\treturn null;\n }\n\n return(\n\t
\n\t\t

{title}

\n\t\t\n\t
\n )\n}\n\n","import React, { useState, Fragment } from \"react\"\nimport { graphql } from \"gatsby\"\nimport Layout from '../components/Layout' \nimport Hero from '../components/widgets/Hero' \nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\"\nimport Widgets from '../components/widgets/Widgets' \nimport formatPhoneNumber from '../utils/formatPhoneNumber' \nimport Seo from 'gatsby-plugin-wpgraphql-seo';\nimport InternalShapes from \"../components/widgets/InternalShapes\";\nimport AdditionalDownloads from \"../components/widgets/AdditionalDownloads\";\nimport LinkedInImg from \"../assets/svg/inline/ic_linkedin.svg\"\n\nexport default function FindABDM({ data }) {\n const page = data.allWpPage.nodes[0];\n const bdmAreas = data.allWpBdmArea?.nodes.sort( (a,b) => a.position-b.position );//sort the areas by position\n const additionalDownloads = page.additionalDownloads;\n const mappingsData = data?.json?.mappings;\n\n //for controlling form elements\n const defaultFormValues = {search:'', area:''}\n const [formValues, setFormValues] = useState(defaultFormValues);\n\t\n /**\n * Called when a form field changes\n */\n const handleChange = function(event) {\n\n var newValues = { ...formValues };\n\n\tnewValues[event.target.name] = event.target.value;\n\t\n\tsetFormValues(newValues);\n }\n\n /*\n * When the form is submitted via the enter key\n */\n const handleSubmit = function(event) {\n event.preventDefault();\n\t//submitForm()\n }\n\n /*\n * When we select an area from the list on desktop\n */\n const selectArea = function(area) {\n \n var newValues = { ...formValues };\n\n\tif (formValues.area===area) {\n\t\tnewValues['area'] = '';\n\t} else {\n\t\tnewValues['area'] = area;\n\t}\n\t\n\tsetFormValues(newValues);\n }\n\n /*\n * When we select an area from the list on desktop\n */\n const getFilteredBDMs = function(bdms, lastArea) {\n\tif (!bdms || bdms.length===0) {\n\t\treturn null;\n\t}\n\t\n\t//sort the bdms according to menu order\n\tbdms.sort(function(a, b) {\n \treturn a.menuOrder - b.menuOrder;\n\t});\n\t\n //check if we have a postcode search set\n if (formValues.search!=='') {\n\t\t//extract the leading letters from the user postcode using regular expression\n\t\t//console.log(formValues.search.toUpperCase().match(/^[A-Z]+/));\n\t\tvar match = formValues.search.toUpperCase().match(/^[A-Z]+/);\n\t\tif (match) {\n\t\t\t//filter the BDMS\n\t\t\tvar newBdms = [];\n\t\t\tbdms.forEach(function(bdm) {\n\t\t\t\tmappingsData.forEach(function(mapping) {\n\t\t\t\t\tif (mapping.email.toLowerCase()===bdm.bdm.bdmEmail.toLowerCase()\n\t\t\t\t\t\t&& mapping.postcodeAreas.includes(match[0])) {\n\t\t\t\t\t\tnewBdms.push(bdm);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (newBdms.length===0) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tbdms = newBdms;\n\t\t}\n }\n\t\t\n\treturn bdms.map((bdm, j) => (\n\t \n\t\t{\n\t\t\tlastArea && j===(bdms.length-1) && bdms.length>1\n\t\t\t? \n\t\t\t: null\n\t\t}\t\t\t\t\t\t\t\t\n\t\t\n\t \t\t\t\t\t\t\t \t\t\n\t))\n }\n\n const Bdm = ({bdm}) => (\n
\n\t\t
\n\t\t\t{bdm.featuredImage?.node && (\n\t\t\t\t\n\t\t\t)}\n\t\t
\t\n\t\t
\n\t\t\t

{bdm.title}

\n\t\t\t

{bdm.bdm.bdmJobTitle}

\n\t\t\t{!bdm.bdm.bdmHideAreas && (\n\t\t\t\t

\n\t\t\t\t\t{mappingsData && mappingsData.map((entry, i) => {\n\t\t\t\t\t\tif (entry.email.toLowerCase()===bdm.bdm.bdmEmail.toLowerCase()) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\tAreas covered\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{entry.postcodeAreas.map((area, j) => (\n\t\t\t\t\t\t\t\t\t\t\t{area}\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t})}\n\t\t\t

\n\t\t\t)}\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t{\n\t\t\t bdm.bdm.bdmBio \n\t\t\t ?

\t\n\t\t\t : null\t\t\t\t\t\t\t\t \n\t\t\t}\t\t\t\t\t\t\t\t\t\t\n\t\t\t

\n\t\t\t\t{bdm.bdm.bdmPhone && (\n\t\t\t\t

Call {bdm.bdm.bdmPhone}

\n\t\t\t )}\n\t\t\t\t{bdm.bdm.bdmEmail && (\n\t\t\t\t

Email {bdm.bdm.bdmEmail}

\n\t\t\t )}\n\t\t\t\t{\n\t\t\t\t bdm.bdm.bdmLinkedin\n\t\t\t\t ? \n\t\t\t\t : null\n\t\t\t\t}\n\t\t\t
\t\n\t\t
\t\n\t
\n );\n\n return (\n \n \n\t
\n\t
\n\t \n\t
\n\t\t{\n\t\t\tbdmAreas.length===0\n\t\t\t?

No BDMs found

\n\t\t\t:
\n\t\t\t\t\n\t\t\t\t\n\t\t \t
\n\t\t\t\t {bdmAreas.map((area, i) => {\n\t\t\t\t\t\t//are the areas being filtered?\n\t\t\t\t\t\tif (formValues.area===area.name || formValues.area==='') {\n\t\t\t\t\t\t\tlet filteredBDMs = getFilteredBDMs(area?.bdms?.nodes, (i===(bdmAreas.length-1)) );\n\t\t\t\t\t\t\tif (filteredBDMs) {\n\t\t\t\t\t\t\t return(\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

{area.name}

\n\t\t\t\t\t\t\t\t\t{filteredBDMs}\t\t\t\t\t\t \t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\t\n\t\t\t\t\t\treturn null;\n\t\t\t\t })}\n\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t}\t \n\t\t\n\t\t\n\t\t\n\t
\n
\n )\n}\nexport const query = graphql`\n query($id: String!) {\n allWpPage(filter: { id: { eq: $id } }) {\n nodes {\n title\n\t\tslug\n content\n\t\t...WidgetFragment\n ...PageSEOFragment\n\t additionalDownloads {\n\t\t downloadsTitle\n\t downloads {\n\t download\n\t }\n\t }\n }\n }\n allWpBdmArea {\n nodes {\n name\n\t\tposition\n bdms {\n nodes {\n\t \t\tmenuOrder\n title\n bdm {\n bdmJobTitle\n\t\t\t bdmHideAreas\n bdmBio\n bdmEmail\n bdmPhone\n bdmLinkedin\n }\n featuredImage {\n node {\n localFile {\n\t\t\t childImageSharp {\n\t\t gatsbyImageData(\n\t\t\t\t\t sizes: \"(min-width: 768px) 187px, 72px\",\n\t\t\t\t\t breakpoints: [144, 374]\n\t\t )\n\t\t }\n }\n }\n }\n }\n }\n }\n }\n\tjson: cded38F58396024Eaf24Abb5D098D50AJson {\n\t mappings {\n\t email\n\t\t postcodeAreas\n\t }\n\t} \n }\n`","\nexport default function formatPhoneNumber(phoneNumber) {\n\t//return 'tel:'+phoneNumber.replace(/\\s+/g, '').replace(/(.)(\\d{4})(\\d)/, '+44 ($1)$2 $3');\n return 'tel:'+phoneNumber.replace(/\\s+/g, '').replace(/(.)(\\d{4})(\\d)/, '+44$2$3');\n}\n"],"names":["AdditionalDownloads","title","downloads","data","useStaticQuery","length","className","map","document","i","wp","acfOptionsOptions","options","widgetDownloads","optionDownload","download","key","href","url","rel","extension","FindABDM","page","allWpPage","nodes","bdmAreas","allWpBdmArea","sort","a","b","position","additionalDownloads","mappingsData","json","mappings","useState","search","area","formValues","setFormValues","handleChange","event","newValues","target","name","value","Bdm","bdm","featuredImage","node","G","image","getImage","localFile","alt","bdmJobTitle","bdmHideAreas","entry","email","toLowerCase","bdmEmail","postcodeAreas","j","bdmBio","dangerouslySetInnerHTML","__html","bdmPhone","formatPhoneNumber","bdmLinkedin","post","widget","layout","content","onSubmit","preventDefault","type","autoComplete","placeholder","onChange","onClick","selectArea","filteredBDMs","bdms","lastArea","menuOrder","match","toUpperCase","newBdms","forEach","mapping","includes","push","Fragment","getFilteredBDMs","downloadsTitle","widgets","pageWidgets","phoneNumber","replace"],"sourceRoot":""}