{"version":3,"sources":["services/danske-form.service.tsx","pages/DanskeSimpleFormPage/styles.js","pages/DanskeSimpleFormPage/index.tsx"],"names":["sendDanskeForm","params","__awaiter","hasWindow","window","wakeTestEmail","axios","post","sendDanskeChatForm","formID","sendDanskeSimpleForm","SubmitStatus","styled","div","withConfig","componentId","color","DanskeFormContent","buttons","textLinkPrimary","select","textStyles","FormPlaceholderText","rgba","connect","state","doc","document","_ref","initialErrors","identifierB","email","firstName","lastName","phone","postcode","errors","setErrors","useState","initialValues","values","setValues","submitStatus","setSubmitStatus","className","message","handleChange","e","hasOwnProperty","target","name","Object","assign","type","checked","value","React","createElement","Container","onSubmit","preventDefault","DanskeFormService","formPageID","documentID","then","response","catch","err","msg","data","onChange","id"],"mappings":"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","file":"assets/js/pages-DanskeSimpleFormPage.chunk.js?cb=7262646c284c8e3ead3c","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, SubmitStatus } from \"./styles\";\nimport DanskeFormService from \"@services/danske-form.service\";\n//import isEmpty from \"lodash-es/isEmpty\";\n\nconst DanskeSimpleFormPage = ({ doc }: IDocument) => {\n\n\tconst initialErrors = {\n\t\tidentifierB: false,\n\t\temail: false,\n\t\tfirstName: false,\n\t\tlastName: false,\n\t\tphone: false,\n\t\tpostcode: false,\n\t};\n\tconst [errors, setErrors] = useState(initialErrors);\n\n\tconst initialValues = {\n\t\tidentifierB: 'Loanform',\n\t\temail: '',\n\t\tfirstName: '',\n\t\tlastName: '',\n\t\tphone: '',\n\t\tpostcode: '',\n\t};\n\tconst [values, setValues] = useState(initialValues);\n\n\tconst [submitStatus, setSubmitStatus] = useState({className: '', message: ''});\n\n\tlet requiredParameters = [\n\t\t'identifierB',\n\t\t'email',\n\t\t'firstName',\n\t\t'lastName',\n\t\t'phone',\n\t\t'postcode',\n\t];\n\n\tconst clearErrors = () => {\n\t\tsetErrors(initialErrors);\n\t}\n\n\tconst validateValues = () => {\n\t\treturn true;\n\t\t// clearErrors();\n\t\t// setSubmitStatus({className: '', message: ''});\n\t\t// let valid = true;\n\t\t// let validateValues = {...values};\n\t\t// let newErrors = {...errors};\n\t\t// for (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\t// setErrors(newErrors);\n\t\t// return 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}\n\t};\n\n\tconst handleSubmit = async (e: FormEvent<HTMLFormElement>) => {\n\t\te.preventDefault();\n\t\tif (validateValues()) {\n\t\t\tconst response = await DanskeFormService.sendDanskeSimpleForm({...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: 'SUCCESS! 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\tconst msg = err.response.data.message;\n\t\t\t\t\tsetSubmitStatus({\n\t\t\t\t\t\tclassName: 'error',\n\t\t\t\t\t\tmessage: 'ERROR! '+ (msg ? msg : '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} else {\n\n\t\t}\n\t};\n\n\treturn (\n\t\t<Container>\n\t\t\t<DanskeFormContent>\n\t\t\t\t<form onSubmit={handleSubmit}>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span className=\"required\">Asiakkaan etunimi</span>\n\t\t\t\t\t\t<input className={errors.firstName ? \"error\" : \"\"} value={values.firstName} type=\"text\" onChange={handleChange} name=\"firstName\" id=\"field-firstName\" />\n\t\t\t\t\t</label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span className=\"required\">Asiakkaan sukunimi</span>\n\t\t\t\t\t\t<input className={errors.lastName ? \"error\" : \"\"} value={values.lastName} type=\"text\" onChange={handleChange} name=\"lastName\" id=\"field-lastName\" />\n\t\t\t\t\t</label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span className=\"required\">Puhelinnumero</span>\n\t\t\t\t\t\t<input className={errors.phone ? \"error\" : \"\"} value={values.phone} type=\"text\" onChange={handleChange} name=\"phone\" id=\"field-phone\" />\n\t\t\t\t\t</label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span className=\"required\">Sähköpostiosoite</span>\n\t\t\t\t\t\t<input className={errors.email ? \"error\" : \"\"} value={values.email} type=\"text\" onChange={handleChange}  name=\"email\" id=\"field-email\" />\n\t\t\t\t\t</label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span className=\"required\">Postinumero</span>\n\t\t\t\t\t\t<input className={errors.postcode ? \"error\" : \"\"} value={values.postcode} type=\"text\" onChange={handleChange} name=\"postcode\" id=\"field-postcode\" />\n\t\t\t\t\t</label>\n\t\t\t\t\t<button className=\"btn\" type=\"submit\" id=\"submit-button\">Lähetä</button>\n\t\t\t\t\t<SubmitStatus id=\"submit-message\" className={submitStatus.className}>{submitStatus.message}</SubmitStatus>\n\t\t\t\t</form>\n\t\t\t</DanskeFormContent>\n\t\t</Container>\n\t);\n};\n\nconst mapStateToProps = (state: IApplicationState) => ({\n\tdoc: state.document,\n});\n\nexport default connect(mapStateToProps)(DanskeSimpleFormPage);\n"],"sourceRoot":""}