{"version":3,"sources":["components/ValidationErrors.js","components/ContrattoNuovo.js","components/ClientiDisplay.js","components/ClientiLista.js","components/ClientiModifica.js","components/ClientiNuovo.js","components/FileUploader.js","components/ContrattoDisplay.js","hoc/withAuthentication.js","redux-local/SideBar.js","components/NavBar.js","redux-local/Toasts.js","components/ToastsHost.js","redux-local/CurrentUser.js","components/UserPanel.js","components/Layout.js","components/LoginPane.js","components/SlaDisplay.js","components/MonitoraggioSla.js","components/RecuperoPassword.js","components/TicketDisplay.js","components/TicketList.js","components/RichTextEditor.js","components/TicketNuovo.js","components/UtenteCambioPassword.js","components/UtentiDisplay.js","components/UtentiLista.js","components/UtentiModifica.js","components/UtentiNuovo.js","App.js","redux-local/app-store.js","registerServiceWorker.js","index.js"],"names":["props","errors","filter","e","campo","map","key","errore","className","mostra","onHide","id","useState","descrizione","setDescrizione","descrizioneAssistenza","setDescrizioneAssistenza","erroriValidazione","setErroriValidazione","submitting","setSubmitting","history","useHistory","Modal","show","Header","closeButton","Title","Body","Form","Group","as","Row","Label","column","sm","Col","Control","value","onChange","target","disabled","type","ValidationErrors","Footer","Button","variant","onClick","erroriLocali","trim","push","length","postData","clienteId","casellaAssistenza","axios","post","finally","then","r","data","d","replace","url","contratti","cliente","setCliente","adding","setAdding","useEffect","get","concat","match","params","md","span","offset","Card","ragioneSociale","Table","striped","partitaIva","indirizzo","città","style","textTransform","provincia","email","referente","cancellato","to","delete","onDeleteCliente","goBack","ContrattoNuovo","i","viewUrl","clienti","setClienti","console","log","setRagioneSociale","setPartitaIva","setIndirizzo","setCittà","setProvincia","setEmail","setReferente","setUrl","validationErrors","setValidationErrors","pattern","maxlength","toUpperCase","test","put","block","FormFile","MinutiEditor","valueFormatted","gravitàId","contatore","focused","setFocused","onFocus","onBlur","FasciaEditRow","giorno","giornoLabel","onToggleAttivo","checked","Check","attivo","format","showSecond","moment","inizio","allowEmpty","fine","previuosId","contrattoId","useRouteMatch","contratto","setContratto","noteAssistenza","setNoteAssistenza","gravitaLista","setGravitaLista","statiLista","setStatiLista","contatoriLista","setContatoriLista","lun","mar","mer","gio","ven","sab","dom","assistenzaFasceLista","setAssistenzaFasceLista","allegatoAssistenza","setAllegatoAssistenza","allegatoAssistenzaDataUri","setAllegatoAssistenzaDataUri","reader","FileReader","onload","result","readAsDataURL","readyState","abort","cancelToken","CancelToken","source","token","stati","gravità","contatori","assistenzaFasce","forEach","cancel","updateFascia","prop","toggleAttivo","updateContatoreGravità","valueNumber","isNaN","Number","gravitàSoglie","clienteViewUrl","evt","gravita","nome","modificata","nuovo","patch","stato","modificato","fasceModificate","Object","keys","fasceAssistenza","cont","grav","FormGroup","FileUploader","files","custom","data-browse","label","name","allegati","filename","dataUri","Component","currentUser","useSelector","s","isAnonymous","defaultState","sliding","collapsed","NavItem","path","text","store","allowedActions","data-widget","role","data-accordion","indexOf","nextToastId","actionValidationError","kind","location","useLocation","dispatch","useDispatch","toasts","pathname","Toast","delay","autohide","onClose","anonymousUser","displayName","loadCurrentRequest","actionUpdateCurrentUser","getState","validateStatus","status","user","backgroundColor","color","cursor","onLogout","fontSize","actionLogout","error","Layout","border","background","href","Nav","UserPanel","NavBar","children","src","alt","width","ToastsHost","LoginPane","recuperoModalBody","username","setUsername","password","setPassword","recuperoModalShow","setRecuperoModalShow","recuperoModalEmail","setRecuperoModalEmail","recuperoModalSent","setRecuperoModalSent","size","noexcept","InputGroup","FormControl","onKeyDown","onLogin","placeholder","Append","Text","decoratePromise","p","success","promise","jres","SlaDisplay","ticket","c","totalMinutes","toFixed","codice","MonitoraggioSla","contrattiLista","setContrattiLista","contrattoSelezionato","setContrattoSelezionato","richiesteLista","setRichiesteLista","mostraSla","setMostraSla","setTicket","a","response","apiSla","richieste","contrattoSelezionatoValue","ev","find","Tabs","fill","defaultActiveKey","Tab","eventKey","title","Pane","Accordion","listaTicketSla","tag","listaTicket","testoSla","groups","richiesta","sezione","tickets","Toggle","Collapse","creaRichiestaPanel","textAlign","titolo","aria-hidden","done","setDone","passwordCheck","setPasswordCheck","query","search","queryMatch","exec","decodeURIComponent","onReset","base64Token","toolbarConfig","display","INLINE_STYLE_BUTTONS","BLOCK_TYPE_BUTTONS","HISTORY_BUTTONS","undo","redo","TicketDisplay","attivita","ReactRTE","createEmptyValue","nuovaAttivitaCommento","setNuovaAttivitaCommento","nuovaNotaCommento","setNuovaNotaCommento","commentiDaVisualizzare","setCommentiDaVisualizzare","commentoFileObject","setCommentoFileObject","commentoFileDataUri","setCommentoFileDataUri","commentoFileInputClearKey","setCommentoFileInputClearKey","attivitaFileObject","setAttivitaFileObject","attivitaFileDataUri","setAttivitaFileDataUri","attivitaFileInputClearKey","setAttivitaFileInputClearKey","getTicket","attività","j","timeStamp","Date","parse","commenti","mostraNoteAssistenza","allegatiAssistenza","allegato","OverlayTrigger","overlay","Tooltip","download","toLocaleString","utenteDesc","createValueFromString","testo","readOnly","allegatoUrl","statoDesc","description","xs","image","height","Container","onNuovaNotaCommento","onCommentoFileSelected","v","commento","toString","charCodeAt","azione","allegatoFilename","allegatoDataUri","etichetta","onAttivitaFileSelected","messaggio","withAuthentication","richiesteListaFiltrate","setRichiesteListaFiltrate","clienteScelto","setClienteScelto","setGroups","idClientiList","setIdClientiList","index","self","findIndex","idCliente","ragioneSocialeCliente","listaDaRidurre","reduce","acc","parseInt","filterTickets","MyStatefulEditor","state","RichTextEditor","setState","this","clientiLista","setClientiLista","gravitàLista","setGravitàLista","setGravità","setTitolo","setRichiesta","fileObject","setFileObject","fileDataUri","setFileDataUri","responseClientiLista","apiUrl","responseContrattiLista","responseGravitàLista","String","canSubmit","maxLength","reqData","uri","allegatoNome","passwordCorrente","setPasswordCorrente","passwordNuova","setPasswordNuova","passwordNuovaCheck","setPasswordNuovaCheck","React","createElement","validazione","utenteId","utente","setUtente","allowLogin","utenti","setUtenti","setDisplayName","passwordGenera","setPasswordGenera","controlId","generatePassword","userUrl","App","sidebarSliding","sidebar","sidebarCollapsed","handler","window","innerWidth","addEventListener","removeEventListener","document","body","classList","add","remove","AuthenticatedLayout","exact","component","RecuperoPassword","UtenteCambioPassword","ClientiLista","ClientiNuovo","ClientiDisplay","ClientiModifica","UtentiLista","UtentiNuovo","UtentiDisplay","UtentiModifica","ContrattoDisplay","TicketNuovo","TicketList","totalReducer","combineReducers","action","createStore","applyMiddleware","thunkMiddleware","Boolean","hostname","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","EasySupportStore","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.983aab3c.chunk.js","sourcesContent":["import React from 'react';\r\n\r\nexport default props => <>\r\n {props.errors.filter(e => e.campo === props.campo).map(e =>\r\n {e.errore}
)}\r\n;\r\n","import axios from 'axios';\r\nimport React, { useState } from 'react';\r\nimport { Button, Card, Col, Form, Row, Modal, Alert } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport ValidationErrors from './ValidationErrors';\r\n\r\nexport default ({ mostra, onHide, id }) => {\r\n const [descrizione, setDescrizione] = useState('');\r\n const [descrizioneAssistenza, setDescrizioneAssistenza] = useState('');\r\n const [erroriValidazione, setErroriValidazione] = useState([]);\r\n const [submitting, setSubmitting] = useState(false);\r\n const history = useHistory();\r\n\r\n\r\n return <>\r\n \r\n \r\n Crea un nuovo contratto\r\n \r\n \r\n \r\n Nome Contratto\r\n \r\n setDescrizione(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n Descrizione Assistenza\r\n \r\n setDescrizioneAssistenza(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n function onContrattoSubmit() {\r\n const erroriLocali = [];\r\n\r\n if (descrizione.trim() === '')\r\n erroriLocali.push({ campo: 'descrizione', errore: 'Inserire un nome per il contratto' });\r\n if (descrizione.trim() === '')\r\n erroriLocali.push({ campo: 'descrizioneAssistenza', errore: \"Inserire la descrizione dell'assistenza\" });\r\n\r\n setErroriValidazione(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n const postData = {\r\n clienteId: id,\r\n descrizione: descrizione,\r\n casellaAssistenza: 'f.bellia@easy-net.it',\r\n descrizioneAssistenza: descrizioneAssistenza\r\n };\r\n setSubmitting(true);\r\n axios\r\n .post('/api/Contratti', postData)\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => history.replace(d.url));\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Table, Button, Row } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport ContrattoNuovo from './ContrattoNuovo';\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n const [cliente, setCliente] = useState(() => ({\r\n contratti: []\r\n }));\r\n const [submitting, setSubmitting] = useState(false);\r\n const [adding, setAdding] = useState(false);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Clienti/'.concat(props.match.params.id))\r\n .then(r => r.data)\r\n .then(d => setCliente(d))\r\n }, [props.match.params.id]);\r\n\r\n return \r\n \r\n \r\n
Cliente: {cliente.ragioneSociale}
\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 \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
Ragione sociale{cliente.ragioneSociale}
Partita IVA{cliente.partitaIva}
Indirizzo{cliente.indirizzo}
Città{cliente.città}
Provincia{cliente.provincia}
E-mail{cliente.email}
Referente{cliente.referente}
Attivo{cliente.cancellato ? \"No\" : \"Sì\"}
\r\n {cliente.cancellato ? null : <>\r\n Modifica cliente\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
Contratti
\r\n \r\n {adding ? setAdding(false)} /> : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cliente.contratti.map((e, i) => \r\n \r\n )}\r\n \r\n
Contratto
\r\n \r\n {e.descrizione}\r\n \r\n
\r\n
\r\n
\r\n ;\r\n\r\n function onDeleteCliente() {\r\n if (submitting)\r\n return;\r\n\r\n setSubmitting(true);\r\n axios\r\n .delete('/api/Clienti/'.concat(props.match.params.id))\r\n .finally(() => setSubmitting(false))\r\n .then(r => axios\r\n .get('/api/Clienti/'.concat(props.match.params.id))\r\n .then(r => r.data)\r\n .then(d => setCliente(d)))\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Table } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default props => {\r\n const [clienti, setClienti] = useState([]);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Clienti')\r\n .then(r => r.data)\r\n .then(d => { setClienti(d.clienti); console.log(clienti) });\r\n }, []);\r\n\r\n return \r\n \r\n \r\n \r\n

Clienti

\r\n Registra nuovo cliente\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {clienti.map((e, i) => \r\n \r\n )}\r\n \r\n
Ragione Sociale
\r\n \r\n {e.ragioneSociale}\r\n \r\n
\r\n
\r\n
\r\n ;\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Card, Col, Table, Form, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ValidationErrors from './ValidationErrors';\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n\r\n const [ragioneSociale, setRagioneSociale] = useState('');\r\n const [partitaIva, setPartitaIva] = useState('');\r\n const [indirizzo, setIndirizzo] = useState('');\r\n const [città, setCittà] = useState('');\r\n const [provincia, setProvincia] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [referente, setReferente] = useState('');\r\n const [url, setUrl] = useState('');\r\n const [submitting, setSubmitting] = useState(false);\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n const [cliente, setCliente] = useState(() => ({\r\n contratti: []\r\n }));\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Clienti/'.concat(props.match.params.id))\r\n .then(r => r.data)\r\n .then(d => {\r\n setCliente(d);\r\n setRagioneSociale(d.ragioneSociale);\r\n setPartitaIva(d.partitaIva);\r\n setIndirizzo(d.indirizzo);\r\n setCittà(d.città);\r\n setProvincia(d.provincia);\r\n setEmail(d.email);\r\n setReferente(d.referente);\r\n setUrl(d.url);\r\n });\r\n }, [props.match.params.id]);\r\n\r\n return \r\n \r\n \r\n Modifica cliente: {cliente.ragioneSociale}\r\n \r\n
\r\n \r\n \r\n Ragione Sociale\r\n \r\n setRagioneSociale(e.target.value)}\r\n className=\"form-control\" type=\"text\" pattern=\"^\\d{11}$\" />\r\n \r\n \r\n \r\n \r\n Partita IVA\r\n \r\n setPartitaIva(e.target.value)}\r\n className=\"form-control\" type=\"text\" maxlength=\"11\" />\r\n \r\n \r\n \r\n \r\n Indirizzo\r\n \r\n setIndirizzo(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Città\r\n \r\n setCittà(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Provincia\r\n \r\n setProvincia(e.target.value.toUpperCase())}\r\n className=\"form-control\" type=\"text\" maxlength=\"2\" />\r\n \r\n \r\n \r\n \r\n E-Mail\r\n \r\n setEmail(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Referente\r\n \r\n setReferente(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ;\r\n\r\n function onUpdateCliente() {\r\n if (submitting)\r\n return;\r\n\r\n var erroriLocali = [];\r\n if (ragioneSociale === '')\r\n erroriLocali.push({ campo: 'ragioneSociale', errore: 'Inserire la ragione sociale' });\r\n if (partitaIva === '')\r\n erroriLocali.push({ campo: 'partitaIva', errore: 'Inserire la partita IVA' });\r\n else if (!/^\\d{11}$/.test(partitaIva))\r\n erroriLocali.push({ campo: 'partitaIva', errore: 'La partita IVA deve contenere 11 numeri' });\r\n if(provincia !== '')\r\n if (!/^[a-zA-Z]{2}$/i.test(provincia))\r\n erroriLocali.push({ campo: 'provincia', errore: 'La provincia deve contenere 2 lettere' });\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n const data = {\r\n ragioneSociale: ragioneSociale,\r\n partitaIva: partitaIva,\r\n indirizzo: indirizzo,\r\n città: città,\r\n provincia: provincia,\r\n email: email,\r\n referente: referente\r\n };\r\n setSubmitting(true);\r\n axios\r\n .put('/api/Clienti/'.concat(props.match.params.id), data)\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => history.replace(url));\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport React, { useState } from 'react';\r\nimport { Button, Card, Col, Form, Row } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport ValidationErrors from './ValidationErrors';\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n\r\n const [ragioneSociale, setRagioneSociale] = useState('');\r\n const [partitaIva, setPartitaIva] = useState('');\r\n const [indirizzo, setIndirizzo] = useState('');\r\n const [città, setCittà] = useState('');\r\n const [provincia, setProvincia] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [referente, setReferente] = useState('');\r\n const [submitting, setSubmitting] = useState(false);\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n return \r\n \r\n \r\n Registra un nuovo cliente\r\n \r\n
\r\n \r\n \r\n Ragione Sociale\r\n \r\n setRagioneSociale(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n Partita IVA\r\n \r\n setPartitaIva(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n Indirizzo\r\n \r\n setIndirizzo(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Città\r\n \r\n setCittà(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Provincia\r\n \r\n setProvincia(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n E-Mail\r\n \r\n setEmail(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n Referente\r\n \r\n setReferente(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n Salva\r\n \r\n
\r\n
\r\n ;\r\n\r\n function onSubmit() {\r\n if (submitting)\r\n return;\r\n var erroriLocali = [];\r\n if (ragioneSociale === '')\r\n erroriLocali.push({ campo: 'ragioneSociale', errore: 'Inserire la ragione sociale' });\r\n if (partitaIva === '')\r\n erroriLocali.push({ campo: 'partitaIva', errore: 'Inserire la partita IVA' });\r\n else if (!/^\\d{11}$/.test(partitaIva))\r\n erroriLocali.push({ campo: 'partitaIva', errore: 'La partita IVA deve contenere 11 numeri' });\r\n if (provincia !== '')\r\n if (!/^[a-z]{2}$/i.test(provincia))\r\n erroriLocali.push({ campo: 'provincia', errore: 'La provincia deve contenere 2 lettere' });\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n const data = {\r\n ragioneSociale: ragioneSociale,\r\n partitaIva: partitaIva,\r\n indirizzo: indirizzo,\r\n città: città,\r\n provincia: provincia,\r\n email: email,\r\n referente: referente\r\n };\r\n\r\n setSubmitting(true);\r\n axios\r\n .post('/api/Clienti', data)\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => { history.replace(d.url); console.log(d.url) });\r\n }\r\n};\r\n","import React from 'react';\r\nimport { FormFile } from 'react-bootstrap';\r\n\r\nexport default props => {\r\n return ;\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Table, Button, FormGroup, FormLabel, Row, Form } from 'react-bootstrap';\r\nimport { Link, useHistory, useRouteMatch } from 'react-router-dom';\r\nimport TimePicker from 'rc-time-picker';\r\nimport moment from 'moment';\r\nimport 'rc-time-picker/assets/index.css';\r\nimport FileUploader from './FileUploader';\r\n\r\nconst MinutiEditor = ({ value, onChange, type, gravitàId, contatore, ...props }) => {\r\n const [focused, setFocused] = useState(false);\r\n\r\n var valueFormatted;\r\n\r\n if (!value)\r\n valueFormatted = '';\r\n else if (focused)\r\n valueFormatted = value;\r\n else\r\n valueFormatted = ''.concat(value, ' Minuti')\r\n\r\n return onChange(contatore, gravitàId, e.target.value)} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)}\r\n type={focused ? type : \"text\"} {...props}>;\r\n}\r\n\r\nconst FasciaEditRow = ({ value, giorno, onChange, className, giornoLabel, onToggleAttivo }) => {\r\n const [checked, setChecked] = useState(true)\r\n return <>\r\n onToggleAttivo(giorno)}\r\n />\r\n {giornoLabel}\r\n Ora inizio\r\n onChange(giorno, 'inizio', e && e.format('HH:mm:ss'))} disabled={!value.attivo} showSecond={false}\r\n value={moment(!value ? null : value.inizio, \"HH:mm:ss\")} allowEmpty={false} />\r\n Ora fine\r\n onChange(giorno, 'fine', e && e.format('HH:mm:ss'))} disabled={!value.attivo} showSecond={false}\r\n value={moment(!value ? null : value.fine, \"HH:mm:ss\")} allowEmpty={false} />\r\n \r\n}\r\n\r\nvar previuosId = 0;\r\n\r\nexport default props => {\r\n const match = useRouteMatch();\r\n const contrattoId = match.params.id;\r\n\r\n const [contratto, setContratto] = useState({});\r\n const [noteAssistenza, setNoteAssistenza] = useState('');\r\n\r\n const [gravitaLista, setGravitaLista] = useState([]);\r\n const [statiLista, setStatiLista] = useState([]);\r\n const [contatoriLista, setContatoriLista] = useState([]);\r\n const [assistenzaFasceLista, setAssistenzaFasceLista] = useState({\r\n lun: {},\r\n mar: {},\r\n mer: {},\r\n gio: {},\r\n ven: {},\r\n sab: {},\r\n dom: {}\r\n });\r\n\r\n const [submitting, setSubmitting] = useState(false);\r\n const [allegatoAssistenza, setAllegatoAssistenza] = useState(null);\r\n const [allegatoAssistenzaDataUri, setAllegatoAssistenzaDataUri] = useState('');\r\n\r\n useEffect(() => {\r\n if (!allegatoAssistenza) {\r\n setAllegatoAssistenzaDataUri('');\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.onload = e => setAllegatoAssistenzaDataUri(e.target.result);\r\n reader.readAsDataURL(allegatoAssistenza);\r\n\r\n return () => {\r\n if (reader.readyState === 'LOADING')\r\n reader.abort();\r\n };\r\n }, [allegatoAssistenza]);\r\n\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n axios\r\n .get('/api/Contratti/'.concat(contrattoId), { cancelToken: cancelToken.token })\r\n .then(r => r.data)\r\n .then(d => {\r\n setContratto(d);\r\n setStatiLista(d.stati);\r\n setGravitaLista(d.gravità);\r\n setContatoriLista(d.contatori);\r\n setNoteAssistenza(d.noteAssistenza);\r\n\r\n const assistenzaFasceLista = d.assistenzaFasce;\r\n ['lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'].forEach(e => {\r\n if (!assistenzaFasceLista[e])\r\n assistenzaFasceLista[e] = {\r\n inizio: '09:00:00',\r\n fine: '18:00:00',\r\n attivo: false\r\n };\r\n else\r\n assistenzaFasceLista[e].attivo = true;\r\n });\r\n\r\n setAssistenzaFasceLista(assistenzaFasceLista);\r\n });\r\n\r\n return () => cancelToken.cancel();\r\n }, [contrattoId]);\r\n\r\n const updateGravità = (gravita, nome) => {\r\n setGravitaLista(gravitaLista.map(e => {\r\n if (e !== gravita)\r\n return e;\r\n else\r\n return {\r\n ...e,\r\n descrizione: nome,\r\n modificata: true\r\n };\r\n }));\r\n };\r\n\r\n const aggiungiGravità = () => {\r\n setGravitaLista([...gravitaLista, {\r\n descrizione: '',\r\n nuovo: true,\r\n id: previuosId--\r\n }])\r\n }\r\n\r\n const salvaGravità = () => {\r\n axios\r\n .patch('/api/Contratti/'.concat(contrattoId, '/Gravita'), { gravita: gravitaLista })\r\n .then(r => axios\r\n .get('/api/Contratti/'.concat(contrattoId))\r\n .then(r => r.data)\r\n .then(d => setGravitaLista(d.gravità)));\r\n\r\n }\r\n\r\n const updateStato = (stato, nome) => {\r\n setStatiLista(statiLista.map(e => {\r\n if (e !== stato)\r\n return e;\r\n else\r\n return {\r\n ...e,\r\n descrizione: nome,\r\n modificato: true\r\n };\r\n }));\r\n };\r\n\r\n const aggiungiStato = () => {\r\n setStatiLista([...statiLista, {\r\n descrizione: '',\r\n nuovo: true\r\n }])\r\n }\r\n\r\n const salvaStato = () => {\r\n axios\r\n .patch('/api/Contratti/'.concat(contrattoId, '/Stati'), { stati: statiLista })\r\n .then(r => axios\r\n .get('/api/Contratti/'.concat(contrattoId))\r\n .then(r => r.data)\r\n .then(d => setStatiLista(d.stati))\r\n );\r\n }\r\n\r\n const updateFascia = (giorno, prop, value) => {\r\n setAssistenzaFasceLista({\r\n ...assistenzaFasceLista,\r\n [giorno]: {\r\n ...assistenzaFasceLista[giorno],\r\n [prop]: value\r\n }\r\n });\r\n }\r\n\r\n const toggleAttivo = (giorno) => {\r\n setAssistenzaFasceLista({\r\n ...assistenzaFasceLista,\r\n [giorno]: {\r\n ...assistenzaFasceLista[giorno],\r\n attivo: !assistenzaFasceLista[giorno].attivo\r\n }\r\n });\r\n }\r\n\r\n const salvaFasceAssistenza = () => {\r\n const fasceModificate = {};\r\n Object.keys(assistenzaFasceLista).map((e, i) => {\r\n if (assistenzaFasceLista[e].attivo)\r\n fasceModificate[e] = {\r\n inizio: assistenzaFasceLista[e].inizio,\r\n fine: assistenzaFasceLista[e].fine\r\n }\r\n })\r\n\r\n axios\r\n .patch('/api/Contratti/'.concat(contrattoId, '/FasceAssistenza'), { fasceAssistenza: fasceModificate })\r\n .then(r => axios\r\n .get('/api/Contratti/'.concat(contrattoId))\r\n .then(r => r.data)\r\n );\r\n }\r\n\r\n const updateContatoreNome = (contatore, nome) => {\r\n setContatoriLista(contatoriLista.map(e => {\r\n if (e !== contatore)\r\n return e;\r\n else\r\n return {\r\n ...e,\r\n descrizione: nome,\r\n modificato: true,\r\n };\r\n }));\r\n }\r\n\r\n const updateContatoreGravità = (contatore, gravitàId, value) => {\r\n var valueNumber;\r\n if (isNaN(value))\r\n valueNumber = null;\r\n else\r\n valueNumber = Number(value);\r\n setContatoriLista(contatoriLista.map(e => {\r\n if (e !== contatore)\r\n return e;\r\n else\r\n return {\r\n ...e,\r\n gravitàSoglie: {\r\n ...e.gravitàSoglie,\r\n [gravitàId]: valueNumber\r\n }\r\n };\r\n }))\r\n }\r\n\r\n const salvaContatori = () => {\r\n axios\r\n .patch('/api/Contratti/'.concat(contrattoId, '/Contatori'), { contatori: contatoriLista })\r\n .then(r => axios\r\n .get('/api/Contratti/'.concat(contrattoId))\r\n .then(r => r.data)\r\n );\r\n }\r\n\r\n const onNoteAssistenzaSalva = () => {\r\n axios\r\n .patch('/api/Contratti/'.concat(contrattoId), { noteAssistenza: noteAssistenza })\r\n .then(r => setContratto({\r\n ...contratto,\r\n noteAssistenza: r.data.noteAssistenza\r\n }));\r\n };\r\n\r\n const onAllegatoAssistenzaSalva = () => {\r\n if (submitting)\r\n return;\r\n\r\n axios\r\n .post('/api/Contratti/'.concat(contrattoId, '/Allegati'), {\r\n filename: allegatoAssistenza.name,\r\n dataUri: allegatoAssistenzaDataUri\r\n })\r\n .then(r => {\r\n axios\r\n .get(\"/api/Contratti/\".concat(contrattoId))\r\n .then(r => r.data)\r\n .then(d => {\r\n setContratto(d);\r\n setNoteAssistenza(d.noteAssistenza);\r\n });\r\n });\r\n };\r\n\r\n return \r\n \r\n \r\n \r\n
Contratto: {contratto.descrizione}
\r\n Torna al cliente\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tipo contratto{contratto.descrizione}
\r\n \r\n Gravità\r\n \r\n \r\n {gravitaLista.map(e => updateGravità(e, evt.target.value)}\r\n type=\"text\" />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Stati\r\n \r\n \r\n {statiLista.map(e => updateStato(e, evt.target.value)} type=\"text\" />\r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Orari assistenza\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 \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 Contatori SLA\r\n {contatoriLista.map(cont => \r\n \r\n \r\n \r\n Nome Contatore\r\n updateContatoreNome(cont, evt.target.value)}>\r\n \r\n \r\n \r\n \r\n {gravitaLista.map(grav => \r\n {grav.descrizione}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n Note assistenza\r\n \r\n \r\n setNoteAssistenza(e.target.value)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n Allegati assistenza\r\n \r\n \r\n setAllegatoAssistenza(e.target.files[0])} className=\"btn btn-light\"\r\n custom data-browse=\"Sfoglia\" label={allegatoAssistenza ? allegatoAssistenza.name : 'Seleziona un file'}\r\n onChange={e => setAllegatoAssistenza(e.target.files.length > 0 ? e.target.files[0] : null)} />\r\n \r\n \r\n {(contratto.allegati || []).map(e => \r\n {e.nome}\r\n )}\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n ;\r\n}","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nexport default Component => props => {\r\n const currentUser = useSelector(s => s.currentUser);\r\n\r\n if (currentUser === null)\r\n return <> ;\r\n\r\n return currentUser.isAnonymous ? : ;\r\n};\r\n","const defaultState = {\r\n sliding: false,\r\n collapsed: false\r\n}\r\n\r\nexport const actionSetSliding = sliding => ({\r\n type: 'sidebar-sliding',\r\n data: sliding\r\n});\r\n\r\nexport const actionSetCollapsed = collapsed => ({\r\n type: 'sidebar-collapsed',\r\n data: collapsed\r\n});\r\nexport const actionToggleCollapsed = () => ({\r\n type: 'sidebar-collapsed',\r\n data: 'toggle'\r\n});\r\n\r\nexport const reducer = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case 'sidebar-sliding':\r\n return {\r\n ...state,\r\n sliding: action.data\r\n };\r\n case 'sidebar-collapsed':\r\n return {\r\n ...state,\r\n collapsed: action.data === 'toggle' ? !state.collapsed : action.data\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Route } from 'react-router';\r\nimport { Link, Switch } from 'react-router-dom';\r\n\r\nconst NavItem = props =>
  • \r\n \r\n \r\n \r\n \r\n

    {props.text}

    \r\n \r\n
    \r\n \r\n \r\n \r\n

    {props.text}

    \r\n \r\n
    \r\n
    \r\n
  • ;\r\n\r\nexport default props => {\r\n var currentUser = useSelector(store => store.currentUser);\r\n var allowedActions = currentUser && currentUser.allowedActions ? currentUser.allowedActions : [];\r\n\r\n return
      \r\n {allowedActions.indexOf('RichiesteElenco') < 0 ? null : }\r\n {allowedActions.indexOf('RichiesteSla') < 0 ? null : }\r\n {allowedActions.indexOf('UtentiElenco') < 0 ? null : }\r\n {allowedActions.indexOf('ClientiElenco') < 0 ? null : }\r\n
    \r\n}\r\n","var nextToastId = 1;\r\n\r\nexport const reducer = (state = [], action) => {\r\n switch (action.type) {\r\n case 'ui-popup':\r\n return [...state, {\r\n id: nextToastId++,\r\n text: action.data.text,\r\n kind: action.data.kind\r\n }];\r\n case 'ui-popup-clear':\r\n return [];\r\n case 'ui-popup-close':\r\n return state.filter(e => e.id !== action.data.id)\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const actionValidationError = ({ key, text }) => ({\r\n type: 'ui-popup',\r\n data: {\r\n key: key,\r\n text: text,\r\n kind: 'bg-danger'\r\n }\r\n});\r\n\r\nexport const actionClearValidation = () => ({\r\n type: 'ui-popup-clear',\r\n data: null\r\n});","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Toast } from 'react-bootstrap';\r\nimport { useLocation } from 'react-router-dom'\r\nimport { actionClearValidation } from '../redux-local/Toasts';\r\nimport { useEffect } from 'react';\r\n\r\nexport default props => {\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n const toasts = useSelector(s => s.toasts);\r\n\r\n useEffect(() => {\r\n dispatch(actionClearValidation());\r\n }, [location.pathname]);\r\n\r\n return
    \r\n {toasts.map(e => dispatch({\r\n type: 'ui-popup-close', data: { id: e.id }\r\n })}>\r\n Easy Support\r\n {e.text}\r\n )}\r\n
    ;\r\n};\r\n","import axios from 'axios';\r\n\r\nconst defaultState = null;\r\n\r\nexport const anonymousUser = {\r\n isAnonymous: true,\r\n displayName: 'Utente anonimo',\r\n allowedActions: []\r\n};\r\n\r\nconst actionResetCurrentUser = () => ({\r\n type: 'currentUser-reset',\r\n data: null\r\n});\r\n\r\nexport const actionLogin = (params, decoratePromise) => (dispatch, getState) => {\r\n const promise = axios\r\n .post('/api/Login', {\r\n 'username': params.username,\r\n 'password': params.password\r\n })\r\n .then(r => r.data)\r\n .then(jres => {\r\n dispatch(actionResetCurrentUser());\r\n dispatch(actionUpdateCurrentUser());\r\n\r\n return {\r\n success: jres.success\r\n };\r\n });\r\n\r\n if (typeof (decoratePromise) === 'function')\r\n decoratePromise(promise);\r\n};\r\n\r\nexport const actionLogout = () => (dispatch, getState) => {\r\n return axios\r\n .delete('/api/Login')\r\n .then(\r\n () => dispatch(actionUpdateCurrentUser())\r\n );\r\n};\r\n\r\nvar loadCurrentRequest = null;\r\nexport const actionUpdateCurrentUser = () => (dispatch, getState) => {\r\n if (loadCurrentRequest)\r\n return loadCurrentRequest;\r\n\r\n loadCurrentRequest = axios\r\n .get('/api/Utenti/Corrente', { validateStatus: function (s) { return s === 200 || s === 404; } })\r\n .finally(() => { loadCurrentRequest = null })\r\n .then(r => {\r\n switch (r.status) {\r\n case 200:\r\n dispatch({ type: 'currentUser-change', data: r.data });\r\n break;\r\n case 404:\r\n dispatch({\r\n type: 'currentUser-change', data: {\r\n user: anonymousUser\r\n }\r\n });\r\n break;\r\n }\r\n })\r\n\r\n return loadCurrentRequest;\r\n};\r\n\r\nexport const reducer = (state = defaultState, action) => {\r\n switch (action.type) {\r\n case 'currentUser-change':\r\n return {\r\n ...action.data.user,\r\n displayName: action.data.user.displayName,\r\n allowedActions: action.data.user.allowedActions\r\n };\r\n case 'currentUser-reset':\r\n return defaultState;\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Route, useHistory } from 'react-router';\r\nimport { Link, Switch } from 'react-router-dom';\r\nimport { actionLogout } from '../redux-local/CurrentUser';\r\n\r\nexport default props => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const currentUser = useSelector(store => store.currentUser);\r\n\r\n return
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n \r\n

      Cambia Password

      \r\n \r\n
      \r\n \r\n \r\n \r\n

      Cambia Password

      \r\n \r\n
      \r\n
      \r\n
    • \r\n
    ;\r\n\r\n function onLogout(dispatch, getState) {\r\n actionLogout()(dispatch, getState)\r\n .then(() => history.push('/'), e => console.error(e));\r\n }\r\n};\r\n","import React from 'react';\r\nimport { Nav } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport withAuthentication from '../hoc/withAuthentication';\r\nimport * as SideBar from '../redux-local/SideBar';\r\nimport NavBar from './NavBar';\r\nimport ToastsHost from './ToastsHost';\r\nimport UserPanel from './UserPanel';\r\n\r\nexport default function Layout(props) {\r\n const dispatch = useDispatch();\r\n\r\n return
    \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 {props.children}\r\n
    \r\n {/**/}\r\n
    \r\n {/**/}\r\n {/**/}\r\n \r\n {/**/}\r\n {/**/}\r\n
    \r\n
    \r\n
    \r\n

    Copyright © 2021 Easy Net. \r\n Tutti i diritti riservati.

    \r\n
    \r\n
    V1.1.1
    \r\n
    \r\n \"Logo\r\n
    \r\n
    \r\n
    \r\n {/**/}\r\n
    \r\n \r\n
    ;\r\n}","import axios from 'axios';\r\nimport { Modal } from 'react-bootstrap';\r\nimport React, { useState } from 'react';\r\nimport { Button, Card, Col, Form, FormControl, InputGroup, Row } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { actionValidationError } from '../redux-local/Toasts';\r\nimport ToastsHost from './ToastsHost';\r\nimport ValidationErrors from './ValidationErrors';\r\nimport { actionLogin } from '../redux-local/CurrentUser';\r\n\r\nexport default function LoginPane(props) {\r\n const [username, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n const [recuperoModalShow, setRecuperoModalShow] = useState(false);\r\n const [recuperoModalEmail, setRecuperoModalEmail] = useState('');\r\n const [recuperoModalSent, setRecuperoModalSent] = useState(false);\r\n\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n const dispatch = useDispatch();\r\n\r\n var recuperoModalBody;\r\n if (recuperoModalSent)\r\n recuperoModalBody = \r\n \r\n Se l'indirizzo {recuperoModalEmail} corrisponde ad un'utenza attiva,\r\n sarà inviato a breve un messaggio con le informazioni di recupero.\r\n \r\n \r\n else\r\n recuperoModalBody = \r\n Inserisci l'e-mail associata all'utenza\r\n setRecuperoModalEmail(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"email\" />\r\n \r\n ;\r\n\r\n return
    \r\n
    \r\n setRecuperoModalShow(false)}>\r\n \r\n Recupera password\r\n \r\n {recuperoModalBody}\r\n \r\n {recuperoModalSent ? null : <>\r\n \r\n \r\n }\r\n \r\n \r\n {/**/}\r\n \r\n \r\n

    easysupport

    \r\n
    \r\n \r\n

    Esegui l'accesso al servizio

    \r\n \r\n setUsername(e.target.value)} onKeyDown={e => e.key === 'Enter' ? onLogin() : null} disabled={submitting} type=\"email\" className=\"form-control\" placeholder=\"Username\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setPassword(e.target.value)} onKeyDown={e => e.key === 'Enter' ? onLogin() : null} disabled={submitting} type=\"password\" className=\"form-control\" placeholder=\"Password\" />\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 { setRecuperoModalShow(true); setRecuperoModalSent(false); }}>Ho dimenticato la password\r\n

    \r\n
    \r\n {/**/}\r\n
    \r\n {/**/}\r\n
    \r\n \r\n
    ;\r\n\r\n function onLogin() {\r\n setSubmitting(true);\r\n\r\n dispatch(actionLogin(\r\n { 'username': username, 'password': password },\r\n p => p\r\n .finally(() => setSubmitting(false))\r\n .then(result => {\r\n if (result.success)\r\n props.history.replace('/Ticket');\r\n else\r\n dispatch(actionValidationError({\r\n key: 'login-invalid',\r\n text: 'Nome utente o password non validi'\r\n }));\r\n })));\r\n }\r\n\r\n function onPasswordDimenticata() {\r\n const erroriLocali = [];\r\n if (recuperoModalEmail === '')\r\n erroriLocali.push({ campo: 'recuperoModalEmail', errore: 'Inserire una e-mail' });\r\n else if (!/^[^@]+@([^\\.]+\\.)+[^\\.]+$/.test(recuperoModalEmail))\r\n erroriLocali.push({ campo: 'recuperoModalEmail', errore: 'Inserire una e-mail valida' });\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n var noexcept = false;\r\n setSubmitting(true);\r\n try {\r\n const postData = {\r\n email: recuperoModalEmail\r\n };\r\n\r\n axios\r\n .post('/api/Utenti/RichiesteRecupero', postData)\r\n .finally(() => setSubmitting(false))\r\n .then(r => setRecuperoModalSent(true));\r\n\r\n noexcept = true;\r\n } finally {\r\n if (!noexcept)\r\n setSubmitting(false);\r\n }\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Col, Row, Table } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function SlaDisplay({ ticket, contatori }) {\r\n return \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
    StatoGravità
    {ticket.stato}{ticket.gravita}
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {contatori.map((c, i) => \r\n \r\n \r\n )}\r\n \r\n
    StatoTempo
    {c}{(ticket.contatori[c].totalMinutes || 0).toFixed(0)} minuti
    \r\n \r\n \r\n \r\n Visualizza Ticket\r\n \r\n \r\n
    \r\n}","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Form, Accordion, Button, Card, Col, Modal, Row, Tab, Table, Tabs } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport SlaDisplay from './SlaDisplay';\r\n\r\nexport default function MonitoraggioSla(props) {\r\n const [contrattiLista, setContrattiLista] = useState([]);\r\n const [contrattoSelezionato, setContrattoSelezionato] = useState(null);\r\n\r\n const [richiesteLista, setRichiesteLista] = useState([]);\r\n const [contatoriLista, setContatoriLista] = useState([]);\r\n\r\n const [mostraSla, setMostraSla] = useState(false);\r\n const [ticket, setTicket] = useState([]);\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const response = await axios.get('/api/Contratti?filter=monitoraggioSla');\r\n const data = response.data;\r\n\r\n setContrattiLista(data.contratti);\r\n if(data.contratti && data.contratti.length > 0)\r\n setContrattoSelezionato(data.contratti[0]);\r\n })();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!contrattoSelezionato) {\r\n setRichiesteLista([]);\r\n return;\r\n }\r\n\r\n const cancelToken = axios.CancelToken.source();\r\n (async () => {\r\n const response = await axios.get(contrattoSelezionato.apiSla, { cancelToken: cancelToken.token });\r\n const data = response.data;\r\n\r\n setContatoriLista(data.contatori);\r\n setRichiesteLista(data.richieste);\r\n })();\r\n\r\n return () => cancelToken.cancel();\r\n }, [contrattoSelezionato]);\r\n\r\n const contrattoSelezionatoValue = contrattoSelezionato ? contrattoSelezionato.id : '';\r\n return \r\n \r\n \r\n \r\n

    Gestione SLA

    \r\n
    \r\n
    \r\n \r\n setMostraSla(false)}\r\n size=\"lg\">\r\n \r\n Contatori SLA\r\n \r\n \r\n {!mostraSla ? null : }\r\n \r\n \r\n \r\n \r\n \r\n {contrattiLista && contrattiLista.length > 1 && \r\n setContrattoSelezionato(contrattiLista.find(e => e.id === Number(ev.target.value)))}\r\n className=\"form-control\">\r\n {contrattiLista.map(e =>\r\n )}\r\n \r\n }\r\n \r\n \r\n  \r\n  \r\n \r\n \r\n {listaTicketSla(richiesteLista.filter(e => e.tag === 'FuoriOrario'), 'fuori SLA')}\r\n \r\n \r\n \r\n \r\n  \r\n  \r\n \r\n \r\n {listaTicketSla(richiesteLista.filter(e => e.tag !== 'FuoriOrario'), 'in SLA')}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ;\r\n\r\n function listaTicketSla(listaTicket, testoSla) {\r\n if (listaTicket.length === 0)\r\n return

    Non ci sono ticket {testoSla}

    ;\r\n\r\n const groups = [];\r\n for (var i in listaTicket) {\r\n const richiesta = listaTicket[i];\r\n var sezione = groups.find(e => e.nome === richiesta.stato);\r\n if (!sezione)\r\n groups.push(sezione = { nome: richiesta.stato, tickets: [] });\r\n\r\n sezione.tickets.push(richiesta);\r\n }\r\n\r\n return <>\r\n {groups.map(e =>\r\n \r\n \r\n
    Stato: {e.nome} ({e.tickets.length})
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {e.tickets.map(creaRichiestaPanel)}\r\n \r\n
    CodiceOggetto
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n ;\r\n }\r\n\r\n function creaRichiestaPanel(e, i) {\r\n return \r\n {e.codice}\r\n \r\n \r\n \r\n ;\r\n }\r\n}","import React, { useState } from 'react';\r\nimport { Button, Card, InputGroup, FormControl, Row, Col } from 'react-bootstrap';\r\nimport { Redirect, useLocation } from 'react-router-dom';\r\nimport ToastsHost from './ToastsHost';\r\nimport ValidationErrors from './ValidationErrors';\r\nimport axios from 'axios';\r\nimport { useDispatch } from 'react-redux';\r\nimport { actionValidationError } from '../redux-local/Toasts';\r\n\r\nexport default props => {\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n\r\n const [done, setDone] = useState(false);\r\n const [password, setPassword] = useState('');\r\n const [passwordCheck, setPasswordCheck] = useState('');\r\n const [submitting, setSubmitting] = useState(false);\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n if (done)\r\n return ;\r\n\r\n const query = location.search;\r\n const queryMatch = /(^\\?|&)t=([^&]+)(&|$)/.exec(query);\r\n if (!queryMatch)\r\n return ;\r\n\r\n const token = decodeURIComponent(queryMatch[2]);\r\n\r\n return
    \r\n
    \r\n {/**/}\r\n \r\n \r\n

    easysupport

    \r\n
    \r\n \r\n \r\n setPassword(e.target.value)} onKeyDown={e => e.key === 'Enter' ? onReset() : null} disabled={submitting} type=\"password\" className=\"form-control\" placeholder=\"Password\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setPasswordCheck(e.target.value)} onKeyDown={e => e.key === 'Enter' ? onReset() : null} disabled={submitting} type=\"password\" className=\"form-control\" placeholder=\"Ripeti password\" />\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 function onReset() {\r\n const erroriLocali = [];\r\n\r\n if (password == '')\r\n erroriLocali.push({ campo: 'password', errore: 'Inserire una password' });\r\n else {\r\n if (password != passwordCheck)\r\n erroriLocali.push({ campo: 'passwordCheck', errore: 'Le password non corrispondono' });\r\n\r\n if (password.length < 8)\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve essere lunga almeno otto caratteri' });\r\n if (!/[a-z]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno una lettera minuscola' });\r\n if (!/[A-Z]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno una lettera maiuscola' });\r\n if (!/[0-9]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno un numero' });\r\n }\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n var noexcept = false;\r\n setSubmitting(true);\r\n try {\r\n const postData = {\r\n base64Token: token,\r\n password: password\r\n };\r\n\r\n axios\r\n .post('/api/Utenti/Recupera', postData, { validateStatus: s => s == 200 || s == 403 })\r\n .then(r => {\r\n switch (r.status) {\r\n case 200:\r\n setDone(true);\r\n break;\r\n case 403:\r\n dispatch(actionValidationError({\r\n key: 'recovery-invalid',\r\n value: 'La richiesta di recupero password non è valida'\r\n }));\r\n break;\r\n }\r\n });\r\n } finally {\r\n if (!noexcept)\r\n setSubmitting(false);\r\n }\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Card, Col, Modal, OverlayTrigger, Row, Tab, Tabs, Tooltip } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactRTE from 'react-rte';\r\nimport FileUploader from './FileUploader';\r\n\r\nconst toolbarConfig = {\r\n display: ['INLINE_STYLE_BUTTONS', 'BLOCK_TYPE_BUTTONS', 'HISTORY_BUTTONS'],\r\n INLINE_STYLE_BUTTONS: [\r\n { label: 'Grassetto', style: 'BOLD', className: 'custom-css-class' },\r\n { label: 'Corsivo', style: 'ITALIC' },\r\n { label: 'Sottolineato', style: 'UNDERLINE' }\r\n ],\r\n BLOCK_TYPE_BUTTONS: [\r\n { label: 'Elenco puntato', style: 'unordered-list-item' },\r\n { label: 'Elenco numerato', style: 'ordered-list-item' }\r\n ],\r\n HISTORY_BUTTONS: {\r\n undo: { label: 'Annulla' },\r\n redo: { label: 'Ripeti' }\r\n }\r\n};\r\n\r\nexport default function TicketDisplay(props) {\r\n const codice = props.match.params.codice;\r\n const dispatch = useDispatch();\r\n const [ticket, setTicket] = useState({ attivita: [], allowedActions: {} });\r\n const [nuovaAttivitaCommento, setNuovaAttivitaCommento] = useState(() => ReactRTE.createEmptyValue());\r\n const [nuovaNotaCommento, setNuovaNotaCommento] = useState(() => ReactRTE.createEmptyValue());\r\n const [submitting, setSubmitting] = useState(false);\r\n const [commentiDaVisualizzare, setCommentiDaVisualizzare] = useState(null);\r\n const [commentoFileObject, setCommentoFileObject] = useState(null);\r\n const [commentoFileDataUri, setCommentoFileDataUri] = useState(null);\r\n const [commentoFileInputClearKey, setCommentoFileInputClearKey] = useState(0);\r\n const [attivitaFileObject, setAttivitaFileObject] = useState(null);\r\n const [attivitaFileDataUri, setAttivitaFileDataUri] = useState(null);\r\n const [attivitaFileInputClearKey, setAttivitaFileInputClearKey] = useState(0);\r\n\r\n function getTicket() {\r\n axios\r\n .get('/api/Richieste/'.concat(codice))\r\n .then(r => r.data)\r\n .then(d => {\r\n const ticket = d;\r\n for (var i in ticket.attivita) {\r\n const attività = ticket.attivita[i];\r\n\r\n attività.timeStamp = new Date(Date.parse(attività.timeStamp));\r\n\r\n for (var j in attività.commenti) {\r\n const commenti = attività.commenti[j];\r\n commenti.timeStamp = new Date(Date.parse(commenti.timeStamp));\r\n }\r\n }\r\n setTicket(ticket);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n getTicket();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (commentoFileObject) {\r\n var reader = new FileReader();\r\n reader.onload = e => setCommentoFileDataUri(e.target.result);\r\n reader.readAsDataURL(commentoFileObject);\r\n\r\n return () => {\r\n if (reader.readyState === 'LOADING')\r\n reader.abort();\r\n };\r\n }\r\n }, [commentoFileObject]);\r\n\r\n useEffect(() => {\r\n if (attivitaFileObject) {\r\n var reader = new FileReader();\r\n reader.onload = e => setAttivitaFileDataUri(e.target.result);\r\n reader.readAsDataURL(attivitaFileObject);\r\n\r\n return () => {\r\n if (reader.readyState === 'LOADING')\r\n reader.abort();\r\n };\r\n }\r\n }, [attivitaFileObject]);\r\n\r\n const mostraNoteAssistenza =\r\n ticket.noteAssistenza ||\r\n (ticket.allegatiAssistenza && ticket.allegatiAssistenza.length > 0);\r\n return \r\n \r\n \r\n \r\n \r\n
    Ticket #{codice}
    \r\n
    \r\n \r\n \r\n \r\n Stato Ticket: \r\n {ticket.stato}\r\n \r\n \r\n {!ticket.allegato ? null : \r\n \r\n Allegato: \r\n \r\n Scarica\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
    Oggetto: {ticket.titolo}
    \r\n
    \r\n \r\n setCommentiDaVisualizzare(null)}\r\n size=\"lg\">\r\n \r\n Note\r\n \r\n \r\n {!commentiDaVisualizzare ? null : commentiDaVisualizzare.map((e, i) => \r\n \r\n \r\n {e.timeStamp.toLocaleString()}\r\n {e.utenteDesc}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Scarica Allegato\r\n \r\n }>\r\n \r\n {!e.allegatoUrl ? null : }\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {ticket.attivita.map((e, i) => \r\n \r\n \r\n {e.statoDesc}\r\n {e.timeStamp.toLocaleString()}\r\n {e.username}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Visualizza Note\r\n \r\n }>\r\n {!(e.commenti && e.commenti.length > 0) ? null :\r\n setCommentiDaVisualizzare(e.commenti)}>\r\n }\r\n \r\n \r\n \r\n Scarica Allegato\r\n \r\n }>\r\n \r\n {!e.allegatoUrl ? null : }\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n {!mostraNoteAssistenza ? null : \r\n \r\n
    Note per l'assistenza
    \r\n
    \r\n \r\n {ticket.noteAssistenza}\r\n {ticket.allegatiAssistenza.map(e => \r\n {!e.image ? null : }\r\n {e.nome}\r\n )}\r\n \r\n
    }\r\n {(function () {\r\n switch (ticket.stato) {\r\n case 'Chiuso':\r\n return \r\n

    Questo Ticket è chiuso e non può essere riaperto

    \r\n ;\r\n case 'Annullato':\r\n return \r\n

    Questo Ticket è annullato e non può essere riaperto

    \r\n ;\r\n default:\r\n return \r\n \r\n \r\n \r\n setNuovaNotaCommento(e)} />\r\n \r\n \r\n Aggiungi nota\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Object.keys(ticket.allowedActions).length === 0 ? null : \r\n \r\n setNuovaAttivitaCommento(e)} />\r\n \r\n \r\n {Object.keys(ticket.allowedActions).map((e, i) =>\r\n {ticket.allowedActions[e].etichetta}\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 function onCommentoFileSelected(e) {\r\n if (e.target.files.length > 0)\r\n setCommentoFileObject(e.target.files[0]);\r\n else\r\n setCommentoFileObject(null);\r\n }\r\n\r\n function onAttivitaFileSelected(e) {\r\n if (e.target.files.length > 0)\r\n setAttivitaFileObject(e.target.files[0]);\r\n else\r\n setAttivitaFileObject(null);\r\n }\r\n\r\n function onNuovaNotaCommento() {\r\n const messaggio = nuovaNotaCommento.toString('markdown').trim();\r\n\r\n if (messaggio.length && messaggio.charCodeAt(0) === 8203) {\r\n dispatch({\r\n type: 'ui-popup',\r\n data: {\r\n text: \"È necessario inserire il corpo della nota\",\r\n kind: 'bg-danger'\r\n }\r\n });\r\n return;\r\n }\r\n\r\n const postData = {\r\n messaggio: messaggio,\r\n allegatoDataUri: commentoFileDataUri,\r\n allegatoFilename: commentoFileObject ? commentoFileObject.name : null\r\n };\r\n\r\n setSubmitting(true);\r\n axios\r\n .post('/api/Richieste/'.concat(codice, '/Commenti'), postData)\r\n .finally(() => setSubmitting(false))\r\n .then(d => {\r\n setNuovaNotaCommento(ReactRTE.createEmptyValue());\r\n setCommentoFileInputClearKey(commentoFileInputClearKey + 1);\r\n setTicket({\r\n ...ticket,\r\n commenti: d.commenti\r\n });\r\n getTicket()\r\n });\r\n }\r\n\r\n function onClickFactory(v) {\r\n return (e) => {\r\n const commento = nuovaAttivitaCommento.toString('markdown').trim();\r\n\r\n if (commento.length && commento.charCodeAt(0) === 8203) {\r\n dispatch({\r\n type: 'ui-popup',\r\n data: {\r\n text: \"Il campo attività non può essere vuoto\",\r\n kind: 'bg-danger'\r\n }\r\n });\r\n return;\r\n }\r\n\r\n const postData = {\r\n azione: v,\r\n commento: commento,\r\n allegatoFilename: attivitaFileObject ? attivitaFileObject.name : null,\r\n allegatoDataUri: attivitaFileDataUri\r\n };\r\n\r\n setSubmitting(true);\r\n axios\r\n .post('/api/Richieste/'.concat(codice), postData)\r\n .finally(() => setSubmitting(false))\r\n .then(r => {\r\n setNuovaAttivitaCommento(ReactRTE.createEmptyValue());\r\n setAttivitaFileInputClearKey(attivitaFileInputClearKey + 1);\r\n getTicket();\r\n });\r\n };\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Accordion, Card, Col, Row, Form } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport withAuthentication from '../hoc/withAuthentication';\r\n\r\nconst TicketList = props => {\r\n const [richiesteLista, setRichiesteLista] = useState([]);\r\n const [richiesteListaFiltrate, setRichiesteListaFiltrate] = useState([]);\r\n const [clienteScelto, setClienteScelto] = useState(\"\");\r\n const [groups, setGroups] = useState([]);\r\n const [idClientiList, setIdClientiList] = useState([]);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Richieste')\r\n .then(r => r.data)\r\n .then(d => {\r\n setRichiesteLista(d.tickets);\r\n setIdClientiList(d.tickets.filter((value, index, self) => {\r\n return self.findIndex(v => v.idCliente === value.idCliente) === index;\r\n }).map(richiesta => {\r\n return { idCliente: richiesta.idCliente, ragioneSocialeCliente: richiesta.ragioneSocialeCliente }\r\n }))\r\n });\r\n }, []);\r\n\r\n //const groups = richiesteLista.reduce((acc, value) => {\r\n // var sezione = acc.find(e => e.nome === value.stato);\r\n // if (!sezione)\r\n // acc.push(sezione = { nome: value.stato, tickets: [] });\r\n\r\n // sezione.tickets.push(value);\r\n\r\n // return acc;\r\n //}, []);\r\n\r\n useEffect(() => {\r\n const listaDaRidurre = richiesteListaFiltrate && richiesteListaFiltrate.length > 0 ? richiesteListaFiltrate : richiesteLista;\r\n\r\n setGroups(listaDaRidurre.reduce((acc, value) => {\r\n var sezione = acc.find(e => e.nome === value.stato);\r\n if (!sezione)\r\n acc.push(sezione = { nome: value.stato, tickets: [] });\r\n\r\n sezione.tickets.push(value);\r\n\r\n return acc;\r\n }, [])\r\n );\r\n }, [richiesteLista, richiesteListaFiltrate])\r\n\r\n const filterTickets = (idCliente) => {\r\n const id = typeof idCliente === \"string\" ? parseInt(idCliente) : idCliente;\r\n if (idCliente === \"\") {\r\n setRichiesteListaFiltrate([])\r\n }\r\n setRichiesteListaFiltrate(richiesteLista.filter(richiesta => richiesta.idCliente === id));\r\n }\r\n\r\n\r\n return \r\n \r\n \r\n \r\n

    Tickets

    \r\n { filterTickets(e.target.value); setClienteScelto(e.target.value) }}>\r\n \r\n {idClientiList.map(e =>\r\n \r\n )}\r\n \r\n Apri un nuovo Ticket\r\n
    \r\n
    \r\n \r\n \r\n {groups.map((e, i) => \r\n\r\n \r\n
    Stato: {e.nome} ({e.tickets.length})
    \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 {e.tickets.map((e, i) => \r\n \r\n \r\n \r\n )}\r\n \r\n
    CodiceOggettoCliente
    {e.codice}\r\n \r\n {e.titolo}\r\n \r\n \r\n {e.ragioneSocialeCliente}\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\nexport default withAuthentication(TicketList);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichTextEditor from 'react-rte';\r\n\r\nexport default class MyStatefulEditor extends Component {\r\n static propTypes = {\r\n onChange: PropTypes.func\r\n };\r\n\r\n static toolbarConfig = {\r\n display: ['INLINE_STYLE_BUTTONS', 'BLOCK_TYPE_BUTTONS', 'HISTORY_BUTTONS'],\r\n INLINE_STYLE_BUTTONS: [\r\n { label: 'Grassetto', style: 'BOLD', className: 'custom-css-class' },\r\n { label: 'Corsivo', style: 'ITALIC' },\r\n { label: 'Sottolineato', style: 'UNDERLINE' }\r\n ],\r\n BLOCK_TYPE_BUTTONS: [\r\n { label: 'Elenco puntato', style: 'unordered-list-item' },\r\n { label: 'Elenco numerato', style: 'ordered-list-item' }\r\n ],\r\n HISTORY_BUTTONS: {\r\n undo: { label: 'Annulla' },\r\n redo: { label: 'Ripeti' }\r\n }\r\n };\r\n\r\n state = {\r\n value: RichTextEditor.createEmptyValue()\r\n }\r\n\r\n onChange = (value) => {\r\n this.setState({ value });\r\n if (this.props.onChange) {\r\n // Send the changes up to the parent component as an HTML string.\r\n // This is here to demonstrate using `.toString()` but in a real app it\r\n // would be better to avoid generating a string on each change.\r\n this.props.onChange(value.toString('markdown'));\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Form, Row, Button } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { actionValidationError } from '../redux-local/Toasts';\r\nimport FileUploader from './FileUploader';\r\nimport ValidationErrors from './ValidationErrors';\r\nimport RichTextEditor from './RichTextEditor';\r\n\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [clientiLista, setClientiLista] = useState([]);\r\n const [cliente, setCliente] = useState(null);\r\n\r\n const [contrattiLista, setContrattiLista] = useState([]);\r\n const [contratto, setContratto] = useState(null);\r\n\r\n const [gravitàLista, setGravitàLista] = useState([]);\r\n const [gravità, setGravità] = useState(null);\r\n\r\n const [titolo, setTitolo] = useState('');\r\n const [richiesta, setRichiesta] = useState('');\r\n\r\n const [erroriValidazione, setErroriValidazione] = useState([]);\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n const [fileObject, setFileObject] = useState(null);\r\n const [fileDataUri, setFileDataUri] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!fileObject)\r\n return;\r\n\r\n var reader = new FileReader();\r\n reader.onload = e => setFileDataUri(e.target.result);\r\n reader.readAsDataURL(fileObject);\r\n\r\n return () => {\r\n if (reader.readyState === 'LOADING')\r\n reader.abort();\r\n };\r\n }, [fileObject]);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Clienti?ticketCanCreate')\r\n .then(r => r.data)\r\n .then(d => {\r\n var responseClientiLista = d.clienti;\r\n\r\n setClientiLista(responseClientiLista);\r\n setCliente(responseClientiLista.length > 0 ? responseClientiLista[0].apiUrl : null);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!cliente) {\r\n setContrattiLista([]);\r\n setContratto(null);\r\n return;\r\n }\r\n\r\n const cancelToken = axios.CancelToken.source();\r\n axios\r\n .get(cliente.concat('/Contratti'), { cancelToken: cancelToken.token })\r\n .then(r => r.data)\r\n .then(d => {\r\n var responseContrattiLista = d.contratti;\r\n\r\n setContrattiLista(responseContrattiLista);\r\n setContratto(responseContrattiLista.length > 0 ? responseContrattiLista[0].apiUrl : null);\r\n });\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [cliente]);\r\n\r\n useEffect(() => {\r\n if (!contratto) {\r\n setGravitàLista([]);\r\n setGravità(null);\r\n return;\r\n }\r\n\r\n const cancelToken = axios.CancelToken.source();\r\n axios\r\n .get(contratto.concat('/Gravità'), { cancelToken: cancelToken.token })\r\n .then(r => r.data)\r\n .then(d => {\r\n var responseGravitàLista = d.gravita;\r\n\r\n setGravitàLista(responseGravitàLista);\r\n setGravità(responseGravitàLista.length > 0 ? String(responseGravitàLista[0].id) : null);\r\n });\r\n }, [contratto]);\r\n\r\n const canSubmit =\r\n !submitting &&\r\n ((fileObject && fileDataUri) || (!fileObject && !fileDataUri));\r\n\r\n return \r\n \r\n \r\n Apri un nuovo ticket\r\n \r\n \r\n {!(clientiLista && clientiLista.length > 1) ? null : \r\n Cliente\r\n \r\n setCliente(e.target.value)}\r\n disabled={submitting} className=\"form-control\">\r\n {clientiLista.map(e =>\r\n )}\r\n \r\n \r\n }\r\n {!(contrattiLista && contrattiLista.length > 1) ? null : \r\n Contratto\r\n \r\n setContratto(e.target.value)}\r\n disabled={submitting} className=\"form-control\">\r\n {contrattiLista.map(e => )}\r\n \r\n \r\n }\r\n {!(gravitàLista && gravitàLista.length > 1) ? null : \r\n Gravità\r\n \r\n setGravità(e.target.value)}\r\n disabled={submitting} className=\"form-control\">\r\n {gravitàLista.map(e => )}\r\n \r\n \r\n }\r\n \r\n Oggetto (*Campo Obbligatorio)\r\n \r\n setTitolo(e.target.value)}\r\n disabled={submitting} className=\"form-control\"\r\n type=\"text\" placeholder=\"Titolo della richiesta\"\r\n maxLength={130} />\r\n \r\n \r\n \r\n \r\n Descrizione (*Campo Obbligatorio)\r\n \r\n setRichiesta(e)} disabled={submitting}\r\n />\r\n \r\n \r\n \r\n \r\n Allegato (2MB max)\r\n \r\n setFileObject(e.target.files.length > 0 ? e.target.files[0] : null)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n function onSubmit() {\r\n const erroriLocali = [];\r\n\r\n if (titolo.trim() === '')\r\n erroriLocali.push({ campo: 'titolo', errore: 'Inserire un oggetto della richiesta' });\r\n if (richiesta.trim().charCodeAt(0) === 8203 || richiesta.trim() === '')\r\n erroriLocali.push({ campo: 'richiesta', errore: 'Inserire una descrizione della richiesta' });\r\n if (fileObject !== null && fileObject.size > 2 * 1024 * 1024)\r\n erroriLocali.push({ campo: 'file', errore: 'Il file deve essere meno di 2MB' });\r\n\r\n setErroriValidazione(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n setSubmitting(true);\r\n var noexcept = false;\r\n try {\r\n onDataObjectReady({\r\n titolo: titolo,\r\n richiesta: richiesta,\r\n cliente: clientiLista.find(e => e.apiUrl === cliente).uri,\r\n contratto: contrattiLista.find(e => e.apiUrl === contratto).descrizione,\r\n gravita: gravitàLista.find(e => e.id === Number(gravità)).descrizione,\r\n allegato: fileDataUri,\r\n allegatoNome: fileObject ? fileObject.name : null,\r\n });\r\n\r\n noexcept = true;\r\n }\r\n finally {\r\n if (!noexcept)\r\n setSubmitting(false);\r\n }\r\n }\r\n\r\n function onDataObjectReady(reqData) {\r\n axios\r\n .post('/api/Richieste', reqData)\r\n .finally(() => setSubmitting(false))\r\n .then(r => {\r\n const d = r.data;\r\n history.replace(d.url);\r\n }, r => {\r\n switch (r.response.status) {\r\n case 401:\r\n dispatch(actionValidationError({\r\n key: 'unauthenticated',\r\n text: \"La tua autenticazione non è più valida, effettua un nuovo login\"\r\n }));\r\n history.push('/');\r\n break;\r\n case 403:\r\n dispatch(actionValidationError({\r\n key: 'ticket-unauthorized',\r\n text: 'Non sei autorizzato a creare un ticket'\r\n }));\r\n break;\r\n }\r\n });\r\n }\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Button, Card, Col, Form, Row } from 'react-bootstrap';\r\nimport ValidationErrors from './ValidationErrors';\r\nimport axios from 'axios';\r\n\r\nexport default props => {\r\n const [passwordCorrente, setPasswordCorrente] = useState('');\r\n const [passwordNuova, setPasswordNuova] = useState('');\r\n const [passwordNuovaCheck, setPasswordNuovaCheck] = useState('');\r\n const [submitting, setSubmitting] = useState(false);\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n React.createElement(Card.Header, {\r\n md: { span: 10, offset: 1 },\r\n children: [\r\n React.createElement(Card.Title, {\r\n className: 'card-title',\r\n children: ['Cambia password']\r\n })\r\n ]\r\n })\r\n\r\n return \r\n \r\n \r\n Cambia password\r\n \r\n
    \r\n \r\n \r\n Password corrente\r\n \r\n setPasswordCorrente(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"password\" />\r\n \r\n \r\n \r\n \r\n Password nuova\r\n \r\n setPasswordNuova(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"password\" />\r\n \r\n \r\n \r\n \r\n Conferma password nuova\r\n \r\n setPasswordNuovaCheck(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"password\" />\r\n \r\n \r\n \r\n \r\n \r\n Salva\r\n \r\n
    \r\n
    \r\n ;\r\n\r\n function onSubmit() {\r\n var erroriLocali = [];\r\n if (passwordCorrente === '')\r\n erroriLocali.push({ campo: 'passwordCorrente', errore: 'Inserire la password corrente' });\r\n if (passwordNuova === '')\r\n erroriLocali.push({ campo: 'passwordNuova', errore: 'Inserire una password' });\r\n else {\r\n if (passwordNuova !== passwordNuovaCheck)\r\n erroriLocali.push({ campo: 'passwordNuovaCheck', errore: 'Le password non corrispondono' });\r\n\r\n if (passwordNuova.length < 8)\r\n erroriLocali.push({ campo: 'passwordNuova', errore: 'La password deve essere lunga almeno otto caratteri' });\r\n if (!/[a-z]/.test(passwordNuova))\r\n erroriLocali.push({ campo: 'passwordNuova', errore: 'La password deve contenere almeno una lettera minuscola' });\r\n if (!/[A-Z]/.test(passwordNuova))\r\n erroriLocali.push({ campo: 'passwordNuova', errore: 'La password deve contenere almeno una lettera maiuscola' });\r\n if (!/[0-9]/.test(passwordNuova))\r\n erroriLocali.push({ campo: 'passwordNuova', errore: 'La password deve contenere almeno un numero' });\r\n }\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n var noexcept = false;\r\n setSubmitting(true);\r\n try {\r\n const postData = {\r\n kind: 'password',\r\n passwordCorrente: passwordCorrente,\r\n passwordNuova: passwordNuova\r\n };\r\n\r\n axios\r\n .post('/api/Utenti/Corrente', postData, { validateStatus: s => (s === 200 || s === 409) })\r\n .finally(() => setSubmitting(false))\r\n .then(r => {\r\n switch (r.status) {\r\n case 200:\r\n props.history.push('/Ticket');\r\n break;\r\n case 409:\r\n const validationErrors = r.data.validazione;\r\n\r\n setValidationErrors(validationErrors.filter(e => e.campo === 'passwordCorrente').map(e => ({\r\n campo: 'passwordCorrente',\r\n errore: e.errore\r\n })));\r\n break;\r\n }\r\n });\r\n\r\n noexcept = true;\r\n } finally {\r\n if (!noexcept)\r\n setSubmitting(false);\r\n }\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Card, Col, Table } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n const utenteId = props.match.params.id;\r\n const [utente, setUtente] = useState({});\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Utenti/'.concat(utenteId))\r\n .then(r => r.data)\r\n .then(d => {\r\n setUtente(d);\r\n });\r\n }, [utenteId]);\r\n\r\n console.log(utente)\r\n\r\n return \r\n \r\n \r\n
    Utente: {utente.displayName}
    \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
    Nome utente{utente.displayName}
    E-Mail{utente.email}
    Attivo{utente.attivo ? 'Sì' : 'No'}
    \r\n {!utente.attivo ? null :\r\n <>\r\n Modifica utente\r\n \r\n \r\n }\r\n \r\n
    \r\n
    \r\n ;\r\n\r\n function onBloccaUtente() {\r\n setSubmitting(true);\r\n axios\r\n .patch('/api/Utenti/'.concat(utenteId), { allowLogin: false })\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => setUtente(d));\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Card, Col, Row, Table } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default props => {\r\n const [utenti, setUtenti] = useState([]);\r\n useEffect(() => {\r\n axios\r\n .get('/api/Utenti')\r\n .then(r => r.data)\r\n .then(d => setUtenti(d.utenti));\r\n }, []);\r\n\r\n return \r\n \r\n \r\n \r\n

    Utenti

    \r\n Registra nuovo utente\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {utenti.map((e, i) => \r\n \r\n )}\r\n \r\n
    Nome Utente
    \r\n \r\n {e.displayName}\r\n \r\n
    \r\n
    \r\n
    \r\n ;\r\n};\r\n","import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Card, Col, Table, Form, Row } from 'react-bootstrap';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { useLocation } from 'react-router-dom'\r\nimport ValidationErrors from './ValidationErrors';\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n const utenteId = props.match.params.id;\r\n const [utente, setUtente] = useState({});\r\n const [email, setEmail] = useState('');\r\n const [displayName, setDisplayName] = useState('');\r\n const [url, setUrl] = useState('');\r\n const [submitting, setSubmitting] = useState(false);\r\n const location = useLocation();\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n useEffect(() => {\r\n axios\r\n .get('/api/Utenti/'.concat(utenteId))\r\n .then(r => r.data)\r\n .then(d => {\r\n setUtente(d);\r\n setDisplayName(d.displayName);\r\n setEmail(d.email);\r\n setUrl(d.url);\r\n });\r\n }, [utenteId]);\r\n\r\n\r\n return \r\n \r\n \r\n Modifica utente: {utente.displayName}\r\n \r\n
    \r\n \r\n \r\n Nome Visibile\r\n \r\n setDisplayName(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n E-Mail\r\n \r\n setEmail(e.target.value)}\r\n className=\"form-control\" type=\"text\" />\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 function onUpdateUtente() {\r\n if (submitting)\r\n return;\r\n var erroriLocali = [];\r\n if (displayName === '')\r\n erroriLocali.push({ campo: 'username', errore: 'Inserire uno username' });\r\n if (email === '')\r\n erroriLocali.push({ campo: 'email', errore: 'Inserire una e-mail' });\r\n else if (!/^[^@]+@([^\\.]+\\.)+[^\\.]+$/.test(email))\r\n erroriLocali.push({ campo: 'email', errore: 'Inserire una e-mail valida' });\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n const data = {\r\n displayName: displayName,\r\n email: email\r\n };\r\n setSubmitting(true);\r\n axios\r\n .put('/api/Utenti/'.concat(utenteId), data)\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => history.replace(url));\r\n }\r\n}","import axios from 'axios';\r\nimport React, { useState } from 'react';\r\nimport { Button, Card, Col, Form, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ValidationErrors from './ValidationErrors';\r\n\r\nexport default props => {\r\n const history = useHistory();\r\n const [username, setUsername] = useState('');\r\n const [displayName, setDisplayName] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [passwordGenera, setPasswordGenera] = useState(false);\r\n const [password, setPassword] = useState('');\r\n const [passwordCheck, setPasswordCheck] = useState('');\r\n\r\n const [validationErrors, setValidationErrors] = useState([]);\r\n\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n return \r\n \r\n \r\n Registra un nuovo utente\r\n \r\n
    \r\n \r\n \r\n Nome utente\r\n \r\n setUsername(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n Nome visibile\r\n \r\n setDisplayName(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"text\" />\r\n \r\n \r\n \r\n \r\n E-Mail\r\n \r\n setEmail(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"email\" />\r\n \r\n \r\n \r\n \r\n \r\n setPasswordGenera(e.target.checked)}\r\n disabled={submitting} label=\"Genera password automaticamente\" />\r\n \r\n \r\n {passwordGenera ? null : <>\r\n \r\n Password\r\n \r\n setPassword(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"password\" />\r\n \r\n \r\n \r\n \r\n Conferma Password\r\n \r\n setPasswordCheck(e.target.value)}\r\n disabled={submitting} className=\"form-control\" type=\"password\" />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n Salva\r\n \r\n
    \r\n
    \r\n ;\r\n\r\n function onUtenteSubmit() {\r\n var erroriLocali = [];\r\n if (username === '')\r\n erroriLocali.push({ campo: 'username', errore: 'Inserire uno username' });\r\n if (displayName === '')\r\n erroriLocali.push({ campo: 'displayName', errore: 'Inserire un nome visibile' });\r\n if (email === '')\r\n erroriLocali.push({ campo: 'email', errore: 'Inserire una e-mail' });\r\n else if (!/^[^@]+@([^\\.]+\\.)+[^\\.]+$/.test(email))\r\n erroriLocali.push({ campo: 'email', errore: 'Inserire una e-mail valida' });\r\n if (!passwordGenera) {\r\n if (password == '')\r\n erroriLocali.push({ campo: 'password', errore: 'Inserire una password' });\r\n else {\r\n if (password != passwordCheck)\r\n erroriLocali.push({ campo: 'passwordCheck', errore: 'Le password non corrispondono' });\r\n\r\n if (password.length < 8)\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve essere lunga almeno otto caratteri' });\r\n if (!/[a-z]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno una lettera minuscola' });\r\n if (!/[A-Z]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno una lettera maiuscola' });\r\n if (!/[0-9]/.test(password))\r\n erroriLocali.push({ campo: 'password', errore: 'La password deve contenere almeno un numero' });\r\n }\r\n }\r\n\r\n setValidationErrors(erroriLocali);\r\n if (erroriLocali.length > 0)\r\n return;\r\n\r\n const postData = {\r\n generatePassword: passwordGenera,\r\n username: username,\r\n password: password,\r\n displayName: displayName,\r\n email: email\r\n };\r\n\r\n setSubmitting(true);\r\n axios\r\n .post('/api/Utenti', postData)\r\n .finally(() => setSubmitting(false))\r\n .then(r => r.data)\r\n .then(d => history.replace(d.userUrl));\r\n }\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Route } from 'react-router';\r\nimport { Switch } from 'react-router-dom';\r\nimport ClientiDisplay from './components/ClientiDisplay';\r\nimport ClientiLista from './components/ClientiLista';\r\nimport ClientiModifica from './components/ClientiModifica';\r\nimport ClientiNuovo from './components/ClientiNuovo';\r\nimport ContrattoDisplay from './components/ContrattoDisplay';\r\nimport Layout from './components/Layout';\r\nimport LoginPane from './components/LoginPane';\r\nimport MonitoraggioSla from './components/MonitoraggioSla';\r\nimport RecuperoPassword from './components/RecuperoPassword';\r\nimport TicketDisplay from './components/TicketDisplay';\r\nimport TicketList from './components/TicketList';\r\nimport TicketNuovo from './components/TicketNuovo';\r\nimport UtenteCambioPassword from './components/UtenteCambioPassword';\r\nimport UtentiDisplay from './components/UtentiDisplay';\r\nimport UtentiLista from './components/UtentiLista';\r\nimport UtentiModifica from './components/UtentiModifica';\r\nimport UtentiNuovo from './components/UtentiNuovo';\r\nimport './css/local.css';\r\nimport withAuthentication from './hoc/withAuthentication';\r\nimport { actionUpdateCurrentUser } from './redux-local/CurrentUser';\r\nimport * as SideBar from './redux-local/SideBar';\r\n\r\n\r\n\r\nexport default function App(props) {\r\n const dispatch = useDispatch();\r\n const sidebarSliding = useSelector(s => s.sidebar.sliding);\r\n const sidebarCollapsed = useSelector(s => s.sidebar.collapsed);\r\n\r\n useEffect(() => { dispatch(actionUpdateCurrentUser()); }, []);\r\n\r\n useEffect(() => {\r\n const handler = () => dispatch(SideBar.actionSetSliding(window.innerWidth < 991.98));\r\n\r\n window.addEventListener('resize', handler);\r\n\r\n return () => window.removeEventListener('resize', handler);\r\n });\r\n useEffect(() => {\r\n if (sidebarCollapsed)\r\n window.document.body.classList.add('sidebar-collapse');\r\n\r\n return () => {\r\n window.document.body.classList.remove('sidebar-collapse');\r\n };\r\n }, [sidebarSliding, sidebarCollapsed]);\r\n\r\n\r\n const AuthenticatedLayout = withAuthentication(Layout);\r\n\r\n return \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 \r\n ;\r\n}\r\n","import { createStore, applyMiddleware, combineReducers } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\n\r\nimport * as SideBar from './SideBar';\r\nimport * as CurrentUser from './CurrentUser';\r\nimport * as Toasts from './Toasts';\r\n\r\nconst totalReducer = combineReducers({\r\n currentUser: CurrentUser.reducer,\r\n toasts: Toasts.reducer,\r\n sidebar: SideBar.reducer\r\n});\r\n\r\nexport default createStore(totalReducer, applyMiddleware(thunkMiddleware));\r\n","import EasySupportStore from './redux-local/app-store';\r\nimport { actionValidationError } from './redux-local/Toasts';\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\r\n EasySupportStore.dispatch(actionValidationError({\r\n key: 'sw',\r\n text: \"� disponibile una nuova versione dell'applicazione. � necessario ricaricare la pagina\"\r\n }));\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/js/bootstrap.js';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker, { unregister } from './registerServiceWorker';\r\nimport EasySupportStore from './redux-local/app-store';\r\nimport { Provider } from 'react-redux';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nunregister();\r\n\r\n"],"sourceRoot":""}