{"version":3,"sources":["services/danske-form.service.tsx","pages/DanskeSimpleFormPage/styles.js","pages/DanskeFormPage/index.tsx"],"names":["sendDanskeForm","params","__awaiter","hasWindow","window","wakeTestEmail","axios","post","sendDanskeChatForm","formID","sendDanskeSimpleForm","SubmitStatus","styled","div","withConfig","componentId","color","DanskeFormContent","buttons","textLinkPrimary","SelectContainer","Select","select","textStyles","FormPlaceholderText","rgba","connect","state","doc","document","_ref","initialErrors","address","agencyCity","city","confirm","email","firstName","identifierB","lastName","phone","postcode","projectID","subject","timeOfContact","errors","setErrors","useState","initialValues","values","setValues","submitStatus","setSubmitStatus","className","message","requiredParameters","validateValues","valid","Object","assign","newErrors","rp","isEmpty","handleChange","e","hasOwnProperty","target","name","type","checked","value","React","createElement","Container","onSubmit","preventDefault","DanskeFormService","formPageID","documentID","then","response","catch","err","onChange","createAgencyCityOptions","options","key","undefined","agencyCities","c","push","FaIcon","icon"],"mappings":"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","file":"assets/js/pages-DanskeFormPage.chunk.js?cb=e6d03d78be4ce3d9ae67","sourcesContent":["import axios from \"axios\";\nimport { hasWindow } from \"@utils\";\n\ninterface IFormParams {\n\taddress?: string;\n\tagency?: string;\n\tcity?: string;\n\tconfirm?: boolean;\n\temail?: string;\n\tformPageID: string;\n\tfirstName?: string;\n\tidentifierB: string;\n\tlastName?: string;\n\tphone?: string;\n\tpostcode?: string;\n\tprojectID?: string;\n\tsubject?: string;\n\ttimeOfContact?: string;\n\twakeTestEmail?: string;\n}\n\ninterface IChatFormParams {\n\taddress?: string;\n\tagentKey?: string;\n\tagentName?: string;\n\tconfirm?: boolean;\n\tformID?: string;\n\tname?: string;\n\tpropertyKey?: string;\n\twakeTestEmail?: string;\n}\n\nconst formAPI = \"/api/km/KMSite/danskeForm\";\nconst simpleFormAPI = \"/api/km/KMSite/danskeSimpleForm\";\nconst chatFormAPI = \"/api/1/form/submit\";\n\nconst sendDanskeForm = async (params: IFormParams) => {\n\tif (hasWindow && window[\"wakeTestEmail\"]) {\n\t\tparams.wakeTestEmail = window[\"wakeTestEmail\"];\n\t}\n\n\treturn await axios.post(formAPI, params);\n};\n\nconst sendDanskeSimpleForm = async (params: IFormParams) => {\n\tif (hasWindow && window[\"wakeTestEmail\"]) {\n\t\tparams.wakeTestEmail = window[\"wakeTestEmail\"];\n\t}\n\n\treturn await axios.post(simpleFormAPI, params);\n};\n\nconst sendDanskeChatForm = async (params: IChatFormParams) => {\n\tif (hasWindow && window[\"wakeTestEmail\"]) {\n\t\tparams.wakeTestEmail = window[\"wakeTestEmail\"];\n\t}\n\n\tparams.formID = \"DanskeChatRequest\";\n\n\treturn await axios.post(chatFormAPI, params);\n};\n\nexport default {\n\tsendDanskeForm,\n\tsendDanskeChatForm,\n\tsendDanskeSimpleForm,\n};\n","import styled from \"styled-components\";\nimport { buttons, color, textStyles } from \"@utils/style-utils\";\nimport { rgba } from \"polished\";\n\nexport const SubmitStatus = styled.div`\n\talign-self: center;\n\tmargin-top: 2em;\n\tpadding: 20px;\n\t&.success {\n\t\tborder: 4px solid ${color(\"greenBright\", 1)};\n\t}\n\t&.error {\n\t\tborder: 4px solid red;\n\t}\n`;\n\nexport const DanskeFormContent = styled.div`\n\tmargin: 0 auto 50px;\n\tmax-width: 710px;\n\tpadding-top: 85px;\n\tform {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-content: space-between;\n\t}\n\tlabel {\n\t\tflex: 1 1 auto;\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\talign-content: space-between;\n\t\tmin-height: 2em;\n\t\tmargin: 0 0 10px;\n\n\t\tspan {\n\t\t\tflex: 1 1 auto;\n\t\t\ttext-align: left;\n\t\t\tline-height: 36px;\n\t\t\t&.required:after {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcontent: '*';\n\t\t\t\tcolor: red;\n\t\t\t\tfont-size: small;\n\t\t\t\tvertical-align: super;\n\t\t\t}\n\t\t}\n\t\tinput {\n\t\t\tflex: 1 1 auto;\n\t\t\tmax-width: 380px;\n\t\t}\n\t\tinput[type=\"checkbox\"] {\n\t\t\talign-self: center;\n\t\t}\n\n\t\t&.error span {\n\t\t\tpadding: 5px;\n\t\t}\n\t}\n\t.error {\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid red;\n\t}\n\tbutton {\n\t\t${buttons.textLinkPrimary}\n\t\talign-self: center;\n\t}\n`;\n\nexport const SelectContainer = styled.div`\n\tflex: 1 1 100%;\n\tmax-width: 380px;\n\talign-self: flex-start;\n\tmargin-bottom: 16px;\n\tposition: relative;\n\n\tselect {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tz-index: 1;\n\t}\n\n\tspan.icon {\n\t\tcolor: ${color(\"greenBright\", 1)};\n\t\tfont-size: 14px;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: 16px;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\tz-index: 3;\n\n\t\tsvg {\n\t\t\tmax-width: 14px;\n\t\t}\n\t}\n`;\n\nexport const Select = styled.select`\n\t${textStyles.FormPlaceholderText}\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tbackground: ${color(\"white\")};\n\tborder: 1px solid ${color(\"grey\", 5)};\n\tborder-radius: 4px;\n\tcolor: ${color(\"grey\", 1)};\n\tpadding: 11px 32px 9px 16px;\n\n\t.is-pointer & {\n\t\t&:hover {\n\t\t\tbackground-color: ${rgba(color(\"greenBright\", 4), 0.15)};\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline-color: ${color(\"greenBright\", 4)};\n\t}\n`;\n","import React, { FormEvent, useState } from \"react\";\nimport { IDocument } from \"@redux/document\";\nimport { IApplicationState } from \"@redux\";\nimport { connect } from \"react-redux\";\nimport { Container } from \"@components/Grid\";\nimport { DanskeFormContent, Select, SelectContainer, SubmitStatus } from \"./styles\";\nimport DanskeFormService from \"@services/danske-form.service\";\nimport { FontAwesomeIcon as FaIcon } from \"@fortawesome/react-fontawesome\";\nimport isEmpty from \"lodash-es/isEmpty\";\n\nconst DanskeFormPage = ({ doc }: IDocument) => {\n\n\tconst initialErrors = {\n\t\taddress: false,\n\t\tagencyCity: false,\n\t\tcity: false,\n\t\tconfirm: false,\n\t\temail: false,\n\t\tfirstName: false,\n\t\tidentifierB: false,\n\t\tlastName: false,\n\t\tphone: false,\n\t\tpostcode: false,\n\t\tprojectID: false,\n\t\tsubject: false,\n\t\ttimeOfContact: false,\n\t};\n\tconst [errors, setErrors] = useState(initialErrors);\n\n\tconst initialValues = {\n\t\taddress: '',\n\t\tagencyCity: '',\n\t\tcity: '',\n\t\tconfirm: false,\n\t\temail: '',\n\t\tfirstName: '',\n\t\tidentifierB: '',\n\t\tlastName: '',\n\t\tphone: '',\n\t\tpostcode: '',\n\t\tprojectID: '',\n\t\tsubject: '',\n\t\ttimeOfContact: '',\n\t};\n\tconst [values, setValues] = useState(initialValues);\n\n\tconst [submitStatus, setSubmitStatus] = useState({className: '', message: ''});\n\n\tlet requiredParameters = [\n\t\t'address',\n\t\t'agencyCity',\n\t\t'city',\n\t\t'confirm',\n\t\t'email',\n\t\t'firstName',\n\t\t'identifierB',\n\t\t'lastName',\n\t\t'phone',\n\t\t'postcode',\n\t\t'subject',\n\t\t'timeOfContact',\n\t];\n\n\tconst clearErrors = () => {\n\t\tsetErrors(initialErrors);\n\t}\n\n\tconst validateValues = () => {\n\t\tclearErrors();\n\t\tsetSubmitStatus({className: '', message: ''});\n\t\tlet valid = true;\n\t\tlet validateValues = {...values};\n\t\tlet newErrors = {...errors};\n\t\tfor (let rp of requiredParameters) {\n\t\t\tif (isEmpty(validateValues[rp]) && validateValues[rp] !== true) {\n\t\t\t\tnewErrors[rp] = true;\n\t\t\t\tvalid = false;\n\t\t\t}\n\t\t}\n\t\tsetErrors(newErrors);\n\t\treturn valid;\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tif (values.hasOwnProperty(e.target.name)) {\n\t\t\tsetValues({...values, [e.target.name]: e.target.type === 'checkbox' ? e.target.checked : e.target.value});\n\t\t\tif (errors[e.target.name] && !isEmpty(e.target.value)) {\n\t\t\t\tsetErrors({...errors, [e.target.name]: false});\n\t\t\t}\n\t\t}\n\t};\n\n\tconst createAgencyCityOptions = () => {\n\t\tlet options = [];\n\t\tif (doc.agencyCities !== undefined && doc.agencyCities) {\n\t\t\tfor (let c in doc.agencyCities) {\n\t\t\t\tif (!doc.agencyCities.hasOwnProperty(c)) continue;\n\n\t\t\t\tlet city = doc.agencyCities[c];\n\t\t\t\toptions.push();\n\t\t\t}\n\t\t}\n\t\treturn options;\n\t};\n\n\tconst handleSubmit = async (e: FormEvent) => {\n\t\te.preventDefault();\n\t\tif (validateValues()) {\n\t\t\tconst response = await DanskeFormService.sendDanskeForm({...values, formPageID: doc.documentID})\n\t\t\t\t.then((response: any) => {\n\t\t\t\t\tsetSubmitStatus({\n\t\t\t\t\t\tclassName: 'success',\n\t\t\t\t\t\tmessage: 'Tiedot lähetetty!',\n\t\t\t\t\t});\n\t\t\t\t\tsetValues(initialValues);\n\t\t\t\t})\n\t\t\t\t.catch((err: any) => {\n\t\t\t\t\tsetSubmitStatus({\n\t\t\t\t\t\tclassName: 'error',\n\t\t\t\t\t\tmessage: 'Tietojen lähettäminen epäonnistui - yritä myöhemmin uudelleen.',\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{submitStatus.message}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst mapStateToProps = (state: IApplicationState) => ({\n\tdoc: state.document,\n});\n\nexport default connect(mapStateToProps)(DanskeFormPage);\n"],"sourceRoot":""}