{"version":3,"sources":["components/Layout.js","components/Start.js","components/Debug.js","components/ErrorView.js","components/Final.js","global.js","config.js","components/InitialAppointments.js","components/SecondAppointment.js","components/UpdateAppointment.js","App.js","registerServiceWorker.js","index.js"],"names":["Layout","className","src","alt","Container","this","props","children","target","rel","href","process","Component","displayName","name","Start","Debug","Table","debug","address","city","errorView","message","processFailure","final","newDate","postData","a","url","data","fetch","method","headers","body","JSON","stringify","response","json","then","responseData","code","status","getData","formatDate","date","mm","getMonth","dd","getDate","getFullYear","join","isPhoneNumber","number","test","getUrl","window","location","path","pathname","split","protocol","host","InitialAppointments","apiBaseURL","Config","state","selectedOption","finished","tokenInvalid","contactName","contactTel","comment","counterProposal1Date","counterProposal1Time","counterProposal1ContactName","counterProposal1ContactTel","counterProposal2Date","counterProposal2Time","counterProposal2ContactName","counterProposal2ContactTel","isLoading","newDeadline","appointmentType","showChangeContactForm","updatedContactName","minDate","timeOptions","handleOptionChange","changeEvent","value","setState","sendAnswer","endpoint","errorMessage","console","log","errors","push","format","error","acceptAppointment","length","dataBody","token","declineAppointment","extendAppointmentDeadline","updateContactName","showUpdateContactForm","e","preventDefault","cancelModal","showWarning","handleFormSubmit","formSubmitEvent","document","scrollTop","documentElement","isWeekday","day","getDay","stringToDate","string","parts","substring","Date","registerLocale","de","i","firstAppointment","appointment1","appointment","secondAppointment","appointment2","setDate","Final","ErrorView","formHead","deadline","type","checked","onChange","extendableTo","counterProposal","htmlFor","id","selected","locale","dateFormat","autoComplete","filterDate","onSubmit","inspectionType","contract","postalcode","role","rows","data-toggle","data-target","isUpdateEmailAllowed","style","width","float","onClick","Modal","isOpen","centered","ModalBody","ModalHeader","ModalFooter","SecondAppointment","showDeclineWarning","isFormValid","askDeclineAppointment","commentCache","cancelDeclineAppointment","appoint","timeoutEscalation","color","fontWeight","UpdateAppointment","updateAppointment","App","invalidToken","firstAttempt","isDebug","isUpdate","getTokenFromURL","substr","lastIndexOf","warn","componentDidMount","view","isCustomerEmailUpdateAllowed","Boolean","hostname","match","rootElement","getElementById","ReactDOM","render","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.19fb9090.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \"Logo\r\n
\r\n
\r\n \"Erleben,\r\n
\r\n
\r\n \r\n {this.props.children}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class Start extends Component {\r\n\r\n render () {\r\n return (\r\n

Bitte warten. Wir versuchen die Daten zu ihrem Auftrag abzurufen.

\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Table } from 'reactstrap';\r\n\r\nconst Debug = (props) => {\r\n return (\r\n
\r\n

Systeminformationen

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
KomponenteWert
DB-Ident{props.debug.name}
System URL{props.debug.address}
Ziel URL{props.debug.city}
\r\n
\r\n )\r\n};\r\n\r\nexport default Debug;","import React from 'react';\r\n\r\nconst errorView = (props) => {\r\n\r\n let message = \"\";\r\n\r\n if(props.processFailure){\r\n message =

Beim Verarbeiten Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es in Kürze nochmal.

;\r\n }else{\r\n message =

Der übergebene Token ist entweder ungültig oder abgelaufen.

;\r\n }\r\n\r\n return (\r\n
\r\n {message}\r\n
\r\n )\r\n};\r\n\r\nexport default errorView;\r\n","import React from 'react';\r\n\r\nconst final = (props) => {\r\n return (\r\n

Danke für Ihre Rückmeldung. {(props.newDate)?\"Die neue Frist für ihre Rückmeldung ist der \" + props.newDate + \".\":\"\"}

\r\n )\r\n};\r\n\r\nexport default final;\r\n","async function postData(url = '', data = {}) {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n return response.json().then(responseData => {return {code: response.status, data: responseData}});\r\n}\r\n\r\nasync function getData(url = '') {\r\n const response = await fetch(url, {\r\n method: 'GET'\r\n });\r\n\r\n return response.json().then(responseData => {return {code: response.status, data: responseData}});\r\n}\r\n\r\nfunction formatDate(date) {\r\n var mm = date.getMonth() + 1; // getMonth() is zero-based\r\n var dd = date.getDate();\r\n\r\n return [date.getFullYear(),\r\n (mm>9 ? '' : '0') + mm,\r\n (dd>9 ? '' : '0') + dd\r\n ].join('-');\r\n}\r\n\r\nfunction isPhoneNumber(number){\r\n return /^(\\+[1-9][0-9]*)?([ ]?\\([0-9]*\\)[ ]?|-[0-9]*-)?[0]?([0-9/\\- ]){3,}$/.test(number);\r\n}\r\n\r\nexport {postData, getData, formatDate, isPhoneNumber};\r\n","export default {\r\n getBaseURL () {\r\n var getUrl = window.location;\r\n var path = getUrl.pathname.split('/')[1];\r\n return getUrl.protocol + \"//\" + getUrl.host + ((path === \"DigiTerm\")?\"/DigiTerm\":\"\") + \"/api\";\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Final from './Final';\r\nimport ErrorView from './ErrorView';\r\nimport DatePicker, {registerLocale} from 'react-datepicker';\r\nimport { postData, formatDate, isPhoneNumber } from '../global.js';\r\nimport Config from '../config';\r\nimport de from \"date-fns/locale/de\";\r\nimport {format} from \"date-fns\";\r\nimport {Modal, ModalBody, ModalHeader, ModalFooter} from 'reactstrap';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nexport default class InitialAppointments extends Component {\r\n\r\n apiBaseURL = Config.getBaseURL();\r\n\r\n state = {\r\n selectedOption: \"\",\r\n finished: false,\r\n tokenInvalid: false,\r\n processFailure: false,\r\n contactName: null,\r\n contactTel: null,\r\n comment: null,\r\n counterProposal1Date: null,\r\n counterProposal1Time: null,\r\n counterProposal1ContactName: null,\r\n counterProposal1ContactTel: null,\r\n counterProposal2Date: null,\r\n counterProposal2Time: null,\r\n counterProposal2ContactName: null,\r\n counterProposal2ContactTel: null,\r\n isLoading: false,\r\n newDeadline: null,\r\n appointmentType: \"Vorort\",\r\n showChangeContactForm: false,\r\n updatedContactName: null\r\n }\r\n\r\n minDate = null;\r\n\r\n timeOptions = [];\r\n constructor(props){\r\n super(props);\r\n registerLocale(\"de\", de);\r\n\r\n //Select Time Options\r\n for (let i = 8; i < 16; i++) {\r\n this.timeOptions.push()\r\n if(i<15) this.timeOptions.push()\r\n }\r\n\r\n //Determine min date\r\n let firstAppointment = this.stringToDate(this.props.appointment1.appointment);\r\n let secondAppointment = this.stringToDate(this.props.appointment2.appointment);\r\n\r\n if(firstAppointment >= secondAppointment){\r\n this.minDate = firstAppointment;\r\n }else{\r\n this.minDate = secondAppointment;\r\n }\r\n this.minDate.setDate(this.minDate.getDate() + 1);\r\n\r\n if(this.props.state === \"V1FV\"){\r\n this.state.selectedOption = \"option3\";\r\n }\r\n }\r\n\r\n handleOptionChange = changeEvent => {\r\n\r\n if(changeEvent.target.value !== \"option3\"){\r\n this.setState({\r\n selectedOption: changeEvent.target.value,\r\n counterProposal1Date: null,\r\n counterProposal1Time: null,\r\n counterProposal1ContactName: null,\r\n counterProposal1ContactTel: null,\r\n counterProposal2Date: null,\r\n counterProposal2Time: null,\r\n counterProposal2ContactName: null,\r\n counterProposal2ContactTel: null\r\n });\r\n }else {\r\n this.setState({\r\n selectedOption: changeEvent.target.value\r\n });\r\n }\r\n\r\n };\r\n\r\n sendAnswer = (endpoint, body) => {\r\n let errorMessage = [];\r\n this.setState({isLoading: true});\r\n\r\n postData(this.apiBaseURL + endpoint, body)\r\n .then(response => {\r\n console.log(response);\r\n this.setState({isLoading: false});\r\n\r\n if(response.code === 200){\r\n this.setState({finished: true});\r\n\r\n if(this.state.selectedOption === \"option4\"){\r\n this.setState({newDeadline: response.data.newDate});\r\n }\r\n\r\n }else if(response.code === 400){\r\n if(response.data.errors[0].code === \"1901\" || response.data.errors[0].code === \"2001\" || response.data.errors[0].code === \"2101\"){\r\n errorMessage.push(
  • Bitte Eingaben prüfen.
  • );\r\n }else if(response.data.errors[0].code === \"2003\"){\r\n errorMessage.push(
  • Gegenvorschläge müssen sich voneinander unterscheiden.
  • );\r\n }else if(response.data.errors[0].code === \"2102\"){\r\n errorMessage.push(
  • Aktualisierung nicht mehr möglich.
  • );\r\n }else{\r\n errorMessage.push(
  • Gegenvorschläge sind ab dem {format(this.minDate, \"dd.MM.yyyy\")} erlaubt.
  • );\r\n errorMessage.push(
  • Gegenvorschläge müssen zwischen Montag und Freitag liegen.
  • );\r\n errorMessage.push(
  • Gegenvorschläge dürfen nicht auf Feiertagen liegen.
  • );\r\n errorMessage.push(
  • Gegenvorschläge müssen in der Zukunft liegen.
  • );\r\n }\r\n\r\n this.setState({error: true, errorMessage: errorMessage});\r\n\r\n }else if(response.code === 404){\r\n this.setState({tokenInvalid: true});\r\n\r\n }else {\r\n this.setState({processFailure: true});\r\n }\r\n\r\n });\r\n }\r\n\r\n acceptAppointment = () => {\r\n let errorMessage = [];\r\n\r\n if(!this.state.contactName){\r\n errorMessage.push(
  • Es wurde kein Ansprechpartner-Name angegeben
  • );\r\n }\r\n\r\n if(!this.state.contactTel){\r\n errorMessage.push(
  • Es wurde keine Ansprechpartner-Rufnummer angegeben.
  • );\r\n }\r\n\r\n if(this.state.contactTel && !isPhoneNumber(this.state.contactTel)){\r\n errorMessage.push(
  • Die angegebene Ansprechpartner-Rufnummer ist ungültig.
  • );\r\n }\r\n\r\n if(errorMessage.length > 0){\r\n this.setState({error: true, errorMessage: errorMessage});\r\n return;\r\n }\r\n\r\n console.log(\"accept\");\r\n\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"appointment\": (this.state.selectedOption === \"option1\")? 1 : 2,\r\n \"contact\": this.state.contactName + \", \" + this.state.contactTel,\r\n \"comment\": this.state.comment\r\n };\r\n\r\n this.sendAnswer('/appointments/acceptAppointment', dataBody);\r\n }\r\n\r\n declineAppointment = () => {\r\n let errorMessage = [];\r\n\r\n if(this.state.counterProposal1Date == null || this.state.counterProposal2Date == null){\r\n errorMessage.push(
  • Für jeden Gegenvorschlag muss ein Tag ausgewählt werden.
  • );\r\n }\r\n\r\n if(!this.state.counterProposal1Time || !this.state.counterProposal2Time){\r\n errorMessage.push(
  • Für jeden Gegenvorschlag muss eine Uhrzeit ausgewählt werden.
  • );\r\n }\r\n\r\n if(!this.state.counterProposal1ContactName || !this.state.counterProposal2ContactName){\r\n errorMessage.push(
  • Es wurde kein Ansprechpartner-Name angegeben.
  • );\r\n }\r\n\r\n if(!this.state.counterProposal1ContactTel || !this.state.counterProposal2ContactTel){\r\n errorMessage.push(
  • Es wurde keine Ansprechpartner-Rufnummer angegeben.
  • );\r\n }\r\n\r\n if(this.state.counterProposal1ContactTel\t&& !isPhoneNumber(this.state.counterProposal1ContactTel)){\r\n errorMessage.push(
  • Die angegebene Ansprechpartner-Rufnummer für Terminvorschlag 1 ist ungültig.
  • );\r\n }\r\n\r\n if(this.state.counterProposal2ContactTel\t&& !isPhoneNumber(this.state.counterProposal2ContactTel)){\r\n errorMessage.push(
  • Die angegebene Ansprechpartner-Rufnummer für Terminvorschlag 2 ist ungültig.
  • );\r\n }\r\n\r\n if(errorMessage.length > 0){\r\n this.setState({error: true, errorMessage: errorMessage});\r\n return;\r\n }\r\n\r\n console.log(\"decline\");\r\n\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"appointment1\": {\r\n \"dateTime\": formatDate(this.state.counterProposal1Date) + \"T\" + this.state.counterProposal1Time + \".000Z\",\r\n \"contact\": this.state.counterProposal1ContactName + \", \" + this.state.counterProposal1ContactTel\r\n },\r\n \"appointment2\": {\r\n \"dateTime\": formatDate(this.state.counterProposal2Date) + \"T\" + this.state.counterProposal2Time + \".000Z\",\r\n \"contact\": this.state.counterProposal2ContactName + \", \" + this.state.counterProposal2ContactTel\r\n },\r\n \"comment\": this.state.comment\r\n };\r\n\r\n this.sendAnswer('/appointments/declineAppointment', dataBody);\r\n }\r\n\r\n extendAppointmentDeadline = () => {\r\n\r\n console.log(\"extend\");\r\n const dataBody = {\r\n \"token\": this.props.token\r\n };\r\n\r\n this.sendAnswer('/appointments/extendAppointmentDeadline', dataBody);\r\n }\r\n\r\n updateContactName = () => {\r\n\r\n if(!this.state.updatedContactName){\r\n return;\r\n }\r\n\r\n console.log(\"update\");\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"email\": this.state.updatedContactName\r\n };\r\n\r\n this.sendAnswer('/appointments/updateCustomerEmail', dataBody);\r\n }\r\n\r\n showUpdateContactForm = (e) => {\r\n e.preventDefault();\r\n this.setState({showChangeContactForm: true});\r\n }\r\n\r\n cancelModal = (e) => {\r\n e.preventDefault();\r\n this.setState({showWarning: false});\r\n this.setState({showChangeContactForm: false});\r\n };\r\n\r\n handleFormSubmit = formSubmitEvent => {\r\n formSubmitEvent.preventDefault();\r\n this.setState({error: false, errorMessage: null});\r\n\r\n document.body.scrollTop = 0; // Safari\r\n document.documentElement.scrollTop = 0; // Chrome, Firefox, IE und Opera\r\n\r\n if(this.state.selectedOption === \"option3\"){\r\n this.declineAppointment();\r\n\r\n }else if(this.state.selectedOption === \"option4\"){\r\n this.setState({showWarning: true});\r\n\r\n }else if(this.state.selectedOption !== \"\" && this.state.selectedOption !== \"option3\"){\r\n this.acceptAppointment();\r\n\r\n }else{\r\n let errorMessage =
  • Es wurde kein Vorschlag ausgewählt.
  • ;\r\n this.setState({error: true, errorMessage: errorMessage});\r\n }\r\n };\r\n\r\n isWeekday = date => {\r\n let day = date.getDay();\r\n return day !== 0 && day !== 6;\r\n };\r\n\r\n stringToDate = string => {\r\n let shortStringDate = string.substring(0, 10);\r\n let parts = shortStringDate.split('.');\r\n return new Date(parts[2], parts[1] - 1, parts[0]);\r\n }\r\n\r\n render () {\r\n\r\n if(this.state.finished){\r\n return ;\r\n }else if(this.state.tokenInvalid || this.state.processFailure){\r\n return ;\r\n }\r\n\r\n let formHead = \"\";\r\n\r\n if(this.props.state === \"V1\"){\r\n formHead = (\r\n
    \r\n

    * Bitte wählen Sie einen der Vorschläge zur {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")} bis spätestens {this.props.deadline} aus:

    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }else{\r\n formHead = (\r\n
    \r\n

    Beim letzten Mal haben Sie die einmalige Fristverlängerung durchgeführt, damit sind unsere Terminvorschläge nun nicht mehr\r\n gültig. Bitte tragen sie nachfolgend zwei Terminvorschläge für die {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")} der Endstelle bis spätestens {this.props.deadline} ein.

    \r\n
    \r\n );\r\n }\r\n\r\n let counterProposal = \"\";\r\n\r\n if(this.state.selectedOption === \"option3\"){\r\n counterProposal = (\r\n
    \r\n {(this.props.state === \"V1\")?

    Bitte nennen Sie uns zwei Gegenvorschläge:

    : \"\"}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({counterProposal1Date: date})}\r\n locale=\"de\"\r\n dateFormat=\"dd.MM.yyyy\"\r\n autoComplete=\"off\"\r\n filterDate={this.isWeekday}\r\n minDate={this.minDate}/>\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n this.setState({counterProposal1ContactName: e.target.value})}>\r\n
    \r\n
    \r\n \r\n this.setState({counterProposal1ContactTel: e.target.value})}>\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({counterProposal2Date: date})}\r\n locale=\"de\"\r\n dateFormat=\"dd.MM.yyyy\"\r\n autoComplete=\"off\"\r\n filterDate={this.isWeekday}\r\n minDate={this.minDate}/>\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n this.setState({counterProposal2ContactName: e.target.value})}>\r\n
    \r\n
    \r\n \r\n this.setState({counterProposal2ContactTel: e.target.value})}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    DigiTerm - Digitale Terminvereinbarung

    \r\n

    {(this.props.inspectionType === \"A\"? \"Vertrag\": \"Auftragspositionsnummer\")} {this.props.contract}, {this.props.location.address}, {this.props.location.postalcode} {this.props.location.city}

    \r\n\r\n {(this.state.error)?\r\n
    \r\n
      \r\n {this.state.errorMessage}\r\n
    \r\n
    :\r\n \"\"\r\n }\r\n\r\n {formHead}\r\n\r\n {counterProposal}\r\n\r\n {(this.state.selectedOption !== \"option3\" && this.state.selectedOption !== \"option4\")?\r\n
    \r\n
    \r\n \r\n this.setState({contactName: e.target.value})}>\r\n
    \r\n
    \r\n \r\n this.setState({contactTel: e.target.value})}>\r\n
    \r\n
    :\r\n \"\"\r\n }\r\n\r\n {(this.state.selectedOption !== \"option4\")?\r\n
    \r\n \r\n \r\n
    :\r\n \"\"\r\n }\r\n\r\n
    \r\n \r\n\r\n\r\n {(this.props.isUpdateEmailAllowed)?\r\n :\r\n \"\"\r\n }\r\n\r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \"Bitte\r\n \r\n \r\n\r\n \r\n Achtung\r\n \r\n

    Wenn Sie sich für eine Fristverlängerung entscheiden, dann werden die Telekom gemachten\r\n Terminvorschläge automatisch verworfen und können nicht mehr wahrgenommen werden.

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n Änderung des Ansprechpartners zur Terminvereinbarung\r\n \r\n {(this.state.error)?\r\n
    \r\n
      \r\n {this.state.errorMessage}\r\n
    \r\n
    :\r\n \"\"\r\n }\r\n\r\n

    Über dieses Formular können Sie die Email Adresse des Ansprechpartners zur Terminvereinbarung verändern.\r\n Bitte beachten Sie das eine Änderung nur einmalig möglich ist und nur für die konkrete Terminabstimmung zum\r\n Auskundungstermin dient.

    \r\n\r\n
    \r\n \r\n this.setState({updatedContactName: e.target.value})}>\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Final from './Final';\r\nimport ErrorView from './ErrorView';\r\nimport Config from '../config';\r\nimport { postData, isPhoneNumber } from '../global.js';\r\nimport {Modal, ModalBody, ModalHeader, ModalFooter} from 'reactstrap';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nexport default class SecondAppointment extends Component {\r\n\r\n apiBaseURL = Config.getBaseURL();\r\n\r\n state = {\r\n finished: false,\r\n tokenInvalid: false,\r\n processFailure: false,\r\n contactName: null,\r\n contactTel: null,\r\n comment: \"\",\r\n isLoading: false,\r\n showDeclineWarning: false,\r\n }\r\n\r\n isFormValid = () => {\r\n let errorMessage = [];\r\n\r\n if(!this.state.contactName){\r\n errorMessage.push(
  • Es wurde kein Ansprechpartner-Name angegeben
  • );\r\n }\r\n\r\n if(!this.state.contactTel){\r\n errorMessage.push(
  • Es wurde keine Ansprechpartner-Rufnummer angegeben
  • );\r\n }\r\n\r\n if(this.state.contactTel && !isPhoneNumber(this.state.contactTel)){\r\n errorMessage.push(
  • Die angegebene Ansprechpartner-Rufnummer ist ungültig.
  • );\r\n }\r\n\r\n if(errorMessage.length > 0){\r\n this.setState({error: true, errorMessage: errorMessage});\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n sendAnswer = (endpoint, body) => {\r\n let errorMessage = [];\r\n this.setState({isLoading: true});\r\n\r\n postData(this.apiBaseURL + endpoint, body)\r\n .then(response => {\r\n console.log(response);\r\n this.setState({isLoading: false});\r\n\r\n if(response.code === 200){\r\n this.setState({finished: true});\r\n\r\n }else if(response.code === 400){\r\n\r\n if(response.data.errors[0].code === \"2102\"){\r\n errorMessage.push(
  • Aktualisierung nicht mehr möglich.
  • );\r\n }else{\r\n errorMessage.push(
  • Bitte Eingaben prüfen.
  • );\r\n }\r\n\r\n this.setState({error: true, errorMessage: errorMessage});\r\n\r\n }else if(response.code === 404){\r\n this.setState({tokenInvalid: true});\r\n\r\n }else {\r\n this.setState({processFailure: true});\r\n }\r\n\r\n });\r\n }\r\n\r\n acceptAppointment = (e) => {\r\n e.preventDefault();\r\n this.setState({error: false, errorMessage: null});\r\n\r\n document.body.scrollTop = 0; // Safari\r\n document.documentElement.scrollTop = 0; // Chrome, Firefox, IE und Opera\r\n\r\n if(!this.isFormValid()){\r\n return;\r\n }\r\n\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"appointment\": 1,\r\n \"contact\": this.state.contactName + \", \" + this.state.contactTel,\r\n \"comment\": this.state.comment\r\n };\r\n\r\n this.sendAnswer('/appointments/acceptAppointment', dataBody);\r\n };\r\n\r\n declineAppointment = (e) => {\r\n e.preventDefault();\r\n this.setState({error: false, errorMessage: null});\r\n\r\n document.body.scrollTop = 0; // Safari\r\n document.documentElement.scrollTop = 0; // Chrome, Firefox, IE und Opera\r\n\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"appointment1\": {\r\n \"dateTime\": \"\",\r\n \"contact\": \"\"\r\n },\r\n \"appointment2\": {\r\n \"dateTime\": \"\",\r\n \"contact\": \"\"\r\n },\r\n \"comment\": this.state.comment\r\n };\r\n\r\n this.sendAnswer('/appointments/declineAppointment', dataBody);\r\n };\r\n\r\n askDeclineAppointment = (e) => {\r\n e.preventDefault();\r\n this.setState({showDeclineWarning: true});\r\n this.setState({commentCache: this.state.comment});\r\n this.setState({comment: \"\"});\r\n };\r\n\r\n cancelDeclineAppointment = (e) => {\r\n e.preventDefault();\r\n this.setState({showDeclineWarning: false});\r\n this.setState({comment: this.state.commentCache});\r\n };\r\n\r\n render () {\r\n\r\n if(this.state.finished){\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }else if(this.state.tokenInvalid || this.state.processFailure){\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n let location = this.props.location;\r\n let appoint = this.props.appointment;\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n DigiTerm - Digitale Terminvereinbarung\r\n

    \r\n

    {(this.props.inspectionType === \"A\"? \"Vertrag\": \"Auftragspositionsnummer\")} {this.props.contract}, {location.address}, {location.postalcode} {location.city}

    \r\n\r\n {(this.state.error)?\r\n
    \r\n
      \r\n {this.state.errorMessage}\r\n
    \r\n
    :\r\n \"\"\r\n }\r\n\r\n {(this.props.timeoutEscalation)?\r\n
    \r\n

    Wir hatten Sie über unsererseits mögliche Termine zur {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung in Ihren\": \"telefonischen Auskundnung Ihrer\")} Räumlichkeiten informiert und Sie gebeten,\r\n uns die an der an der Begehung teilnehmende(n) Person(en) zu benennen.

    \r\n\r\n

    Bedauerlicherweise sind Sie unserer Bitte nicht nachgekommen.

    \r\n\r\n

    Die Begehung ist jedoch zur Auftragsausführung zwingend erforderlich. Final können wir Ihnen nur noch den folgenden\r\n Termin für die {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")} Ihrer Endstelle anbieten und möchten Sie bitten, die Durchführung zu diesem Zeitpunkt zu\r\n ermöglichen. Bitte geben Sie uns bis spätestens {this.props.deadline} eine Rückmeldung.

    \r\n
    \r\n :\r\n
    \r\n

    Sie hatten sich entschieden unsere ersten zwei Terminvorschläge abzulehnen und stattdessen zwei\r\n eigene Gegenvorschläge einzureichen. Wir haben diese geprüft, müssen Ihnen aber leider mitteilen,\r\n dass es uns aus organisatorischen Gründen nicht möglich ist, diese anzunehmen.

    \r\n\r\n

    Final können wir Ihnen nun noch den folgenden Termin für die {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")} Ihrer Endstelle anbieten und\r\n möchten Sie bitten, die Durchführung zu diesem Zeitpunkt zu ermöglichen.\r\n Bitte geben Sie uns bis spätestens {this.props.deadline} eine Rückmeldung.

    \r\n
    \r\n }\r\n\r\n

    {appoint.appointment}

    \r\n\r\n
    \r\n \r\n this.setState({contactName: e.target.value})}>\r\n
    \r\n\r\n
    \r\n \r\n this.setState({contactTel: e.target.value})}>\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \"Bitte\r\n \r\n \r\n\r\n \r\n Achtung\r\n \r\n

    Wollen Sie den festgesetzten Termin wirklich ablehnen? Eine {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")} ist dann {(this.props.appointmentType === \"Vorort\"? \"an Ihrem\": \"für Ihren\")} Standort NICHT mehr möglich.

    \r\n

    Ihre Anmerkung wird bei der Ablehnung des festgesetzten Termins gelöscht.

    \r\n
    \r\n \r\n {' '}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Final from './Final';\r\nimport ErrorView from './ErrorView';\r\nimport Config from '../config';\r\nimport { postData, isPhoneNumber } from '../global.js';\r\nimport {Modal, ModalBody} from 'reactstrap';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nexport default class UpdateAppointment extends Component {\r\n\r\n apiBaseURL = Config.getBaseURL();\r\n\r\n state = {\r\n finished: false,\r\n tokenInvalid: false,\r\n processFailure: false,\r\n contactName: null,\r\n contactTel: null,\r\n comment: null,\r\n isLoading: false\r\n }\r\n\r\n isFormValid = () => {\r\n let errorMessage = [];\r\n\r\n if(!this.state.contactName){\r\n errorMessage.push(
  • Es wurde kein Ansprechpartner-Name angegeben
  • );\r\n }\r\n\r\n if(!this.state.contactTel){\r\n errorMessage.push(
  • Es wurde keine Ansprechpartner-Rufnummer angegeben
  • );\r\n }\r\n\r\n if(this.state.contactTel && !isPhoneNumber(this.state.contactTel)){\r\n errorMessage.push(
  • Die angegebene Ansprechpartner-Rufnummer ist ungültig.
  • );\r\n }\r\n\r\n if(errorMessage.length > 0){\r\n this.setState({error: true, errorMessage: errorMessage});\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n sendAnswer = (endpoint, body) => {\r\n let errorMessage = [];\r\n this.setState({isLoading: true});\r\n\r\n postData(this.apiBaseURL + endpoint, body)\r\n .then(response => {\r\n console.log(response);\r\n this.setState({isLoading: false});\r\n\r\n if(response.code === 200){\r\n this.setState({finished: true});\r\n\r\n }else if(response.code === 400){\r\n errorMessage.push(
  • Bitte Eingaben prüfen.
  • );\r\n this.setState({error: true, errorMessage: errorMessage});\r\n\r\n }else if(response.code === 404){\r\n this.setState({tokenInvalid: true});\r\n\r\n }else {\r\n this.setState({processFailure: true});\r\n }\r\n\r\n });\r\n }\r\n\r\n updateAppointment = (e) => {\r\n e.preventDefault();\r\n this.setState({error: false, errorMessage: null});\r\n\r\n document.body.scrollTop = 0; // Safari\r\n document.documentElement.scrollTop = 0; // Chrome, Firefox, IE und Opera\r\n\r\n if(!this.isFormValid()){\r\n return;\r\n }\r\n\r\n const dataBody = {\r\n \"token\": this.props.token,\r\n \"contact\": this.state.contactName + \", \" + this.state.contactTel,\r\n \"comment\": this.state.comment\r\n };\r\n\r\n this.sendAnswer('/appointments/updateAppointmentContact', dataBody);\r\n };\r\n\r\n render () {\r\n\r\n if(this.state.finished){\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }else if(this.state.tokenInvalid || this.state.processFailure){\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n let location = this.props.location;\r\n let appoint = this.props.appointment;\r\n\r\n return (\r\n
    \r\n
    \r\n

    DigiTerm - Digitale Terminvereinbarung

    \r\n

    {(this.props.inspectionType === \"A\"? \"Vertrag\": \"Auftragspositionsnummer\")} {this.props.contract}, {location.address}, {location.postalcode} {location.city}

    \r\n\r\n {(this.state.error)?\r\n
    \r\n
      \r\n {this.state.errorMessage}\r\n
    \r\n
    :\r\n \"\"\r\n }\r\n\r\n

    Hier sehen Sie den zwischen uns vereinbarten Termin zur {(this.props.appointmentType === \"Vorort\"? \"Vor-Ort Begehung\": \"telefonischen Auskundnung\")}. Falls Sie es wünschen den übermittelten Ansprechpartner\r\n zu korrigieren, dann füllen Sie bitte das nachfolgende Formular aus.

    \r\n\r\n

    {appoint.appointment}

    \r\n\r\n
    \r\n \r\n this.setState({contactName: e.target.value})}>\r\n
    \r\n\r\n
    \r\n \r\n this.setState({contactTel: e.target.value})}>\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \"Bitte\r\n \r\n \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Layout } from './components/Layout';\r\nimport { Start } from './components/Start';\r\nimport Debug from './components/Debug';\r\nimport ErrorView from './components/ErrorView';\r\nimport InitialAppointments from './components/InitialAppointments';\r\nimport SecondAppointment from './components/SecondAppointment';\r\nimport UpdateAppointment from './components/UpdateAppointment';\r\nimport Config from './config';\r\nimport 'react-app-polyfill/ie9';\r\n\r\nimport './global.css'\r\nimport { getData } from './global.js';\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n apiBaseURL = Config.getBaseURL();\r\n\r\n state = {\r\n token: \"\",\r\n invalidToken: false,\r\n processFailure: false,\r\n firstAttempt: true,\r\n isDebug: false,\r\n isUpdate: false\r\n }\r\n\r\n getTokenFromURL = () => {\r\n let url = window.location.href;\r\n let token = url.substr(url.lastIndexOf(\"/\") + 1);\r\n if(token){\r\n getData(this.apiBaseURL + \"/appointments/getAppointment/\" + token)\r\n .then((response) => {\r\n if(response.code === 200){\r\n let state = response.data.state;\r\n\r\n if(state === \"debug\"){\r\n this.setState({\r\n token: token,\r\n appointment: response.data,\r\n isDebug: true\r\n });\r\n }else if(state === \"DF\"){\r\n this.setState({\r\n token: token,\r\n appointment: response.data,\r\n isUpdate: true\r\n });\r\n }else if(state === \"V1\" || state === \"V1FV\"){\r\n this.setState({\r\n token: token,\r\n appointment: response.data\r\n });\r\n }else{\r\n this.setState({\r\n token: token,\r\n appointment: response.data,\r\n firstAttempt: false\r\n });\r\n }\r\n\r\n }else if(response.code === 404){\r\n console.warn(response);\r\n this.setState({ invalidToken: true});\r\n }else {\r\n console.warn(response);\r\n this.setState({ processFailure: true});\r\n }\r\n });\r\n }else{\r\n this.setState({ invalidToken: true});\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n if(!this.state.token){\r\n this.getTokenFromURL();\r\n }\r\n }\r\n\r\n render () {\r\n let view;\r\n let appointment = this.state.appointment;\r\n\r\n if(this.state.invalidToken || this.state.processFailure){\r\n view = ;\r\n\r\n }else if(this.state.isDebug){\r\n view = ;\r\n\r\n }else if(this.state.isUpdate){\r\n view = ;\r\n\r\n }else if(!this.state.token){\r\n view = ;\r\n\r\n }else if(this.state.firstAttempt){\r\n view = ;\r\n\r\n }else {\r\n view = ;\r\n }\r\n\r\n return (\r\n \r\n {view}\r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport { unregister as unregisterServiceWorker } from './registerServiceWorker';\r\n\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n ,\r\n rootElement);\r\n\r\nunregisterServiceWorker();\r\n\r\n"],"sourceRoot":""}