{"version":3,"sources":["service/http/mock lazy /^/.*/.json$/ groupOptions: {} namespace object","context/reducer/types.js","context/reducer/index.js","service/http/index.js","context/index.js","service/utils/index.js","components/Header/index.js","components/Popup/index.js","components/Error/index.js","components/TextEditor/index.js","components/AsyncButton/index.js","components/NewCall/index.js","components/Table/index.js","components/Card/index.js","components/Routes/Home/index.js","components/Tabs/index.js","components/Post/index.js","components/Routes/Call/index.js","components/Routes/Login/index.js","components/Routes/ForgotPassword/index.js","components/Footer/index.js","components/App/index.js","serviceWorker.js","index.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","t","keys","Object","module","exports","Actions","AppReducer","state","action","type","User","payload","ServiceCalls","length","call","DOCNO","CallInfo","foundCall","find","c","Topics","Types","WhitelistFiles","API","URLSearchParams","window","location","search","get","process","headers","Headers","append","Http","EndPoint","Options","includeHeaders","mocking","default","blob","Blob","JSON","stringify","Response","console","warn","sessionId","sessionStorage","getItem","set","options","fetch","res","ok","status","error","Email","Password","captchaHash","this","Fetch","method","json","token","authorization","startdate","top","text","now","Date","_text","toLocaleString","hour12","body","data","files","formData","FormData","forEach","file","i","CUSTNAME","EDPJ_QTEXT","CALLTYPECODE","NAME","docno","email","Token","STARTDATE","AppContext","React","createContext","initialState","Provider","children","useReducer","Reducer","dispatch","GetCallInfo","useCallback","a","http","GetCallInfoById","callinfo","useEffect","GetAllCallTypes","types","catch","err","GetAllTopics","topics","GetUploadExtWhiteList","whitelist","value","ext","FILEEXT","Logout","removeItem","MOBILE_SIZE","parseInt","TABLET_SIZE","useScreenSize","isClient","getSize","width","innerWidth","undefined","height","innerHeight","useState","windowSize","setWindowSize","handleResize","addEventListener","removeEventListener","Header","history","useHistory","useContext","match","useRouteMatch","screen","isUserNameShowed","setIsUserNameShowed","handleLogout","replace","usernameClasses","classNames","open","className","onClick","push","userName","Popup","isOpen","onChange","title","subtitle","showSuccess","_showSuccess","setshowSuccess","handleFinish","setTimeout","cloneElement","Finish","show","classes","DirectionAttribute","Quill","import","register","AlignClass","BackgroundClass","ColorClass","FontClass","SizeClass","SizeStyle","TextEditor","tabIndex","onTextChange","onFileChange","fileExt","uploaderRef","useRef","QuilRef","_files","setFiles","isValidFile","setIsValidFile","loaded","FixRTL","current","document","querySelector","image","clipboardData","items","includes","kind","preventDefault","getAsFile","editor","setText","format","fileExts","join","htmlFor","ref","valid","Array","from","target","some","name","toLowerCase","endsWith","accept","multiple","theme","modules","formats","valueHTML","createElement","innerHTML","filteredValue","innerText","bounds","preserveWhitespace","onFocus","key","index","filter","_","toolbar","font","direction","align","list","clipboard","matchVisual","AsyncButton","forwardRef","props","loading","setLoading","useImperativeHandle","Click","handleAsyncClick","NewCall","setTypes","CUSTREF","TOPICREF","TYPEREF","failedNewPost","setfailedNewPost","submitted","setSubmitted","Save","userData","selectedIndex","CODE","InserNewServiceCall","UpdateText","UpdatFile","GetTypes","GetAllCallTypesById","types_data","querySelectorAll","item","setAttribute","detail","CUSTDES","autoFocus","CALLTYPE","ECODE","maxItemsOptions","Table","calls","onReachedEnd","maxItems","setMaxItems","currentPage","setCurrentPage","ResetPage","startIndex","slice","to","pathname","moment","STATUSDATE","CDES","CALLSTATUSCODE","option","previousLabel","nextLabel","breakLabel","breakClassName","pageCount","Math","ceil","marginPagesDisplayed","pageRangeDisplayed","onPageChange","selected","containerClassName","subContainerClassName","activeClassName","forcePage","wb","Sheets","XLSX","aoa_to_sheet","TECHNICIANLOGIN","SheetNames","excelBuffer","bookType","FileSaver","Card","header","button","setIsOpen","Home","isFilterOpen","setIsFilterOpen","isLoading","setIsLoading","buttonRef","searchDate","onSearchDate","focus","setFocus","searched","setSearched","fetching","setFetching","TableRef","handleEnter","keyCode","GetServices","GetAllServiceCalls","FetchCalls","lastServiceCall","SearchServiceCalls","DOCNO_value","EDPJ_QTEXT_value","NAME_value","CUSTNAME_value","CALLTYPECODE_value","onLastCall","refreshing","animating","newState","placeholder","onKeyUp","date","onDateChange","focused","onFocusChange","numberOfMonths","displayFormat","isRTL","isOutsideRange","Tabs","tabs","render","setTabIndex","tab","Post","info","dangerouslySetInnerHTML","__html","Call","useParams","setCallInfo","setisOpen","comment","setComment","posts","setPosts","failedPost","setfailedPost","GetInfo","callInfo","GetFilesById","allFiles","GetTextById","allTexts","unmounted","_posts","TEXT","split","str","ele","trim","post","childs","isCustomerPost","child","removeChild","handleFiles","handleText","handlePost","updateText_res","updateFile_res","onReOpenClick","ReOpenDocq","popupState","EDPYDISABLED","doc","fileName","EXTFILEDES","url","FILEURL","EXTFILENAME","UDATE","rel","download","href","DownloadItem","emailRegex","Login","showPassword","setShowPassword","setEmail","setPassword","ShowError","setShowError","failedLogin","setFailedLogin","invalidEmail","setInvalidEmail","recaptchaRef","handleLogin","test","executeAsync","setItem","GetCustName","reset","sitekey","size","ForgotPassword","setToken","Success","setSuccess","useLocation","URL_params","email_param","token_param","handleForgotBtn","handleChangePassword","UpdatePassword","disabled","Footer","App","isClosed","setIsClosed","today","openTimes","displayName","Hour","getHours","Minutes","getMinutes","todayOpenTimes","getDay","isclosed","closed","path","exact","Boolean","hostname","ReactDOM","StrictMode","basename","getElementById","navigator","serviceWorker","ready","registration","unregister","message"],"mappings":"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","file":"static/js/main.7d025af5.chunk.js","sourcesContent":["var map = {\n\t\"./ForgotPassword.json\": [\n\t\t443,\n\t\t3\n\t],\n\t\"./GetAllCallTypes.json\": [\n\t\t444,\n\t\t4\n\t],\n\t\"./GetAllServiceCalls.json\": [\n\t\t445,\n\t\t5\n\t],\n\t\"./GetAllTopics.json\": [\n\t\t446,\n\t\t6\n\t],\n\t\"./GetCallInfoById.json\": [\n\t\t447,\n\t\t7\n\t],\n\t\"./GetCustName.json\": [\n\t\t448,\n\t\t8\n\t],\n\t\"./GetUploadextWhitelist.json\": [\n\t\t449,\n\t\t9\n\t],\n\t\"./Login.json\": [\n\t\t450,\n\t\t10\n\t],\n\t\"./UpdateText.json\": [\n\t\t451,\n\t\t11\n\t],\n\t\"./updatefpservice.json\": [\n\t\t452,\n\t\t12\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 200;\nmodule.exports = webpackAsyncContext;","\r\n\r\nexport const Actions = {\r\n SetUser: 'setuser',\r\n SetTopics: 'settopics',\r\n SetTypes: 'settypes',\r\n SetWhitelistFiles: 'setwhitelistfiles',\r\n SetServiceCalls: 'setservicecalls',\r\n AddServiceCalls: 'addservicecalls',\r\n SetCallInfo: 'setcallinfo',\r\n AddServiceCall: 'addservicecall'\r\n\r\n}","\r\nimport {Actions} from './types';\r\n\r\n\r\n\r\nconst AppReducer = (state, action) => {\r\n switch(action.type){\r\n case Actions.SetUser:\r\n return {...state , User: action.payload.state}\r\n case Actions.SetCallInfo:\r\n return {...state,\r\n ServiceCalls: state.ServiceCalls.length !== 0 ? state.ServiceCalls.map(call =>{\r\n if(call.DOCNO === action.payload.id) return {...action.payload.state, CallInfo: action.payload.state.CallInfo || call.CallInfo };\r\n return call;\r\n }) : [action.payload.state]\r\n }\r\n case Actions.SetServiceCalls:\r\n return {...state , \r\n ServiceCalls: action.payload.state.map(call => {\r\n const foundCall = state.ServiceCalls.find(c => c.DOCNO === call.DOCNO);\r\n if(!foundCall) return call;\r\n return {...call, CallInfo: foundCall.CallInfo}\r\n })\r\n }\r\n case Actions.SetTopics:\r\n return {...state , Topics: action.payload.state}\r\n case Actions.SetTypes:\r\n return {...state , Types: action.payload.state}\r\n case Actions.SetWhitelistFiles:\r\n return {...state , WhitelistFiles: action.payload.state}\r\n case Actions.AddServiceCall:\r\n return{...state, ServiceCalls: [action.payload.state, ...state.ServiceCalls]}\r\n case Actions.AddServiceCalls:\r\n return{...state, ServiceCalls: [ ...state.ServiceCalls, ...action.payload.state]}\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport default AppReducer;","const isDebug = new URLSearchParams(window.location.search).get('debug');\r\nconst API = isDebug === 'true' ? 'http://localhost' : process.env.REACT_APP_API_URL;\r\n\r\nconst headers = new Headers();\r\nheaders.append('Authorization' , '');\r\nheaders.append('Access-Control-Allow-Origin','*');\r\nheaders.append('Content-Type','application/json');\r\n\r\n\r\nconst mocking = process.env.REACT_APP_MOCK_DATA;\r\n\r\nexport default class Http {\r\n\r\n \r\n\r\n static async Fetch(EndPoint, Options = {}, includeHeaders = true){\r\n if(EndPoint){\r\n try {\r\n if(mocking === 'true'){\r\n try {\r\n const path = EndPoint.split('?')[0]; // remove url params\r\n const mocking = (await import(`./mock/${path}.json`)).default;\r\n var blob = new Blob([JSON.stringify(mocking)], {type : 'application/json'});\r\n return new Response(blob);\r\n } catch (error) {\r\n console.warn(`fetch: mocking data on ${EndPoint}` , error);\r\n }\r\n }\r\n\r\n const sessionId = sessionStorage.getItem('sessionId');\r\n if(sessionId && !headers.get('Authorization')) headers.set('Authorization', sessionId);\r\n let options = {...Options};\r\n if(includeHeaders) options = {...options , headers};\r\n const res = await fetch(`${API}/${EndPoint}`, {...options})\r\n if(res.ok) return res;\r\n else throw res.status\r\n \r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n }\r\n\r\n static async Login({Email, Password, captchaHash}){\r\n \r\n try {\r\n const res = await this.Fetch(`Login?username=${Email}&password=${Password}&captchaResponse=${captchaHash}` , { method: 'GET' });\r\n if(res.status !== 200){\r\n throw res.status;\r\n }\r\n const token = await res.json();\r\n headers.set('Authorization' ,token.authorization);\r\n return token;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async GetAllServiceCalls(startdate, top = 101){\r\n try {\r\n const res = await this.Fetch(`GetAllServiceCalls?top=${top}&statusdate=${startdate || ''}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async UpdateText({id, text}){\r\n try {\r\n const now = new Date();\r\n const _text = `${now.toLocaleString('he-IL', { hour12: false})}

${text}`\r\n const res = await this.Fetch(`UpdateText` , { method: 'POST', body: JSON.stringify({id, text: _text}) });\r\n const data = await res.json();\r\n if(data) return data;\r\n throw data;\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async UpdatFile({id, files}){\r\n try {\r\n\r\n const formData = new FormData();\r\n files.forEach((file, i) => {\r\n formData.append(`file${i}`, file);\r\n });\r\n \r\n //const res = await this.Fetch(`UpdatFile` , { method: 'POST', body: formData });\r\n const res = await fetch(`${API}/UpdatFile?id=${id}`, {\r\n method: 'POST',\r\n body: formData,\r\n headers:{\r\n \"Authorization\": headers.get('Authorization')\r\n }\r\n })\r\n const data = await res.json();\r\n if(data) return data;\r\n throw data;\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n \r\n static async InserNewServiceCall({CUSTNAME, EDPJ_QTEXT = \"\", CALLTYPECODE,NAME,text}){\r\n try {\r\n \r\n const res = await this.Fetch(`InserNewServiceCall` , \r\n { method: 'POST', \r\n body: JSON.stringify(\r\n {\r\n CUSTNAME,\r\n EDPJ_QTEXT,\r\n NAME,\r\n CALLTYPECODE,\r\n text\r\n }\r\n )});\r\n const data = await res.json();\r\n if(data) return data;\r\n throw data;\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n \r\n \r\n\r\n static async GetCustName(){\r\n try {\r\n const res = await this.Fetch(`GetCustName` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n \r\n static async GetCallInfoById(id){\r\n try {\r\n const res = await this.Fetch(`GetCallInfoById?id=${id}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async GetTextById(id){\r\n try {\r\n const res = await this.Fetch(`GetTextsById?id=${id}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async GetFilesById(id){\r\n try {\r\n const res = await this.Fetch(`GetFilesById?id=${id}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async GetAllTopics(){\r\n try {\r\n const res = await this.Fetch(`GetAllTopics` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async GetUploadExtWhiteList(){\r\n try {\r\n const res = await this.Fetch(`GetUploadExtWhiteList` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async GetAllCallTypes(){\r\n try {\r\n const res = await this.Fetch(`GetAllCallTypesSearch` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async GetAllCallTypesById(id){\r\n try {\r\n const res = await this.Fetch(`GetAllCallTypes?custname=${id}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n \r\n static async ReOpenDocq(docno){\r\n try {\r\n const res = await this.Fetch(`ReOpenDocq?DOCNO=${docno}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async ForgotPassword(email, captchaHash){\r\n try {\r\n const res = await this.Fetch(`ForgotPassword?email=${email}&captchaResponse=${captchaHash}` , { method: 'GET' });\r\n if(res.status !== 200){\r\n throw res.status;\r\n }\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n static async UpdatePassword({Email, Token , Password, captchaHash}){\r\n try {\r\n const res = await this.Fetch(`updatefpservice?email=${Email}&token=${Token}&Password=${Password}&captchaResponse=${captchaHash}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n\r\n static async SearchServiceCalls({DOCNO = '', EDPJ_QTEXT = '' , NAME = '' ,STARTDATE = '' , CUSTNAME = '' , CALLTYPECODE = ''} ){\r\n try {\r\n const res = await this.Fetch(`SearchServiceCalls?DOCNO=${DOCNO}&EDPJ_QTEXT=${EDPJ_QTEXT}&NAME=${NAME}&STARTDATE=${STARTDATE}&CUSTNAME=${CUSTNAME}&CALLTYPECODE=${CALLTYPECODE}` , { method: 'GET' });\r\n return await res.json();\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n \r\n\r\n}","import React, {useReducer, useCallback, useEffect} from 'react';\r\nimport Reducer from './reducer';\r\nimport {Actions} from 'context/reducer/types';\r\nimport http from 'service/http'\r\n\r\n\r\nexport const AppContext = React.createContext();\r\n\r\n\r\nconst initialState = {\r\n User: null,\r\n ServiceCalls: [],\r\n Topics: [],\r\n Types: [],\r\n WhitelistFiles: []\r\n\r\n}\r\nexport const Provider = ({children}) => {\r\n const [state, dispatch] = useReducer(Reducer, initialState)\r\n\r\n const GetCallInfo = useCallback(async(id) => {\r\n try {\r\n const foundCall = state.ServiceCalls.find(call => call.DOCNO === id);\r\n if(foundCall) return foundCall;\r\n \r\n const callinfo = await http.GetCallInfoById(id);\r\n dispatch({type: Actions.SetCallInfo, payload: {id, state: callinfo} }); \r\n return callinfo;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n \r\n // eslint-disable-next-line\r\n },[state.ServiceCalls]);\r\n \r\n\r\n useEffect(() => {\r\n\r\n http.GetAllCallTypes()\r\n .then(types => dispatch({type: Actions.SetTypes, payload: {state: types}}))\r\n .catch(err => console.error(err));\r\n\r\n\r\n http.GetAllTopics()\r\n .then(topics => dispatch({type: Actions.SetTopics, payload: {state: topics}}))\r\n .catch(err => console.error(err));\r\n\r\n http.GetUploadExtWhiteList()\r\n .then(data => {\r\n const whitelist = data.value.map(ext => `.${ext.FILEEXT}`);\r\n dispatch({type: Actions.SetWhitelistFiles, payload: {state: whitelist}})\r\n })\r\n .catch(err => console.error(err));\r\n\r\n\r\n }, [dispatch])\r\n\r\n\r\n const Logout = async() => {\r\n sessionStorage.removeItem('sessionId');\r\n dispatch({type: Actions.SetUser, payload:{state: null} });\r\n dispatch({type: Actions.SetServiceCalls, payload:{state: []} });\r\n return;\r\n }\r\n\r\n\r\n return \r\n {children}\r\n \r\n}","import { useRef } from 'react';\r\nimport {useState, useEffect} from 'react'\r\nexport const MOBILE_SIZE = parseInt(process.env.REACT_APP_MOBILE_SIZE);\r\nexport const TABLET_SIZE = parseInt(process.env.REACT_APP_TABLET_SIZE);\r\n\r\nexport function useScreenSize() {\r\n const isClient = typeof window === 'object';\r\n \r\n function getSize() {\r\n return {\r\n width: isClient ? window.innerWidth : undefined,\r\n height: isClient ? window.innerHeight : undefined\r\n };\r\n }\r\n \r\n const [windowSize, setWindowSize] = useState(getSize);\r\n \r\n useEffect(() => {\r\n if (!isClient) {\r\n return false;\r\n }\r\n \r\n function handleResize() {\r\n setWindowSize(getSize());\r\n }\r\n \r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n // eslint-disable-next-line\r\n }, []); // Empty array ensures that effect is only run on mount and unmount\r\n \r\n return windowSize;\r\n }\r\n\r\n\r\n\r\n export function usePrevious(value) {\r\n const ref = useRef();\r\n useEffect(() => {\r\n ref.current = value;\r\n });\r\n return ref.current;\r\n }","import React, {useContext, useState} from 'react'\r\nimport {AppContext} from 'context';\r\nimport {useHistory, useRouteMatch } from 'react-router-dom';\r\nimport {useScreenSize, MOBILE_SIZE} from 'service/utils';\r\nimport classNames from 'classnames';\r\nimport './style.scss';\r\n\r\n\r\nexport const Header = () => {\r\n\r\n const history = useHistory();\r\n const {state, Logout} = useContext(AppContext);\r\n const match = useRouteMatch(\"/call/:id\");\r\n const screen = useScreenSize();\r\n const [isUserNameShowed, setIsUserNameShowed] = useState(false)\r\n\r\n const handleLogout = () => {\r\n Logout().then(() => history.replace('/')); \r\n }\r\n\r\n const goToHome = () => {\r\n if(state.User){\r\n history.push('/home')\r\n }\r\n }\r\n\r\n const usernameClasses = classNames('username', {open: isUserNameShowed})\r\n return (\r\n
\r\n
\r\n \r\n {state.User && (match ? \r\n
history.push('/home')}>
\r\n : \r\n screen?.width > MOBILE_SIZE ? :
\r\n )}\r\n
\r\n {state.User ? \r\n screen?.width > MOBILE_SIZE ?
{state.User.userName}
: \r\n
\r\n
setIsUserNameShowed(!isUserNameShowed)}/>\r\n
{state.User.userName}
\r\n
\r\n : null\r\n }\r\n
\r\n
\r\n )\r\n}\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport \"./style.scss\";\r\n\r\nexport const Popup = ({ children, isOpen, onChange = ()=>null, title, subtitle, showSuccess, className }) => {\r\n \r\n const [_showSuccess, setshowSuccess] = useState(false);\r\n\r\n const handleFinish = useCallback(() => {\r\n setshowSuccess(true);\r\n\r\n setTimeout(() => {\r\n onChange(false);\r\n setshowSuccess(false);\r\n }, 2000);\r\n\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n useEffect(() => {\r\n \r\n if(showSuccess === undefined) return;\r\n\r\n\r\n if(showSuccess === true ){\r\n handleFinish();\r\n }\r\n \r\n\r\n }, [showSuccess, handleFinish])\r\n\r\n if (!isOpen) return null;\r\n\r\n\r\n return (_showSuccess ? \r\n
\r\n
\r\n
\r\n
{title}
\r\n
{subtitle}
\r\n
\r\n
\r\n : \r\n
\r\n
\r\n
onChange(false)}>
\r\n {children && React.cloneElement(children, { Finish: handleFinish })}\r\n
\r\n
\r\n );\r\n \r\n \r\n};\r\n","import React from 'react'\r\nimport classNames from 'classnames';\r\nimport './style.scss';\r\n\r\n\r\n\r\nexport const Error = ({className,show, children}) => {\r\n\r\n const classes = classNames('Error',className, {show})\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n","import { Error } from 'components/Error';\r\nimport React, {useRef, useState, useEffect} from 'react'\r\nimport ReactQuill, {Quill} from \"react-quill\";\r\nimport { usePrevious } from 'service/utils';\r\n\r\n\r\nimport './style.scss';\r\n\r\nconst DirectionAttribute = Quill.import('attributors/attribute/direction');\r\nQuill.register(DirectionAttribute, true);\r\nconst AlignClass = Quill.import('attributors/class/align');\r\nQuill.register(AlignClass, true);\r\nconst BackgroundClass = Quill.import('attributors/class/background');\r\nQuill.register(BackgroundClass, true);\r\nconst ColorClass = Quill.import('attributors/class/color');\r\nQuill.register(ColorClass, true);\r\nconst FontClass = Quill.import('attributors/class/font');\r\nQuill.register(FontClass, true);\r\nconst SizeClass = Quill.import('attributors/class/size');\r\nQuill.register(SizeClass, true);\r\nconst SizeStyle = Quill.import('attributors/style/size');\r\nQuill.register(SizeStyle, true);\r\n\r\n\r\n\r\nexport const TextEditor = ({tabIndex = 0,subtitle = '' ,title = '',text = '', onTextChange,files, onFileChange, fileExt = []}) => {\r\n\r\n const uploaderRef = useRef(undefined);\r\n const QuilRef = useRef(undefined);\r\n const [_files, setFiles] = useState(files || []);\r\n const [isValidFile, setIsValidFile] = useState(true);\r\n\r\n const handleTextChange = (value) => {\r\n const valueHTML = document.createElement('div');\r\n valueHTML.innerHTML = value\r\n const filteredValue = valueHTML.innerText ? value : '';\r\n onTextChange(filteredValue);\r\n \r\n }\r\n\r\n\r\n const fileChanged = (e) => {\r\n\r\n const valid = Array.from(e.target.files).some(file => fileExt.some(ext=> file.name.toLowerCase().endsWith(ext.toLowerCase())));\r\n //file.type.includes(ext.replace('.', '')) if need to check types too please ask for types array to be in fileExt\r\n \r\n setIsValidFile(valid);\r\n\r\n if(!valid) return;\r\n\r\n if(files) setFiles([...files, ...Array.from(e.target.files)]);\r\n else setFiles([..._files, ...Array.from(e.target.files)]);\r\n\r\n }\r\n\r\n const handleFileRemove = (index) => {\r\n setFiles(_files.filter( (_,i) => i !== index));\r\n }\r\n\r\n useEffect(() => {\r\n onFileChange(_files);\r\n // eslint-disable-next-line\r\n }, [_files]) \r\n\r\n\r\n const loaded = useRef(false);\r\n useEffect(() => {\r\n FixRTL();\r\n },[text])\r\n\r\n useEffect(() => {\r\n loaded.current = true;\r\n\r\n document.querySelector('.ql-editor').addEventListener('paste' , e => {\r\n const image = e.clipboardData.items[0];\r\n if(image.type.includes('image') && image.kind === 'file'){\r\n e.preventDefault();\r\n const file = image.getAsFile();\r\n if(files) setFiles([...files, file]);\r\n else setFiles([..._files, file]);\r\n }\r\n })\r\n }, [])\r\n\r\nconst FixRTL = () => {\r\n if(loaded.current&&!text && QuilRef.current) {\r\n const editor = QuilRef.current.editor\r\n editor.setText('');\r\n editor.format('direction', 'rtl');\r\n editor.format('align', 'right');\r\n }\r\n}\r\n\r\n\r\n\r\nconst fileExts = fileExt.join();\r\n return (\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n
{subtitle}
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n {(files || _files).map((file, i) => \r\n
\r\n {file.name}\r\n
handleFileRemove(i)}>X
\r\n
)}\r\n
\r\n סוג קובץ זה לא נתמך\r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nTextEditor.modules = {\r\n toolbar: [\r\n [{ font: [] }],\r\n [{ direction: \"rtl\" }],\r\n [{ align: [] }],\r\n [\"bold\", \"italic\", \"underline\"],\r\n [{ list: \"ordered\" }, { list: \"bullet\" }],\r\n ],\r\n clipboard: {\r\n // toggle to add extra line breaks when pasting HTML:\r\n matchVisual: false,\r\n },\r\n };\r\n /*\r\n * Quill editor formats\r\n * See https://quilljs.com/docs/formats/\r\n */\r\n TextEditor.formats = [\r\n \"font\",\r\n \"direction\",\r\n \"align\",\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"list\",\r\n \"bullet\",\r\n ];\r\n ","import React, { useState, forwardRef, useImperativeHandle } from 'react'\r\nimport classNames from 'classnames';\r\nimport './style.scss';\r\n\r\nexport const AsyncButton = forwardRef( (props, ref) => {\r\n\r\n const [loading, setLoading] = useState(false)\r\n const {children, onClick, className = ''} = props;\r\n\r\n\r\n useImperativeHandle(ref, () => ({\r\n Click(){\r\n handleAsyncClick();\r\n }\r\n }))\r\n\r\n const handleAsyncClick = async () =>{\r\n if(loading) return;\r\n try {\r\n setLoading(true);\r\n await onClick();\r\n } catch (error) {\r\n \r\n }\r\n setLoading(false);\r\n }\r\n\r\n\r\n const classes = classNames(`button AsyncButton ${className}`,{loading})\r\n return (\r\n \r\n )\r\n})\r\n","import React, {useContext, useRef, useState, useEffect } from \"react\";\r\nimport {TextEditor} from 'components/TextEditor';\r\nimport { AppContext } from \"context\";\r\nimport {Actions} from 'context/reducer/types';\r\nimport { AsyncButton } from \"components/AsyncButton\";\r\nimport Http from \"service/http\";\r\nimport { Error } from \"components/Error\";\r\n\r\nimport \"./style.scss\";\r\n\r\n\r\n\r\nexport const NewCall = ({ Finish }) => {\r\n\r\n const {state, dispatch} = useContext(AppContext);\r\n const [text, setText] = useState(\"\")\r\n const [files, setFiles] = useState([])\r\n const [types, setTypes] = useState([])\r\n const CUSTREF = useRef(undefined);\r\n const TOPICREF = useRef(undefined);\r\n const TYPEREF = useRef(undefined);\r\n const [failedNewPost, setfailedNewPost] = useState(false);\r\n const [submitted, setSubmitted] = useState(false);\r\n\r\n const Save = async() =>{\r\n try {\r\n setSubmitted(true);\r\n if(!TOPICREF.current.value || !text) return;\r\n setSubmitted(false);\r\n\r\n const {CUSTNAME, NAME} = state.User?.userData[CUSTREF.current.selectedIndex];\r\n const {CODE: CALLTYPECODE} = state.Types[TYPEREF.current.selectedIndex];\r\n setfailedNewPost(false);\r\n const call = await Http.InserNewServiceCall(\r\n {\r\n CUSTNAME,\r\n CALLTYPECODE,\r\n NAME,\r\n EDPJ_QTEXT: TOPICREF.current.value\r\n })\r\n await Http.UpdateText({id: call.DOCNO, text})\r\n if(files.length !== 0){\r\n await Http.UpdatFile({id: call.DOCNO, files});\r\n }\r\n dispatch({type: Actions.AddServiceCall, payload: {state: call}})\r\n setText('')\r\n Finish();\r\n\r\n } catch (error) {\r\n console.error(error);\r\n setfailedNewPost(true);\r\n }\r\n \r\n \r\n \r\n }\r\n \r\n const handleFiles = (files) => {\r\n setFiles(files);\r\n }\r\n\r\n const handleText = (text) => {\r\n setText(text);\r\n }\r\n\r\n\r\n\r\n const GetTypes = async() => {\r\n try {\r\n const {CUSTNAME} = state.User?.userData[CUSTREF.current.selectedIndex];\r\n if(CUSTNAME){\r\n const types_data = await Http.GetAllCallTypesById(CUSTNAME);\r\n setTypes(types_data);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n GetTypes()\r\n\r\n Array.from(document.querySelectorAll('.ql-formats button')).forEach(item=>item.setAttribute('tabindex', 1))\r\n Array.from(document.querySelectorAll('.ql-picker-label')).forEach(item=>item.setAttribute('tabindex', 1))\r\n document.querySelector('.ql-picker-label').setAttribute('tabindex', 1)\r\n document.querySelector('pre.ql-container').setAttribute('tabindex', -1)\r\n\r\n }, []);\r\n \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 );\r\n\r\n};\r\n","import React, { useState,forwardRef, useImperativeHandle } from \"react\";\r\nimport ReactPaginate from 'react-paginate';\r\nimport {Link} from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nimport './style.scss';\r\n\r\n\r\n\r\nconst maxItemsOptions = [6,10,20,50];\r\nexport const Table = forwardRef((props, ref) => {\r\n\r\n const {calls, onReachedEnd,loading = false} = props;\r\n const [maxItems, setMaxItems] = useState(6);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const handlePageClick = (data) => {\r\n setCurrentPage(data.selected);\r\n const lastPage = Math.ceil(calls.length / maxItems);\r\n if(lastPage <= data.selected + 1) onReachedEnd();\r\n }\r\n\r\n\r\n\r\n useImperativeHandle(ref, () => ({\r\n\r\n ResetPage() {\r\n setCurrentPage(0);\r\n }\r\n\r\n }));\r\n\r\n\r\n\r\n \r\n const exportToCSV = () => {\r\n\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n\r\n\r\n const ws = XLSX.utils.aoa_to_sheet ([\r\n [ \"מספר קריאה\", \"נושא\", \"נפתח על ידי\" , \"תאריך פתיחה\" , \"שם הלקוח\" , \"סוג קריאה\" , \"סטטוס\", \"לטיפול\" ],\r\n ...calls.map(call => [call.DOCNO, call.EDPJ_QTEXT, call.NAME, moment(call.STATUSDATE).format('DD.MM.YYYY'), call.CDES, call.ECODE, call.CALLSTATUSCODE, call.TECHNICIANLOGIN])\r\n ]\r\n );\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], {type: fileType});\r\n FileSaver.saveAs(data, `table_export${moment().format('DD.MM.YYYY')}${fileExtension}`);\r\n}\r\n\r\n\r\n const startIndex = currentPage * maxItems;\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 {calls.slice(startIndex, startIndex + maxItems).map((call) => (\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
{call.DOCNO}{call.EDPJ_QTEXT}{call.NAME}{moment(call.STATUSDATE).format('DD.MM.YYYY')}{call.CDES}{call.ECODE}{call.CALLSTATUSCODE}
\r\n
\r\n\r\n
\r\n \r\n {loading &&
}\r\n >\"}\r\n nextLabel={\"<<\"}\r\n breakLabel={\"\"}\r\n breakClassName={\"break-me\"}\r\n pageCount={Math.ceil(calls.length / maxItems)}\r\n marginPagesDisplayed={0}\r\n pageRangeDisplayed={4}\r\n onPageChange={handlePageClick}\r\n containerClassName={\"pagination\"}\r\n subContainerClassName={\"pages pagination\"}\r\n activeClassName={\"active\"}\r\n forcePage={currentPage}\r\n />\r\n\r\n \r\n
\r\n
\r\n );\r\n});\r\n","import React, {useState} from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Link } from 'react-router-dom';\r\nimport './style.scss';\r\n\r\nexport const Card = ({header = [], body = [],call, id, button = null}) => {\r\n\r\n const [isOpen, setIsOpen] = useState(false)\r\n\r\n const classes = classNames('Card' , {open: isOpen})\r\n return (\r\n
\r\n
setIsOpen(!isOpen)}>\r\n {header.map(item => \r\n
\r\n
\r\n {item.key}\r\n
\r\n
\r\n {item.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 {body.map(item => \r\n
\r\n
\r\n {item.key}\r\n
\r\n
\r\n {item.value}\r\n
\r\n
\r\n )}\r\n\r\n {button ? button : \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nCard.propTypes = {\r\n header: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.string,\r\n value: PropTypes.string | PropTypes.element\r\n })),\r\n body: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.string,\r\n value: PropTypes.string | PropTypes.element\r\n })),\r\n id: PropTypes.string,\r\n call: PropTypes.object,\r\n button: PropTypes.element\r\n}","import React, {useState, useContext, useEffect, useCallback, useRef} from \"react\";\r\nimport { Popup } from \"components/Popup\";\r\nimport { NewCall } from \"components/NewCall\";\r\nimport { Table } from \"components/Table\";\r\nimport {AppContext} from 'context';\r\nimport {Actions} from 'context/reducer/types';\r\nimport http from 'service/http';\r\nimport classNames from 'classnames';\r\nimport {useScreenSize, TABLET_SIZE} from 'service/utils';\r\nimport { Card } from \"components/Card\";\r\nimport moment from 'moment';\r\nimport { Link } from \"react-router-dom\";\r\nimport { AsyncButton } from \"components/AsyncButton\";\r\nimport { SingleDatePicker } from 'react-dates';\r\n\r\nimport 'react-dates/initialize';\r\nimport \"./style.scss\";\r\n\r\n\r\nexport const Home = () => {\r\n\r\n\r\n const {state , dispatch} = useContext(AppContext);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [isFilterOpen, setIsFilterOpen] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const DOCNO = useRef(undefined);\r\n const EDPJ_QTEXT = useRef(undefined);\r\n const NAME = useRef(undefined);\r\n const CUSTNAME = useRef(undefined);\r\n const CALLTYPECODE = useRef(undefined);\r\n const buttonRef = useRef();\r\n const screen = useScreenSize();\r\n const [searchDate, onSearchDate] = useState(null);\r\n const [focus,setFocus] = useState(false);\r\n const [searched,setSearched] = useState(false);\r\n const [fetching,setFetching] = useState(false);\r\n\r\n const TableRef = useRef(undefined)\r\n\r\n\r\n\r\n const PopupChange = (newState) => {\r\n setIsOpen(newState);\r\n }\r\n\r\n\r\n const handleEnter = (e) => {\r\n if(e.keyCode === 13 && buttonRef.current ){\r\n buttonRef.current.Click();\r\n } \r\n}\r\n\r\n\r\n const GetServices = useCallback(async() => {\r\n if(isLoading) return;\r\n \r\n try {\r\n setIsLoading(true);\r\n const calls = await http.GetAllServiceCalls();\r\n dispatch({type: Actions.SetServiceCalls, payload: {state: calls} }) \r\n setSearched(false);\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n finally{\r\n setIsLoading(false);\r\n }\r\n\r\n \r\n // eslint-disable-next-line\r\n },[dispatch])\r\n\r\n\r\n\r\n\r\n useEffect(()=> {GetServices()},[GetServices])\r\n\r\n\r\n\r\n const FetchCalls = async() =>{\r\n \r\n if(fetching) return;\r\n try {\r\n setFetching(true);\r\n const lastServiceCall = state.ServiceCalls[state.ServiceCalls.length - 1]; // let last array Element\r\n const calls = await http.GetAllServiceCalls(lastServiceCall.STARTDATE);\r\n dispatch({type: Actions.AddServiceCalls , payload: {state: calls}})\r\n } catch (error) {\r\n \r\n }\r\n finally{\r\n setFetching(false)\r\n }\r\n }\r\n\r\n\r\n const SearchServiceCalls = async() => {\r\n try {\r\n const DOCNO_value = DOCNO.current.value;\r\n const EDPJ_QTEXT_value = EDPJ_QTEXT.current.value;\r\n const NAME_value = NAME.current.value;\r\n const {CUSTNAME: CUSTNAME_value} = state.User?.userData[CUSTNAME.current.selectedIndex - 1] || '';\r\n const {CODE: CALLTYPECODE_value} = state.Types[CALLTYPECODE.current.selectedIndex - 1] || '';\r\n const STARTDATE = searchDate?.format('DD/MM/YYYY') || ''\r\n setSearched(true);\r\n const calls = await http.SearchServiceCalls({DOCNO: DOCNO_value, EDPJ_QTEXT: EDPJ_QTEXT_value , STARTDATE, NAME: NAME_value, CUSTNAME: CUSTNAME_value , CALLTYPECODE: CALLTYPECODE_value});\r\n dispatch({type: Actions.SetServiceCalls, payload: {state: calls} }) \r\n setIsFilterOpen(false);\r\n TableRef.current.ResetPage();\r\n return true;\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n const onLastCall = async() => {\r\n if(!searched) return await FetchCalls();\r\n }\r\n\r\n\r\n\r\n const refreshing = classNames('button btn_refresh', {animating: isLoading})\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 {searched&&}\r\n {state.ServiceCalls.length === 0 && !isLoading ?
אין תוצאות
\r\n : isLoading ?
:\r\n screen?.width > TABLET_SIZE ? \r\n \r\n : \r\n
\r\n {state.ServiceCalls.map(call => \r\n {call.DOCNO}}, {key: 'תאריך פתיחה', value: moment(call.STATUSDATE).format('DD.MM.YYYY')}]} \r\n body={[\r\n {key: 'נושא', value: call.EDPJ_QTEXT},\r\n {key: 'נפתח על ידי', value: call.NAME},\r\n {key: 'שם הלקוח', value: call.CDES},\r\n {key: 'סוג קריאה',value: call.ECODE},\r\n {key: 'סטטוס', value: call.CALLSTATUSCODE}\r\n ]}\r\n /> )}\r\n {!searched&&טען עוד}\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 setIsFilterOpen(newState)}>\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 onSearchDate(date)} // PropTypes.func.isRequired\r\n focused={focus} // PropTypes.bool\r\n onFocusChange={({ focused }) => setFocus(focused)} // PropTypes.func.isRequired\r\n id=\"your_unique_id\" // PropTypes.string.isRequired,\\\r\n numberOfMonths={1}\r\n displayFormat='DD/MM/YYYY'\r\n placeholder='תאריך'\r\n isRTL={true}\r\n isOutsideRange={()=>false}\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 React, {useState} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport './style.scss';\r\n\r\n\r\nexport const Tabs = ({tabs = [{title: '', render: ()=> null}] }) => {\r\n\r\n const [tabIndex , setTabIndex] = useState(0);\r\n\r\n\r\n return (\r\n
\r\n
\r\n {tabs.map((tab, index) =>
setTabIndex(index)} className={`Tab ${tabIndex === index ? 'selected' : ''}`}>{tab.title}
)} \r\n
\r\n {tabs[tabIndex].render()}\r\n
\r\n )\r\n}\r\n\r\n\r\nTabs.propTypes = {\r\n tabs: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string,\r\n render: PropTypes.func\r\n }))\r\n}","import React from \"react\";\r\nimport './style.scss';\r\n\r\nexport const Post = ({info, title}) => {\r\n return (\r\n
\r\n
{title}
\r\n
\r\n
\r\n );\r\n};\r\n","import React, {useEffect, useContext, useState, useRef, useCallback} from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { Tabs } from \"components/Tabs\";\r\nimport { Post } from \"components/Post\";\r\nimport { TextEditor } from \"components/TextEditor\";\r\nimport {AppContext} from 'context';\r\nimport { Popup } from \"components/Popup\";\r\nimport moment from 'moment';\r\nimport Http from \"service/http\";\r\nimport { AsyncButton } from \"components/AsyncButton\";\r\nimport classNames from 'classnames';\r\nimport { Actions } from \"context/reducer/types\";\r\nimport {useScreenSize, TABLET_SIZE} from 'service/utils';\r\nimport { Card } from \"components/Card\";\r\nimport { Error } from \"components/Error\";\r\n\r\nimport \"./style.scss\";\r\n\r\n\r\n\r\nexport const Call = () => {\r\n const { id } = useParams();\r\n const {state, GetCallInfo, dispatch} = useContext(AppContext);\r\n const [CallInfo, setCallInfo] = useState(null);\r\n const [isOpen, setisOpen] = useState(false);\r\n const [files, setFiles] = useState([]);\r\n const [comment, setComment] = useState(\"\");\r\n const [posts, setPosts] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [failedPost, setfailedPost] = useState(false);\r\n const screen = useScreenSize();\r\n\r\n\r\n\r\n\r\n const GetInfo = useCallback(async (callInfo) => {\r\n\r\n try {\r\n setIsLoading(true);\r\n const allFiles = await Http.GetFilesById(id);\r\n const allTexts = await Http.GetTextById(id);\r\n if(!unmounted.current) {\r\n dispatch({type: Actions.SetCallInfo, payload:{id, state: {...callInfo, CallInfo: \r\n {...callInfo.CallInfo, allFiles, allTexts}}}});\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n console.error(error);\r\n setIsLoading(false);\r\n }\r\n\r\n \r\n // eslint-disable-next-line\r\n },[id, dispatch])\r\n\r\n const unmounted = useRef(false);\r\n useEffect(() => {\r\n if(!isLoading){\r\n setIsLoading(true);\r\n GetCallInfo(id)\r\n .then(callInfo => {\r\n GetInfo(callInfo);\r\n })\r\n .catch(err=>console.error(err))\r\n }\r\n \r\n \r\n\r\n return () => {\r\n unmounted.current = true;\r\n }\r\n\r\n // eslint-disable-next-line\r\n }, [id, GetInfo])\r\n\r\n useEffect(() => {\r\n const foundCall = state.ServiceCalls.find(call => call.DOCNO === id);\r\n if(foundCall) setCallInfo(foundCall);\r\n\r\n \r\n }, [state.ServiceCalls, id])\r\n\r\n\r\n useEffect(()=> {\r\n const _posts = CallInfo?.CallInfo?.allTexts?.TEXT.split(/|/gi).filter(str => {\r\n const ele = document.createElement('div');\r\n ele.innerHTML = str\r\n return !!ele.innerText.trim(); // remove empty posts\r\n }).map(post => {\r\n const ele = document.createElement('div');\r\n ele.innerHTML = post.replace(/