{"version":3,"sources":["Redux/Constants/Area-Types.js","Redux/Reducer/AreaReducer.js","Redux/Constants/Device-Types.js","Redux/Reducer/DeviceReducer.js","Redux/Constants/Guide-Types.js","Redux/Reducer/GuideReducer.js","Redux/Constants/Media-Types.js","Redux/Reducer/MediaReducer.js","Redux/Constants/Login-Types.js","Redux/Reducer/LoginReducer.js","Redux/Constants/Location-Types.js","Redux/Reducer/LocationReducer.js","Redux/Constants/User.js","Redux/Reducer/UserReducer.js","Redux/Constants/QR.js","Redux/Reducer/QR.js","Redux/Constants/VirtualQRDetails.js","Redux/Reducer/VirtualQRDetails.js","Redux/Constants/VirtualQR.js","Redux/Reducer/VirtualQR.js","Redux/Constants/Company.js","Redux/Reducer/CompanyReducer.js","Redux/Constants/QRCodesToAssign.js","Redux/Reducer/QRCodesToAssign.js","Redux/Constants/Relation-Types.js","Redux/Reducer/RelationReducer.js","Redux/Constants/CompanyLocationMapping.js","Redux/Reducer/CompanyLocationMapping.js","Redux/Constants/QrDetails.js","Redux/Reducer/QrDetails.js","Redux/Constants/locationBycompany.js","Redux/Reducer/locationByCompany.js","Redux/Constants/qrByLocationId.js","Redux/Reducer/qrByLocationId.js","Redux/Constants/userRoles.js","Redux/Reducer/userRolesReducer.js","Redux/Constants/QRCodeId.js","Redux/Reducer/qrCodeId.js","Redux/Constants/Thumbnail.js","Redux/Reducer/ThumbnailReducer.js","Redux/Constants/AreaId.js","Redux/Reducer/AreaId.js","Redux/Constants/QRCodeIdByGuideType.js","Redux/Reducer/QRCodeIdByGuideType.js","Redux/Constants/assignQR.js","Redux/Reducer/assignQR.js","Redux/Constants/QRParentChild.js","Redux/Reducer/QRParentChild.js","Redux/Reducer/QrCodeThumbnailReducer.js","Redux/Constants/CopyQRCode.js","Redux/Reducer/CopyQRId.js","Redux/Constants/DashboardCount.js","Redux/Reducer/DashboardCount.js","Redux/Constants/productMarkingType.js","Redux/Reducer/productMarking.js","Redux/Constants/VirtualQrByLocation.js","Redux/Reducer/VirtualQrByLocation.js","Redux/Reducer/CombineAllReducers.js","store/configureStore.js","Routes/PrivateRoute.js","UserAssets/images/authenteklogo.png","components/VerticalLayout/Footer.js","api/uri_helper.js","assets/images/Message_light.svg","assets/images/fi-rr-lock1.svg","Redux/Api/fetch.api.js","components/Authentication/Login.js","assets/images/Menu.svg","assets/images/authenteklogo.png","assets/images/leftArrow.svg","assets/images/TEkaHelp.svg","assets/images/fav.ico","components/HorizontalLayout/Header.js","assets/images/Pipe_duotone_line.svg","assets/images/Database_duotone.svg","assets/images/Book_duotone.svg","assets/images/mapping-image.svg","assets/images/Mic_alt_duotone.svg","assets/images/Folder_alt_duotone_fill.svg","assets/images/Target_duotone_line.svg","assets/images/company_duotone.svg","assets/images/Arhive_load_duotone.svg","assets/images/User_scan_duotone.svg","assets/images/Sign_in_squre_light.svg","assets/images/User_duotone.svg","assets/images/qrcode_duotone.svg","assets/images/settings_duotone.svg","assets/images/location_duotone.svg","assets/images/QRupload_duotone.svg","assets/images/review_duotone.svg","components/HorizontalLayout/Navbar.js","components/HorizontalLayout/Footer.js","assets/images/login-image.png","assets/images/User_alt_light.svg","assets/images/Setting_line_light.svg","assets/images/TakeATour.svg","components/HorizontalLayout/Menubar.js","assets/images/change-password.png","assets/images/logout.png","components/Layout.js","components/loader.js","assets/img/Chevron_Right.svg","assets/images/active_users_ico.svg","assets/images/active_qr_ico.svg","assets/images/all_product_ico.svg","assets/images/all-medias_ico.svg","assets/images/pending-reviews_ico.svg","assets/images/top_companies_ico.svg","assets/images/qr_codeindex.svg","assets/images/qr_codereview.svg","assets/img/active_qr.svg","assets/img/active-user.svg","assets/img/all-media.svg","assets/img/Combined Shape.svg","assets/img/Group-chat.svg","assets/img/Long_arrow.svg","assets/img/thumbnail-img.svg","assets/img/total-company.svg","Redux/Actions/DashboardCount.js","components/Dashboard/Index.js","components/Authentication/Auth.js","components/Authentication/ForgotPassword.js","assets/images/eyeClose.svg","components/Authentication/EmailVerification.js","assets/images/Add.svg","assets/images/Union.svg","assets/images/Trash_duotone_line.svg","assets/images/Search_light.svg","assets/images/Edit_light.svg","assets/images/double-arrow.svg","assets/images/Trash_light.svg","components/User/Index.js","Redux/Actions/UserActions.js","Redux/Actions/CompanyActions.js","components/company/Index.js","components/Relation/index.js","Redux/Actions/RelationActions.js","Redux/Actions/MediaActions.js","Redux/Actions/LocationByCompany.js","Redux/Actions/qrByLocationId.js","Redux/Actions/QrDetails.js","Redux/Actions/QR.js","components/QrReview/index.js","UserAssets/images/phone.svg","UserAssets/images/bg.svg","UserAssets/images/logo.svg","UserAssets/images/scan-me.svg","UserAssets/images/qr.svg","UserAssets/images/toggle.svg","UserAssets/images/search1.svg","assets/images/support_page/support-email.svg","assets/images/support_page/support-location.svg","components/UserLogin/SupportUploader.js","assets/images/support_page/documentuploadicon.png","assets/images/support_page/support-open.svg","assets/images/support_page/attachment-icon.svg","assets/images/support_page/mike-icon.svg","assets/images/support_page/send-icon.svg","assets/images/support_page/need-help-img.svg","assets/images/support_page/side-msg-icon.svg","assets/images/support_page/support-close.svg","assets/images/support_page/side-phone-icon.svg","assets/images/support_page/settings.svg","assets/images/support_page/profile__new.png","assets/images/support_page/support-phone.svg","assets/images/support_page/mic_off.svg","assets/images/support_page/delete-media-icon.svg","assets/images/support_page/close-bot.svg","components/UserLogin/SupportRequest.js","assets/images/support_page/gallery.png","assets/images/support_page/video-camera.png","assets/images/support_page/document.png","UserAssets/images/arrow-left.svg","UserAssets/images/plus.svg","UserAssets/images/img2.png","UserAssets/images/pdf-icn.svg","UserAssets/images/copy.svg","UserAssets/images/download-icn.svg","UserAssets/images/close.svg","UserAssets/images/attach.svg","Redux/Actions/QrCodeId.js","UserAssets/images/play-circle 1.svg","components/UserLayout/Footer.js","components/UserLogin/AboutUs.js","UserAssets/images/comingSoon.png","UserAssets/images/support-open.svg","components/UserLayout/Header.js","UserAssets/images/support.png","Redux/Actions/QRCodeIdByGuideType.js","components/UserLogin/DetailedReview.js","UserAssets/images/pdf-icon.svg","UserAssets/images/zoom.svg","UserAssets/images/play.svg","UserAssets/images/noImage.jpg","UserAssets/images/thumbnail_image.png","UserAssets/images/attach.png","UserAssets/images/backbutton.svg","UserAssets/images/img1.png","UserAssets/images/img1.jpg","Redux/Actions/QRParentChild.js","assets/images/updateIcon.svg","components/UserLogin/VirtualQR.js","UserAssets/images/pdf.png","UserAssets/images/share.svg","UserAssets/images/copyicon.svg","UserAssets/images/mailicon.svg","UserAssets/images/closewhite.svg","components/UserLogin/QRParentChild.js","components/UserLogin/QRThumbnail.js","components/UserLogin/QRScan.js","assets/images/favorite_star.png","components/UserLogin/InvalidQR.js","components/QRAssign/QRAssign.js","Redux/Actions/assignQR.js","Redux/Actions/LocationActions.js","components/Location/Index.js","components/MediaType/Index.js","Redux/Actions/GuideActions.js","components/GuideType/Index.js","Redux/Actions/DeviceActions.js","components/DeviceType/Index.js","assets/images/SeekPng.svg","components/Authentication/EmailConfirmation.js","Redux/Actions/AreaActions.js","components/AreaType/Index.js","assets/images/Arrow_leftbrown.svg","components/AreaType/AddEdit.js","components/User/Add.js","assets/images/Arrow_left.svg","Redux/Actions/userRoles.js","components/company/AddEdit.js","components/Location/Add.js","components/Location/LocationUpdate.js","components/MediaType/Add.js","components/Relation/add.js","components/GuideType/Add.js","components/DeviceType/Add.js","assets/images/error-icon.svg","components/QR/QRUpload.js","components/QR/WebcamComponent.js","Redux/Actions/CopyQRCode.js","assets/images/scan-qr.svg","assets/images/enter-qr.svg","components/QR/openModal.js","Redux/Actions/CompanyLocationMapping.js","components/QR/upload.js","components/QrReview/AddQR.js","Redux/Actions/VirtualQRDetails.js","components/QrReview/VirtualQRReview.js","Redux/Actions/QRCodesToAssign.js","Redux/Actions/VirtualQrByLocation.js","components/ChangePassword/ChangePassword.js","components/ChangePassword/ChangeOldPassword.js","components/Dashboard/ThumbnailList.js","components/QREntries/QREntry.js","components/QREntries/Index.js","components/UserLogin/Contact.js","assets/images/dummyGoogle.jpg","assets/images/googleLogo.png","Redux/Actions/productMarking.js","assets/images/connect.svg","components/ProductPointing/index.js","components/QrReview/UpdateQR.js","App.js","registerServiceWorker.ts","index.js"],"names":["AreaTypes","initialState","areaTypes","DeviceTypes","deviceTypes","GuideTypes","guideTypes","MediaTypes","mediaTypes","Logins","Logout","SET_LOGOUT","logins","LocationTypes","location","UserTypes","user","QRTypes","SET_LOCATIONTYPEDATA","GET_QRCODEDATA","UPDATE_QRCODEDATA","GET_QRCODETHUMBNAIL","SAVE_MEDIATYPES","PUT_LOCATIONIDBYQRCODE","GET_VIRTUALQRCODE","qrTypes","QrReducers","state","type","payload","PUT_MEDIATYPES","data","VirtualQRDetails","virtualqrTypes","VirtualQR","virtualqrData","CompanyDetails","company","QRAssign","qrAssign","CompanyLocationData","relation","CompanyLocationMapping","CompanyLocationMappingData","QRDetails","qrDetails","allLocationByCompany","allLocationByCompanyId","allQRByLocationId","allQRByLocation","UserRoles","userRole","allQRCodeIdUser","allQRCodeId","ThumbnailDetails","thumbnail","AreaTypesIdData","areaTypesId","allUserGroupingData","allUserData","ParentQRId","QRParentChildData","qrCodeThumbnailData","CopyQRCodeId","copyQRData","DashboardCount","GetAllThumbnail","dashboardData","productTypes","products","virtualQRByLocationId","allVirtualQRByLocation","reducers","combineReducers","allAreaType","allDeviceType","allUserType","allGuideType","allLocationType","allMediaType","allLoginType","allQrType","allQRCodesToAssign","allCompanyDetails","allCompanyLocationData","allCompanyLocationMapping","allQrDetailData","allUserRoleReducers","allQrCodeIdReducers","allThumbnailReducers","allAreaIdReducers","allUserGroupingReducer","allQrCodeData","allParentQRId","allQRParentChildData","allQrDataWithThumbnail","allQRCopyData","allDashboardReducer","allThumbnailList","allProductMarkings","allvirtualqrcodes","allVirtualQRData","allVirtualQRCode","store","createStore","window","__REDUX_DEVTOOLS_EXTENSION__","PrivateRoute","Component","component","rest","render","props","localStorage","getItem","to","pathname","from","Footer","className","Date","getFullYear","href","target","src","logo","BASE_URI","Parent_URI","POST_LOGIN","GET_EMAILVERIFICATION","ADD_UPDATEPASSWORD","POST_CHANGEPASSWORD","GET_AREATYPES","GET_AREATYPEBYID","POST_AREATYPE","DELETE_AREATYPE","UPDATE_AREATYPE","GET_DEVICETYPES","POST_DEVICETYPE","GET_DEVICEBYID","DELETE_DEVICETYPE","UPDATE_DEVICETYPE","GET_GUIDETYPES","POST_GUIDETYPE","GET_GUIDEBYID","DELETE_GUIDETYPE","UPDATE_GUIDETYPE","GET_LOCATIONTYPES","POST_LOCATIONTYPE","GET_LOCATIONBYID","DELETE_LOCATIONTYPE","UPDATE_LOCATIONTYPE","UPDATE_LOCATIONFORQRCODEID","id","locationId","UPDATE_INSTLOCATION","GET_USER","POST_USER","GET_USERBYID","GET_DECRYPTEDTOKEN","DELETE_USER","UPDATE_USER","GET_USERROLES","GET_DASHBOARDCOUNT","GET_COMPANYDETAILS","GET_COMPANYDETAILSID","UPDATE_COMPANYDETAILS","POST_COMPANYDETAILS","DELETE_COMPANYDETAILS","GET_MEDIATYPES","POST_MEDIATYPES","GET_MEDIATYPESBYID","UPDATE_MEDIATYPES","GET_LocationByQRCodeId","CREATE_VIRTUALQRCODE","SAVEMEDIA_QRDATA","DELETEMEDIA_QRDATA","mediaId","DELETEMULTIPLEMEDIA_QRDATA","SAVELISTOFMEDIA_QRDATA","SAVEQRDETAILS_QRDATA","GET_ALLACTIVENOTMAPPEDQRCODES","SAVE_QRCODES","GET_VIRTUALQRDETAIL","PUT_ASSIGNVIRTUALWITHQR","GET_COMPANYLOCATIONDATA","POST_COMPANYLOCATIONDATA","GET_COMPANYLOCATIONBYID","UPDATE_COMPANYLOCATIONDATA","DELETE_COMPANYLOCATIONDATA","GET_VERIFYLOCATIONID","locationid","GET_CompanyLocationMapping","GET_QRDETAILS","GET_ALLMEDIA","LINK_QRDETAILS","GET_AllLocationByCompanyId","GET_AllQRByLocationId","GET_AllVirtualQRByLocationId","GET_GetAllProductLocation","pageIndex","GET_GetAllThumbnail","GET_SearchByThumbnail","filename","GET_SearchByProduct","productname","PUT_UPDATEQREDITDETAILS","POST_UpdateThumbnail","GET_ParentChildData","GET_AllQRCODEID","UPDATE_ParentQRCodeId","parentId","UPDATE_FavoritesQRCode","GET_QRDETAILS_BY_ID","GET_WORK_CATEGORY","POST_SUPPORT_REQUEST","fetchProducts","a","axios","get","url","response","fetchAllAreaId","areaId","AddQRCodes","qrcodeId","post","fetchDeviceProducts","fetchAllDeviceId","deviceId","fetchGuideProducts","fetchAllGuideId","guideId","fetchLocationProducts","fetchAllLocationId","fetchUserData","fetchUserRoleData","fetchCompanyDetails","fetchAllCompanyId","companyId","fetchMediaData","fetchAllMediaId","fetchAllActiveNotMappedQRcodes","fetchLocationByQRCodeId","qrCode","fetchCompanyLocationData","fetchNotMappedLocationId","fetchAllLocationComapnyId","locationCompanyId","fetchCompanyLocationMappingData","fetchAllLocationByCompanyId","fetchAllQRByLocationId","fetchAllVirtualQRByLocationId","fetchAllQrId","fetchAllQrCodes","fetchUpdatedQRCode","put","fetchAllQrCodesWithThumbnail","fetchAllUserId","userId","fetchAllLocationByQRId","QRId","updateAllParentQRId","copyAllQRDataById","formData","fetchAllParentChildQRId","qrId","fetchDashboardCount","fetchAllThumbnail","fetchVirtualQRCode","fetchSearchData","fetchProductLocation","fetchSearchProductName","fetchQRdetailsById","connect","toasts","useToasterStore","useEffect","filter","t","visible","_","i","forEach","toast","dismiss","useState","setEmailId","setPassword","isChecked","setisActive","setDisable","passwordType","setPasswordType","useLocation","history","useHistory","validation","useFormik","enableReinitialize","initialValues","emailid","password","validationSchema","Yup","required","matches","onSubmit","values","Authenticate","params","then","console","log","success","removeItem","setItem","token","userName","message","push","error","catch","err","rememberMe","Form","e","preventDefault","handleSubmit","class","style","color","Input","name","placeholder","maxLength","onChange","handleChange","onBlur","handleBlur","value","invalid","touched","errors","FormFeedback","onClick","checked","title","Header","handleClose","handleOpen","isSideBaropen","NavbarBrand","tag","Link","favIcon","LeftArrow","join","Navbar","alwaysShow","toggleAlwaysShow","alwaysShowLocation","setAlwaysShowLocation","alwaysShowVirtual","setAlwaysShowVirtual","alwaysShowSettings","setAlwaysShowsettings","qrRelatedLocations","locationRelated","SettingsRelated","virtualQRRelated","includes","handleKey","event","keyCode","innerText","tabIndex","onKeyDown","exact","activeClassName","Pipeduotoneline","Companyduotone","qrcodeduotone","QRupload","QrReview","Mapping","settingduotone","Targetduotoneline","Databaseduotone","Folderaltduotonefill","Micaltduotone","Userduotone","locationduotone","Menubar","loggedInUserName","loggedInEmailId","remmeberMe","require","config","showModal","setShow","process","REACT_TOUR_VIDEO","Takeatour","LoginImage","UserID","GoToProfile","Modal","show","onHide","closeButton","Title","Body","textAlign","controls","width","height","autoPlay","Button","variant","Layout","children","isOpen","setIsOpen","Fragment","Menu","Loader","fill","stroke","getThumbnail","allDashboardCounts","useSelector","allThumbnail","dispatch","useDispatch","loading","setLoading","setTimeout","getDashboardData","getAllThumbnail","dashboard","CombinedShape","alt","all_Product_Count","Chevron","activeQR","active_QR_Count","Total","active_Companies_Count","activeUser","active_Users_Count","Group","pending_Review_Count","allMedia","active_Media_Count","qrcodescan","qrcodereview","Thumbnail","length","map","item","index","fileurl","Long_arrow","setEncryptedToken","isSuccess","setIsSuccess","parts","split","encodedEmail","decodedEmail","atob","RedirectToDashboard","emailID","urlData","active","avatar","emailErr","sendEmail","email","lassName","roles","totalIndex","setCurrentIndex","sort","setSort","sortEmail","setSortEmail","sortRoles","setSortRoles","pagination","current","pageSizeOptions","options","setOptions","table","setTable","getProducts","total","count","showSizeChanger","deleteCustomerData","delete","confirm","bindRole","userRoles","x","roleName","uniqueIds","columns","dataIndex","text","record","undefined","firstName","lastName","sorter","b","localeCompare","filters","formatter","element","onFilter","sortOrder","onHeaderCell","sortDirections","emailId","filterData","indexOf","Edit_light","handleEdit","Trash_light","okText","okType","cancelText","onOk","onCancel","handleDelete","Add","dataSource","updatedOptions","SetCompanyDetails","sortAdd","setSortAdd","getCompanyDetails","PageIndex","PazeSize","deleteCompanyData","companyName","address1","filterDataAddress","scroll","setTotal","sortloc","setSortLoc","getCompanyLocationData","deleteLocationCompanyData","filterDataLocation","paginationTotalRows","setMediaTypes","mediatypes","getAllLocationByCompanyId","getAllQRByLocationId","qrByLocationId","getQrDataDetails","getQrCodeData","qrData","getQrCodeThumbnail","allMediaTypes","selectedCompanyLocations","selectedQrByLocation","currentCompanyId","setCurrentCompanyId","currentLocationId","setCurrentLocationId","currentQRId","setCurrentQRId","setMasterError","iswithmasterqr","setisWithmasterQr","sortLoc","sortMedia","setSortMedia","sortProductName","setSortProductName","sortQrcode","setSortQrcode","sortGuide","setSortGuide","sortArea","setSortArea","currentMediaId","setCurrentMediaId","showButton","setShowButton","checkedListOfIds","setCheckedListOfIds","pageSize","pageData","setPageData","qRcodeId","setQRCodeId","qRcodeadd","setQRCodeadd","mediaadd","setMediaadd","qRcodeError","setQRCodeError","setCount","ReadSearchedItem","getMediaData","getQRDetails","qRCodeIdToSend","parseInt","searchQrDetails","isReset","mediaTypeId","QRcodeId","searchedQRId","assignThumbnail","qrCodeId","FormData","append","method","deleteMediaData","deleteMultipleMediaData","toString","uncheckcheckbox","items","document","getElementsByName","resetButtonSearch","primaryQR","qrcodeid","updatedList","splice","handleCheck","product_Name","placement","Locations","guideType","areaType","mediaKey","dangerouslySetInnerHTML","__html","mediaDescription","thumbnailID","mediaType","Union","onKeyPress","RegExp","test","key","disabled","startsWith","handleCompanyChange","media","SaveSeachedItems","AddImage","SupportUploadImage","isActive","setIsActive","setData","withIcon","withLabel","withPreview","buttonText","singleImage","images","pictureFiles","pictureDataURLs","newImagesUploaded","slice","defaultImages","imgExtension","accept","SupportRequest","fileTypeId","audio","fileType","uploadedFileNames","supportModalDisplay","setSupportModalDisplay","iconColor","workCategory","setWorkCategory","workCategoryId","setWorkCategoryId","setMessage","messageDisplay","setMessageDisplay","displayState","setDisplayState","phnumber","setPhNumber","phoneError","setPhoneError","requestType","setRequestType","setTouched","submitButtonDisabled","setSubmitButtonDisabled","attacmentOptionsDisplay","setAttacmentOptionsDisplay","closeSupportModal","upload","pictures","maxFileSize","setImages","setImageName","uploadedChatBotImage","setUploadedChatBotImage","uploadedChatBotVideo","setUploadedChatBotVideo","uploadedChatBotVoice","setUploadedChatBotVoice","uploadedChatBotDoc","setUploadedChatBotDoc","recordingStarted","setPdfMedia","fileName","setFileName","setRecordedFileName","inputVideoRef","useRef","inputDocRef","audioRef","audioStream","setAudioStream","mediaRecorder","setMediaRecorder","isRecording","setIsRecording","inputString","setInputString","errorMessage","setErrorMessage","textMessageErr","setTextMessageErr","textErrorMessage","setTextErrorMessage","textareaDisable","setTextareaDisable","setIsLoading","setHeicFile","isDisabled","setIsDisabled","selectedCountry","setSelectedCountry","audioBlob","setAudioBlob","setDocFileName","attachmentOptionsRef","allUploadedFiles","setAllUploadedFiles","handleFileType","fileTypeExtension","handleRequest","handleDisplayState","handleCategory","workCategoryResponse","Set","Array","isArray","fileObj","Extension","_fileData","File","AttachmentFile","has","FileTypeId","add","imageUrl","contentType","blob","b64toBlob","substring","videoData","Blob","pdfBlob","pdfFile","pdfData","recordedData","trimmedMessage","trim","prev","b64Data","sliceSize","byteCharacters","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","timeoutId","clearTimeout","handleButtonClick","calculateImageSize","base64","binaryData","binaryString","bytes","base64ToBinary","fileSizeInBytes","fileSizeInKB","kilobytes","megabytes","handleImagesChange","files","uploadedFilesWithExtensions","extension","file","match","toLowerCase","dataUriIndex","nameIndex","semicolonIndex","nameSubstring","dotIndex","lastIndexOf","base64String","size","fetch","heic2any","conversionResult","URL","createObjectURL","newFilename","replace","newBlob","newUrl","prevImages","some","existingFile","prevFiles","handleImageDeletion","handleRemoveImgClick","replaceExistingAudio","recordedFileName","audiofileType","audioFileExtension","existingAudioIndex","findIndex","createElement","load","handleSubmitText","array","string","str","updatedAllFilesArray","removedImage","updatedImagesArray","removedVideo","updatedVideosArray","removedDoc","updatedDocsArray","isMobileView","innerWidth","background","close_icon","role","side_msg","side_phone","setting","profile_pic","Suppport_Open","Label","defaultCountry","onCountryChange","country","international","countryCallingCodeEditable","autoFocus","phone","Select","selectedValue","category","workDescription","close_container_icon","playsInline","fluid","documentuploadicon","ref","hidden","video","doc","stop","getTracks","track","mike_off","navigator","mediaDevices","getUserMedia","stream","recorder","MediaRecorder","audioChunks","ondataavailable","onstop","fileExtension","timestamp","getTime","start","mike_icon","click","videos","duplicateFiles","newVideosToAdd","videoFile","pop","urlForVideo","prevVideos","multiple","uploadedDocumentsWithExtensions","Name","newDocsToAdd","prevDocs","prevState","attachment_icon","handleRequestSubmit","send_icon","locatiion","PhoneIcon","SupportIcon","addQrCodes","AboutUs","isParentId","isId","isQRCode","parentQrCodeId","parentQRId","parentQrCodeIdnew","parentQrCodeIdlatest","qrGroupingDetails","isBackButton","isCurrentid","BackBtn","setQrCodeIdDataByGuideType","locationObject","numPages","setNumPages","allQRCodeIdData","parentThumbnail","Object","keys","entries","qrGrouping","qrDescription","setqrDescription","viewpdf","setViewpdf","setQRId","allQrData","urlId","nextId","getQRDescBasedonMediaID","flat","find","Item","playing","Plus","header","qR_Description","downloadIcon","onLoadSuccess","apply","page","pageNumber","renderTextLayer","tabindex","Close","getQrParentChildData","param","modal","setModal","detailDesc","setDetailDesc","virtualCodeData","mediaDetails","checkCode","virtualQRCode","handleQRModalShow","description","substr","backdrop","keyboard","dialogClassName","QRParentChildDetail","childQrDetails","checkVirtualData","setCheckVirtualData","scanedQRDetails","currentId","setCurrentId","comingqrId","setComingQrId","setCurrentVirtualId","showChildImage","setShowChildImage","showmodal","setShowModal","backbutton","setBackButton","childDataId","virtualData","setVirtualData","setVirtualCode","checkVirtualCode","setCheckVirtualCode","checkQRCode","setCheckQRCode","parentDataId","baseUrl","URLSearchParams","search","origin","getparentchilddata","qrcode","comingid","getQRDetailsonLoad","isVirtualCode","next","backPage","handleQRImageShow","thumbnailName","ShareIcon","stopPropagation","querySelector","classList","remove","CloseIcon","link","clipboard","writeText","alert","cursor","CopyIcon","EmailIcon","marginRight","zoom","details","newQueryParam","newurl","navigateWithQueryParam","noimage","mediaDescOfQR","childThumbnail","setId","showZoomImage","setShowZoomImage","qRCode","setQRCode","QrCode","thumbnailImage","mainGroping","thumb","play","PDF","allQRIdBasedData","qrModal","setQrModal","delay","onError","result","qrError","constraints","facingMode","onResult","uri","ScanQR","setParentId","setQrCodeId","setSearch","searchData","setSearchData","setCheckScannedData","searchClicked","setSearchClicked","searchError","setSearchError","searchOptions","setSearchOptions","getPageURL","changeOnFav","setChangeOnFav","selectedItem","setSelectedItem","prevCountRef","nameUrl","host","getAllQRCodes","getAllQRWithThumbnail","handleSearch","handleDataSearch","searchProductName","searchDataFinal","parent_QRCodeID","updateParentByQR","childQrCodeId","parentQRCodeId","selectedQrCodePairs","child","parent","searchState","setSearchState","setSelectedQrCodePairs","parentDdChangeHndlr","selectedParentValue","selectedForChild","defaultValue","alreadyChanged","Option","date","dateAndTime","time","newtime","newtime1","reverse","getFullDate","row","showSearch","productFound","onSearch","handleInputForDropdown","qrCodes","k","favorites","favoriteIcon","updateIcon","childQRCodeId","handleFavourite","uncheckedIcon","checkedIcon","onColor","handleDiameter","boxShadow","onHandleColor","activeBoxShadow","setLocationType","addLocationTypeData","updateLocationTypeData","updateInstLocationData","deleteLocationData","allLocationTypes","deleteLocationTypeData","address","setGuideTypes","guidetypes","sortDesc","setSortDesc","deleteGuideTypeData","guideTypeId","viewOrder","handleUpdate","setDeviceTypes","devictypes","deleteDeviceTypeData","deviceTypeId","SeekPng","setAreaTypes","aretypes","deleteAreaData","areaTypeId","aretype","setName","desc","setDesc","disable","pageButton","postProducts","Description","Active","updateAreaData","isNaN","Arrow_leftbrown","defaultChecked","allUserRoles","lname","setLname","setEmail","setAddress","setPhnumber","ifUpdate","setifUpdate","selectRoles","setSelectRoles","setRoles","rolesError","setRolesError","setSlectedCountryCode","togglePassword","pswd","passwordHash","phoneNumber","getRole","getRoleIds","selectedRoles","roleItem","roleId","label","when","is","otherwise","postUserData","updateUserData","FirstName","LastName","PasswordHash","PhoneNumber","Address","rolesIdsToUpdate","Update","enableSearch","countryCode","dialCode","mode","labelInValue","tokenSeparators","selected","arr1","datas","filter_data","setCompanyName","contactEmail","allAddress","getAllAddress","addressData","setAddressData","stateData","setStateData","postalCode","setCountry","setPostalCodeDisable","city","setCity","setPhoneNumber","contactName","setContactName","postalCodeData","setPostalCodeData","setFieldsValue","handleAddressSelect","placeId","geocodeByAddress","results","getLatLng","latlang","lat","lng","geocodeByPlaceId","place","address_components","c","types","long_name","componentType","postCompanyData","updateCompanyDetails","handleStateChangeForAddress","onSelect","getInputProps","suggestions","getSuggestionItemProps","suggestion","backgroundColor","nameErr","addressErr","setSelectedCountryCode","latitude","setLatitude","longitude","setLongitude","setContactEmail","customerId","getLocationData","addLocationType","Latitude","Longitude","updateLocationType","setLocname","bulkLocationId","setBulkLocationId","setDisabledUpdate","setCompanyData","getRadioButton","setGetRadioButton","getAllCompanies","radioButtonValueChange","handleBulkLocationUpdate","LocationId","handleSingleLocationUpdate","getFullInstalDate","for","setKey","addMediaType","Key","updateMediaType","allCompanyData","addRelationData","setViewOrder","addGuideType","ViewOrder","updateGuideType","trimLeft","min","addDeviceType","updateDeviceType","UploadImage","fileTypeError","WebcamCapture","webcamRef","React","setImgSrcs","capture","useCallback","imageSrc","getScreenshot","screenshotFormat","copyQRCodeIdData","copyData","AssignQR","allDeviceTypes","allAreaTypes","allGuideTypes","allCompanyLocationMappingData","createModal","setCreateModal","copyQRCodeId","setCopyQRCodeId","setHandleLocation","showCamera","showEnter","setShowEnter","currentLocationIdShow","setCurrentLocationIdShow","currentDeviceTypeId","setCurrentDeviceTypeId","currentAreaTypeId","setCurrentAreaTypeId","currentMediaTypeId","setCurrentMediaTypeId","currentMediaTypeKey","setCurrentMediaTypeKey","currentGuideTypeId","setCurrentGuideTypeId","locationName","setLocationName","countDesc","setCountDesc","setShowLocation","setShowLocationNameByQR","setDeviceName","setAreaName","copyModal","setCopyModal","setMediaName","setGuideName","textError","setTextError","qrcodeError","setQrcodeError","validqrError","setValidQrError","videoMessage","setVideoMessage","currentCompanyLocationId","setcurrentCompanyLocationId","setLocationNameByQRId","locationIdByQRId","setLocationIdByQRId","setPlayed","mediaTypeSelected","setMediaTypeSelected","showQrDetail","setShowQrDetail","locationMapError","setLocationMapError","camera","setCamera","imgSrcs","fileInputRef","urlMedia","setUrlMedia","InputRef","source","setSource","showVideo","setShowVideo","urlFormatError","setUrlFormatError","videoFormatError","setVideoFormatError","videoSizeError","setVideoSizeError","pdfMedia","videoMedia","setVideoMedia","pdfFileName","setPDFFileName","setqrcode","textMedia","setTextMedia","videoFileName","setVideoFileName","imagesErr","urlMediaErr","pdfMediaErr","textMediaErr","setError","getDeviceTypeData","getAreaTypeDetails","getMediaTypeDetails","getGuideTypeDetails","getCompanyLocationMapping","getLocationDetails","ProductName","pdferror","setPdfError","mediaFiles","setMediaFiles","setPdfData","handleFileChange","warn","confirmUpload","handleErrors","handleEnterManualQR","handleCreateModalClose","handleError","updateLocationByQRId","handleCopyModalClose","verifyNotMappedLocations","copyMediaData","handleShow","prevImgs","saveMediaType","isMedia","mFile","vedioData","saveMediaData","handleEditorChange","editor","getData","locationDetails","AddVirtual","companyLocationMappingData","mappingName","getCompanyLocationTypeData","mapping","QRCode","deviceDetails","getDeviceDetails","isDeleted","areaDetails","getAreaDetails","guideDetails","getGuideDetails","getMediaDetails","imgSrc","onDuration","duration","onPdfSaveData","ClassicEditor","selectMedia","rows","EnterQR","errorIcon","UploadComponent","setConditionalStyleImage","setUploadMedia","image","PAGE_SIZE","allCompanyDataDetails","countQr","setCountQr","countProduct","setCountProduct","countDevice","setCountDevice","productData","setProductData","countArea","setCountArea","countGuide","setCountGuide","countMedia","setCountMedia","countText","setCountText","zoomFilename","setZoomFilename","zoomVideo","setZoomVideo","showQrDropdown","setShowQrDropdown","qrInfoSearch","setQrInfoSearch","assignBtnDisable","setAssignBtnDisable","mediaTypeIdToFilter","setMediaTypeIdToFilter","qrCodeToUpdate","priorityList","currentVirtualqrcode","setCurrentVirtualqrcode","deviceName","areaName","guideName","deviceDescription","setDeviceDescription","currentQRCodeId","setCurrentQRCodeId","qrCodeDescription","setQrCodeDescription","areaDescription","setAreaDescription","guideDescription","setGuideDescription","ifAddingQrCode","setifAddingQrCode","pdfLink","setpdfLink","setState","setPostalCode","priority","setPriority","setHeader","changeCount","setChangeCount","mediaIdToUpdate","setMediaIdToUpdate","setqrcodeToAdd","videoModal","setVideoModal","virtualModal","setVirtualModal","filteredMediaData","setFilteredMediaData","filteredResults","AssignError","setAssignError","EditorState","createEmpty","editorState","setEditorState","mediaDesc","setMediaDesc","setMediaFilename","checkedListOfMedia","setCheckedListOfMedia","selectedMediaList","setSelectedMediaList","hasMore","setHasMore","conditionalStyleQR","conditionalStyleDevice","setConditionalStyleDevice","conditionalStyleCompany","setConditionalStyleCompany","conditionalStyleLocation","setConditionalStyleLocation","conditionalStyleArea","setConditionalStyleArea","conditionalStyleGuide","setConditionalStyleGuide","conditionalStyleUpload","setConditionalStyleUpload","setConditionalStyleHeader","conditionalStylePriority","setConditionalStylePriority","conditionalStyleImage","conditionalStyleVideo","setConditionalStyleVideo","conditionalStylePdf","setConditionalStylePdf","conditionalStyleUrl","setConditionalStyleUrl","closeLinkSection","setCloseLinkSection","textMediaError","companyErr","locationErr","qrcodeErr","deviceErr","areaErr","guideErr","mediaErr","priorityErr","subPriorityErr","headerErr","dataErrorShow","setDataErrorShow","pdf","setUpdateSection","activeAccordianArea","activeAccordianDevice","activeAccordianGuides","activeAccordianHeader","activeAccordianQR","activeAccordianUpload","showDataError","handleImageUploadChange","activeAccordianupload","q","countryObj","setPdfPresent","setImgPresent","imgPresent","pdfpresent","getAllLocationByCompany","g","deviceType","qrcodedeDesc","getQRCodeDetails","loc","getMediaDataForModal","resetTable","API_URL","mediaDataFromDB","mediaList","totalCount","currentDataLength","handleRemoveMediaClick","selectedMediaArray","urlDataMedia","updateSection","uploadMedia","onEditorStateChange","setEditorReference","innerHTML","handleBtnClick","handleVirtualModalClose","handleHeaderOnChange","errResult","iffieldserror","handleCopyQRdata","handleVirtualQRdata","ReactPlayer","marginBottom","wrapperClassName","editorClassName","toolbarClassName","editorRef","toolbar","fontSize","handleInputForQRInfo","handleProductName","handleDescription","m","dataLength","loader","endMessage","scope","Checked","mediaTypeName","handleCheckMedia","UrlImage","d","MediaChanges","getMediaDetailsUpload","p","getVirtualQrDataDetails","virtualqrDetails","allQRCodesAssigned","allVirtualQRByLocations","virtualId","setVirtualId","assignIndex","setAssignIndex","currentVirtualQRId","setCurrentVirtualQRId","setAssignQrCode","tableChild","setTableChild","assignModal","setAssignModal","imageModal","setImageModal","imageData","setImageData","imageFilename","setImageFilename","QrCodeID","setProductName","setAssignQr","addVirtualQrDetails","getQRCodesToAssign","qrCodestoassign","virtualqrByLocationId","handleAssignModal","handleAssignModalClose","assignQrCode","expandedRowRender","nestedcolumns","handleVideoOpen","mediaQRRelations","passwordTypeCon","setPasswordTypeCon","useParams","newPassword","conPassword","oneOf","onUpdatePassword","onChangePassword","username","currentPassword","EmailId","CurrentPassword","NewPassword","Username","initialData","setInitialData","getAllThumbnailData","option","mbsize","Math","trunc","handleImageOpen","display","float","maxWidth","AddQREntries","qrCodeError","addQRCode","getallQRCodes","contactUs","allowfullscreen","referrerpolicy","getProductType","PAGE_INDEX","isLoaded","useLoadScript","googleMapsApiKey","center","useMemo","filteredProductData","setFilteredProductData","setSelected","setIndex","allData","setAllData","setSearchClickData","directionClick","setDirectionClick","getProductLocation","allProductList","productDataFromDB","handleDirectionButtonOnSearch","handleDirectionButton","mapContainerClassName","position","onMouseOver","onMouseOut","connectIcon","TOAST_LIMIT","mediaFilename","mediaName","htmlText","blocksFromHtml","DOMParser","parseFromString","body","htmlToDraft","contentBlocks","entityMap","contentState","ContentState","createFromBlockArray","createWithContent","updateQrEditDetails","handlePriorityOnChange","path","Login","Auth","ForgotPassword","EmailVerification","EmailConfirmation","Dashboard","Index","AreaTypeAdd","IndexDevice","DeviceTypeAdd","IndexGuideType","GuideTypeAdd","IndexLocationType","LocationAdd","LocationUpdate","User","UserTypeAdd","CompanyIndex","CompanyAdd","MediaIndex","MediaTypeAdd","MediaComponent","RelationIndex","RelationAdd","RelationComponent","IndexQrDetails","VirtualQRReview","QrDetailsComponent","AddQR","ThumbnailList","QREntriesIndex","ProductPointing","ChangePassword","ChangeOldPassword","QRThumbnail","QRScan","QRParentChild","DetailedReview","InvalidQR","UpdateQR","isLocalhost","Boolean","hostname","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","ReactDOM","configureStore","App","getElementById","addEventListener","headers","status","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.e0e287da.chunk.js","sourcesContent":["export const AreaTypes = {\r\n SET_AREATYPES: \"SET_AREATYPES\",\r\n SELECTED_AREATYPE: \"SELECTED_AREATYPE\",\r\n GET_AllAreaIdUser: \"GET_AllQRCodeIdUser\",\r\n ADD_AREATYPE: \"ADD_AREATYPE\",\r\n UPDATE_AREATYPE: \"UPDATE_AREATYPE\",\r\n DELETE_SELECTED_AREATYPE: \"DELETE_SELECTED_AREATYPE\",\r\n}","import { AreaTypes } from \"../Constants/Area-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n areaTypes: []\r\n}\r\n\r\nexport const AreaReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case AreaTypes.SET_AREATYPES:\r\n return { ...state, areaTypes: payload.data }; // assinging \r\n //Developer\r\n case AreaTypes.ADD_AREATYPE:\r\n return { ...state, areaTypes: payload };\r\n\r\n //Delete AreaType\r\n case AreaTypes.DELETE_SELECTED_AREATYPE:\r\n return { ...state, areaTypes: payload };\r\n\r\n \r\n //\r\n default:\r\n return state;\r\n }\r\n};","export const DeviceTypes = {\r\n SET_DEVICETYPES: \"SET_DEVICETYPES\",\r\n ADD_DEVICETYPES: \"ADD_DEVICETYPES\",\r\n UPDATE_DEVICETYPES: \"UPDATE_DEVICETYPES\",\r\n DELETE_SELECTED_DEVICETYPES: \"DELETE_SELECTED_DEVICETYPES\",\r\n \r\n}","import { DeviceTypes } from \"../Constants/Device-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n deviceTypes: []\r\n}\r\n\r\nexport const DeviceReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case DeviceTypes.SET_DEVICETYPES:\r\n return { ...state, deviceTypes: payload.data };\r\n\r\n //Add DeviceType\r\n case DeviceTypes.ADD_DEVICETYPES:\r\n return { ...state, deviceTypes: payload };\r\n\r\n //Delete DeviceType\r\n case DeviceTypes.DELETE_SELECTED_DEVICETYPES:\r\n return { ...state, deviceTypes: payload };\r\n \r\n default:\r\n return state;\r\n }\r\n};","export const GuideTypes = {\r\n SET_GUIDETYPES: \"SET_GUIDETYPES\",\r\n ADD_GUIDETYPES: \"ADD_GUIDETYPES\",\r\n UPDATE_GUIDETYPES: \"UPDATE_GUIDETYPES\",\r\n DELETE_SELECTED_GUIDETYPES: \"DELETE_SELECTED_GUIDETYPES\",\r\n}","import { GuideTypes } from \"../Constants/Guide-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n guideTypes: []\r\n}\r\n\r\nexport const GuideReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case GuideTypes.SET_GUIDETYPES:\r\n return { ...state, guideTypes: payload.data };\r\n //Add GuideType\r\n case GuideTypes.ADD_GUIDETYPES:\r\n return { ...state, guideTypes: payload };\r\n\r\n //Delete GuideType\r\n case GuideTypes.DELETE_SELECTED_GUIDETYPES:\r\n return { ...state, guideTypes: payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const MediaTypes = {\r\n SET_MEDIATYPES: \"SET_MEDIATYPES\",\r\n ADD_MEDIATYPES: \"ADD_MEDIATYPES\",\r\n UPDATE_MEDIATYPES: \"UPDATE_MEDIATYPES\",\r\n DELETE_SELECTED_MEDIATYPES: \"DELETE_SELECTED_MEDIATYPES\",\r\n\r\n}","import { MediaTypes } from \"../Constants/Media-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n mediaTypes: []\r\n}\r\n\r\nexport const MediaReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case MediaTypes.SET_MEDIATYPES:\r\n return { ...state, mediaTypes: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const Logins = {\r\n SET_LOGINS: \"SET_LOGINS\"\r\n} \r\n\r\nexport const Logout = {\r\n SET_LOGOUT: \"SET_LOGOUT\"\r\n} ","import { Logins, Logout } from \"../Constants/Login-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n logins: []\r\n}\r\n\r\n\r\n\r\nexport const LoginReducers = (state = initialState, { type, payload }) => {\r\n \r\n switch (type) {\r\n case Logins.SET_LOGINS:\r\n return { ...state, logins: payload.data };\r\n\r\n case Logout.SET_LOGOUT:\r\n\r\n \r\n return {\r\n ...state,\r\n //isLoggedIn: false,\r\n logins: []\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const LocationTypes = {\r\n SET_LOCATIONTYPES: \"SET_LOCATIONTYPES\",\r\n ADD_LOCATIONTYPES: \"ADD_LOCATIONTYPES\",\r\n UPDATE_LOCATIONTYPES: \"UPDATE_LOCATIONTYPES\",\r\n DELETE_SELECTED_LOCATIONTYPES: \"DELETE_SELECTED_LOCATIONTYPES\",\r\n UPDATE_INSTLOCATION: \"UPDATE_INSTLOCATION\"\r\n}","import { LocationTypes } from \"../Constants/Location-Types\"\r\n\r\n// initial state\r\nconst initialState = {\r\n location: []\r\n}\r\n\r\nexport const LocationReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case LocationTypes.SET_LOCATIONTYPES:\r\n return { ...state, location: payload.data };\r\n\r\n //Add DeviceType\r\n case LocationTypes.ADD_LOCATIONTYPES:\r\n return { ...state, location: payload };\r\n\r\n //Delete DeviceType\r\n case LocationTypes.DELETE_SELECTED_LOCATIONTYPES:\r\n return { ...state, location: payload };\r\n \r\n default:\r\n return state;\r\n }\r\n};","export const UserTypes = {\r\n SET_USERTYPES:\"SET_USERTYPES\",\r\n ADD_USERTYPES:\"ADD_USERTYPES\",\r\n UPDATE_USERTYPES: \"UPDATE_USERTYPES\",\r\n DELETE_USERTYPES: \"DELETE_USERTYPES\",\r\n}\r\n\r\n\r\n","import { UserTypes } from \"../Constants/User\";\r\n// initial state\r\nconst initialState = {\r\n user: []\r\n}\r\n\r\nexport const UserReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case UserTypes.SET_USERTYPES:\r\n return { ...state, user: payload.data };\r\n\r\n //Add CustomerType\r\n case UserTypes.ADD_USERTYPES:\r\n return { ...state, user: payload };\r\n\r\n //Delete CustomerType\r\n case UserTypes.DELETE_USERTYPES:\r\n return { ...state, user: payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const QRTypes = {\r\n SET_LOCATIONTYPEDATA: \"SET_LOCATIONTYPEDATA\",\r\n GET_QRCODEDATA: \"GET_QRCODEDATA\",\r\n UPDATE_QRCODEDATA:\"UPDATE_QRCODEDATA\",\r\n GET_QRCODETHUMBNAIL: \"GET_QRCODETHUMBNAIL\",\r\n SAVE_MEDIATYPES: \"SAVE_MEDIATYPES\",\r\n PUT_LOCATIONIDBYQRCODE: \"UPDATE_LOCATIONIDBYQRCODE\",\r\n GET_VIRTUALQRCODE: \"GET_VIRTUALQRCODE\",\r\n \r\n}","\r\nimport { QRTypes } from \"../Constants/QR\";\r\n\r\n// initial state\r\nconst initialState = {\r\n qrTypes: []\r\n}\r\n\r\nexport const QrReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case QRTypes.SET_LOCATIONTYPEDATA:\r\n return { ...state, qrTypes: payload.data };\r\n\r\n case QRTypes.GET_QRCODEDATA:\r\n return { ...state, qrTypes: payload.data };\r\n\r\n // case QRTypes.UPDATE_QRCODEDATA:\r\n // return {...state,qrTypes:state.qrTypes.map(\r\n // (qrType, i) => i === payload.data.index ? {...qrType,favourites:true}\r\n // : qrType\r\n // )};\r\n\r\n case QRTypes.SAVE_MEDIATYPES:\r\n return { ...state, qrTypes: payload.data };\r\n\r\n case QRTypes.PUT_MEDIATYPES:\r\n return { ...state, qrTypes: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const VirtualQRDetails = {\r\n GET_VIRTUALQRDATADETAILS: \"GET_VIRTUALQRDATADETAILS\",\r\n PUT_ASSIGNVIRTUALWITHQR: \"PUT_ASSIGNVIRTUALWITHQR\"\r\n \r\n\r\n}\r\n","import { VirtualQRDetails } from \"../Constants/VirtualQRDetails\";\r\n\r\n// initial state\r\nconst initialState = {\r\n virtualqrTypes: []\r\n}\r\n\r\nexport const VirtualQrReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case VirtualQRDetails.GET_VIRTUALQRDATADETAILS:\r\n return { ...state, virtualqrTypes: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const VirtualQR = {\r\n GET_VIRTUALQRUSERSECTION: \"GET_VIRTUALQRUSERSECTION\",\r\n GET_ALLVIRTUALQRCODES: \"GET_ALLVIRTUALQRCODES\"\r\n \r\n\r\n\r\n}\r\n","import { VirtualQR } from \"../Constants/VirtualQR\";\r\n\r\n// initial state\r\nconst initialState = {\r\n virtualqrData: []\r\n}\r\n\r\nexport const VirtualQrDataReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case VirtualQR.GET_VIRTUALQRUSERSECTION:\r\n return { ...state, virtualqrData: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const VirtualQrCodesReturned = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case VirtualQR.GET_ALLVIRTUALQRCODES:\r\n return { ...state, virtualqrData: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n}","export const CompanyDetails = {\r\n SET_COMPANYDETAILS:\"SET_CompanyDetails\",\r\n SELECTED_COMPANYDETAILS: \"SELECTED_COMPANYDETAILS\",\r\n UPDATE_COMPANYDETAILS: \"UPDATE_COMPANYDETAILS\",\r\n ADD_COMPANYDATA: \"ADD_COMPANYDATA\",\r\n DELETE_COMPANYDATA: \" DELETE_COMPANYDATA\",\r\n\r\n}\r\n","\r\nimport { CompanyDetails } from \"../Constants/Company\";\r\n// initial state\r\nconst initialState = {\r\n company: []\r\n}\r\n\r\nexport const CompanyReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case CompanyDetails.SET_COMPANYDETAILS:\r\n return { ...state, company: payload.data };\r\n //Developer\r\n case CompanyDetails.ADD_COMPANYDATA:\r\n return { ...state, company: payload };\r\n\r\n\r\n //Delete CompanyData\r\n case CompanyDetails.DELETE_COMPANYDATA:\r\n return { ...state, company: payload };\r\n default:\r\n return state;\r\n }\r\n};","export const QRAssign = {\r\n GET_QRCODESNOTMAPPED: \"GET_QRCODESNOTMAPPED\"\r\n\r\n\r\n\r\n}\r\n","import { QRAssign } from \"../Constants/QRCodesToAssign\";\r\n\r\n// initial state\r\nconst initialState = {\r\n qrAssign: []\r\n}\r\n\r\nexport const QRAssignReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case QRAssign.GET_QRCODESNOTMAPPED:\r\n return { ...state, qrAssign: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const CompanyLocationData = {\r\n SET_COMPANYLOCATIONDATA: \" SET_COMPANYLOCATIONDATA\",\r\n ADD_COMPANYLOCATIONDATA: \"ADD_COMPANYLOCATIONDATA\",\r\n UPDATE_COMPANYLOCATIONDATA: \"UPDATE_COMPANYLOCATIONDATA\",\r\n DELETE_COMPANYLOCATIONDATA: \"DELETE_COMPANYLOCATIONDATA\",\r\n \r\n}","\r\nimport { CompanyLocationData } from \"../Constants/Relation-Types\";\r\n\r\n// initial state\r\nconst initialState = {\r\n relation: []\r\n}\r\n\r\nexport const CompanyLocationReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case CompanyLocationData.SET_COMPANYLOCATIONDATA:\r\n return { ...state, relation: payload.data };\r\n\r\n //Add DeviceType\r\n case CompanyLocationData.ADD_COMPANYLOCATIONDATA:\r\n return { ...state, relation: payload };\r\n\r\n //Delete DeviceType\r\n case CompanyLocationData.DELETE_COMPANYLOCATIONDATA:\r\n return { ...state, relation: payload };\r\n \r\n default:\r\n return state;\r\n }\r\n};","export const CompanyLocationMapping = {\r\n SET_COMPANYLOCATIONMAPPING: \"SET_COMPANYLOCATIONMAPPING\",\r\n GET_NOTMAPPEDLOCATION: \"GET_NOTMAPPEDLOCATION\",\r\n}","import { CompanyLocationMapping } from \"../Constants/CompanyLocationMapping\";\r\n// initial state\r\nconst initialState = {\r\n CompanyLocationMappingData: []\r\n}\r\n\r\nexport const CompanyLocationMappingReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case CompanyLocationMapping.SET_COMPANYLOCATIONMAPPING:\r\n return { ...state, CompanyLocationMappingData: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const QRDetails = {\r\n GET_QRDATADETAILS: \"GET_QRDATADETAILS\",\r\n DELETE_SELECTED_QRTYPE: \"DELETE_SELECTED_QRTYPE\",\r\n DELETE_MULTIPLE_QRTYPE: \"DELETE_MULTIPLE_QRTYPE\",\r\n PUT_UPDATEQREDIT_DETAILS: \"PUT_UPDATEQREDIT_DETAILS\"\r\n \r\n}","\r\nimport { QRDetails } from \"../Constants/QrDetails\";\r\n// initial state\r\nconst initialState = {\r\n qrDetails: []\r\n}\r\n\r\nexport const QrDetailReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case QRDetails.GET_QRDATADETAILS:\r\n return { ...state, qrDetails: payload.data };\r\n\r\n //Delete QrType\r\n case QRDetails.DELETE_SELECTED_QRTYPE:\r\n return { ...state, qrDetails: payload.data };\r\n\r\n // Delete Multiple QrType\r\n case QRDetails.DELETE_MULTIPLE_QRTYPE:\r\n return { ...state, qrDetails: payload.data };\r\n\r\n \r\n default:\r\n return state;\r\n \r\n }\r\n};","export const allLocationByCompany = {\r\n\r\n GET_AllLocationByCompanyId: \"GET_AllLocationByCompanyId\",\r\n UPDATE_LocationByCompanyId: \"UPDATE_LocationByCompanyId\"\r\n}","\r\nimport { allLocationByCompany } from \"../Constants/locationBycompany\";\r\n// initial state\r\nconst initialState = {\r\n allLocationByCompanyId: []\r\n}\r\n\r\nexport const AllLocationByCompanyReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case allLocationByCompany.GET_AllLocationByCompanyId:\r\n return { ...state, allLocationByCompanyId: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const allQRByLocationId = {\r\n\r\n GET_AllQRByLocationId: \" GET_AllQRByLocationId\"\r\n}","import { allQRByLocationId } from \"../Constants/qrByLocationId\";\r\n// initial state\r\nconst initialState = {\r\n allQRByLocation: []\r\n}\r\n\r\nexport const allQRByLocation = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case allQRByLocationId.GET_AllQRByLocationId:\r\n return { ...state, allQRByLocation: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const UserRoles = {\r\n SET_USERROLES:\"SET_USERROLES\",\r\n }","import { UserRoles } from \"../Constants/userRoles\";\r\n// initial state\r\nconst initialState = {\r\n userRole: []\r\n}\r\n\r\nexport const UserRoleReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case UserRoles.SET_USERROLES:\r\n return { ...state, user: payload.data };\r\n\r\n \r\n default:\r\n return state;\r\n }\r\n};","export const allQRCodeIdUser = {\r\n GET_AllQRCodeIdUser: \"GET_AllQRCodeIdUser\",\r\n ADD_AllQRCodes: \"ADD_AllQRCodes\"\r\n\r\n}","import { allQRCodeIdUser } from \"../Constants/QRCodeId\";\r\n\r\n// initial state\r\nconst initialState = {\r\n allQRCodeId: []\r\n}\r\n\r\nexport const allQRCodeIdUserData = (state = initialState, { type, payload }) => {\r\n\r\n switch (type) {\r\n \r\n case allQRCodeIdUser.GET_AllQRCodeIdUser:\r\n return { ...state, allQRCodeId: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\n","export const ThumbnailDetails = {\r\n POST_ThumbnailDetails: \"POST_ThumbnailDetails\"\r\n \r\n}","\r\n\r\nimport {ThumbnailDetails} from \"../Constants/Thumbnail\"\r\n// initial state\r\nconst initialState = {\r\n thumbnail: []\r\n}\r\n\r\nexport const ThumbnailReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n\r\n \r\n case ThumbnailDetails.POST_ThumbnailDetails:\r\n return { ...state, thumbnail: payload };\r\n\r\n \r\n \r\n default:\r\n return state;\r\n }\r\n};","export const AreaTypesIdData = {\r\n GET_AllAreaIdUser: \"GET_AllQRCodeIdUser\",\r\n \r\n}","import { AreaTypesIdData } from \"../Constants/AreaId\"\r\n// initial state\r\nconst initialState = {\r\n areaTypesId: []\r\n}\r\n\r\n\r\nexport const AreaIdReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case AreaTypesIdData.GET_AllAreaIdUser:\r\n return { ...state, areaTypesId: payload.data };\r\n //\r\n default:\r\n return state;\r\n }\r\n};","export const allUserGroupingData = {\r\n GET_AllUserGroupingData: \"GET_AllUserGroupingData\"\r\n}","import { allUserGroupingData } from \"../Constants/QRCodeIdByGuideType\";\r\n// initial state\r\nconst initialState = {\r\n allUserData: []\r\n}\r\n\r\nexport const allUserGroupingReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case allUserGroupingData.GET_AllUserGroupingData:\r\n return { ...state, allUserData: payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const ParentQRId = {\r\n \r\n PUT_PARENTQRID: \"PUT_PARENTQRID\",\r\n}","\r\nimport { ParentQRId } from \"../Constants/assignQR\";\r\n// initial state\r\nconst initialState = {\r\n qrTypes: []\r\n}\r\n\r\nexport const parentQrReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case ParentQRId.PUT_PARENTQRID:\r\n return { ...state, qrTypes: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const QRParentChildData= {\r\n GET_QRParentChildData: \"GET_QRParentChildData\"\r\n \r\n}","import { QRParentChildData } from \"../Constants/QRParentChild\"\r\n// initial state\r\nconst initialState = {\r\n qrDetails: []\r\n}\r\n\r\nexport const QrParentChildReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case QRParentChildData.GET_QRParentChildData:\r\n return { ...state, qrDetails: payload };\r\n \r\n default:\r\n return state;\r\n \r\n }\r\n};","\r\nimport { QRTypes } from \"../Constants/QR\";\r\n\r\n// initial state\r\nconst initialState = {\r\n qrCodeThumbnailData: []\r\n}\r\n\r\nexport const QrThumbnailReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case QRTypes.GET_QRCODETHUMBNAIL:\r\n\r\n return { ...state, qrCodeThumbnailData: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const CopyQRCodeId = {\r\n SET_CopyQRCodeIdData: \"SET_CopyQRCodeIdData\",\r\n}","import { CopyQRCodeId } from \"../Constants/CopyQRCode\"\r\n// initial state\r\nconst initialState = {\r\n copyQRData: []\r\n}\r\n\r\nexport const CopyQRDataId = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n //Developer\r\n case CopyQRCodeId.SET_CopyQRCodeIdData:\r\n return { ...state, copyQRData: payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const DashboardCount= {\r\n GET_DASHBOARDCOUNT: \"GET_DASHBOARDCOUNT\", \r\n}\r\nexport const GetAllThumbnail ={\r\n GET_ALLTHUMBNAIL : \"GET_ALLTHUMBNAIL\"\r\n}","import { DashboardCount,GetAllThumbnail } from \"../Constants/DashboardCount\"\r\n\r\n// initial state\r\nconst initialState = {\r\n dashboardData: [],\r\n thumbnail :[]\r\n}\r\n\r\n\r\nexport const DashboardReducers = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n \r\n case DashboardCount.GET_DASHBOARDCOUNT:\r\n return { ...state, dashboardData: payload.data };\r\n case GetAllThumbnail.GET_ALLTHUMBNAIL:\r\n return {...state,thumbnail :payload.allThumbnailList}\r\n default:\r\n return state;\r\n }\r\n};","export const productTypes = {\r\n GET_ALLPRODUCTS: \"GET_ALLPRODUCTS\",\r\n\r\n}","import {productTypes} from '../Constants/productMarkingType'\r\n\r\n// initial state\r\nconst initialState = {\r\n products: []\r\n}\r\n\r\nexport const productMarkType = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case productTypes.GET_ALLPRODUCTS:\r\n return { ...state, products: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};","export const virtualQRByLocationId = {\r\n\r\n GET_VIRTUALQRByLocationId: \"GET_VIRTUALQRByLocationId\"\r\n}\r\n","import { virtualQRByLocationId } from \"../Constants/VirtualQrByLocation\";\r\n// initial state\r\nconst initialState = {\r\n allVirtualQRByLocation: []\r\n}\r\n\r\nexport const allVirtualQRByLocation = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n\r\n case virtualQRByLocationId.GET_VIRTUALQRByLocationId:\r\n return { ...state, allVirtualQRByLocation: payload.data };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { combineReducers } from \"redux\";\r\nimport { AreaReducers } from './AreaReducer';\r\nimport { DeviceReducers } from './DeviceReducer';\r\nimport { GuideReducers } from './GuideReducer';\r\nimport { MediaReducers } from './MediaReducer';\r\nimport { LoginReducers } from './LoginReducer';\r\nimport { LocationReducers } from \"./LocationReducer\";\r\nimport { CustomerReducers, UserReducers } from \"./UserReducer\";\r\nimport { QrReducers } from \"./QR\";\r\nimport { VirtualQrReducers } from \"./VirtualQRDetails\";\r\nimport { VirtualQrDataReducers } from \"./VirtualQR\";\r\nimport { VirtualQrCodesReturned } from \"./VirtualQR\";\r\nimport { CompanyReducers } from \"./CompanyReducer\";\r\nimport { QRAssignReducers } from \"./QRCodesToAssign\";\r\nimport { CompanyLocationReducers } from \"./RelationReducer\";\r\nimport { CompanyLocationMappingReducers } from \"./CompanyLocationMapping\";\r\nimport { QrDetailReducers } from \"./QrDetails\";\r\nimport { AllLocationByCompanyReducers } from \"./locationByCompany\";\r\nimport { allQRByLocation } from \"./qrByLocationId\";\r\nimport { UserRoleReducers } from \"./userRolesReducer\";\r\nimport { allQRCodeIdUserData } from \"./qrCodeId\";\r\nimport { ThumbnailReducers } from \"./ThumbnailReducer\";\r\nimport { AreaIdReducers } from \"./AreaId\";\r\nimport { allQRCodeIdDataGuideReducer, allUserGroupingReducer } from \"./QRCodeIdByGuideType\";\r\nimport { parentQrReducers } from \"./assignQR\";\r\nimport { QrParentChildReducers } from \"./QRParentChild\";\r\nimport { QrThumbnailReducers } from \"./QrCodeThumbnailReducer\"\r\nimport { CopyQRDataId } from \"./CopyQRId\";\r\nimport { DashboardReducers } from \"./DashboardCount\";\r\nimport { productMarkType } from \"./productMarking\";\r\nimport { allVirtualQRByLocation } from \"./VirtualQrByLocation\";\r\n\r\n// combine all reducers here // mapping\r\nconst reducers = combineReducers({\r\n allAreaType: AreaReducers,\r\n allDeviceType: DeviceReducers,\r\n allUserType: UserReducers,\r\n allGuideType: GuideReducers,\r\n allLocationType:LocationReducers,\r\n allMediaType: MediaReducers,\r\n allLoginType: LoginReducers,\r\n allQrType: QrReducers,\r\n allQRCodesToAssign: QRAssignReducers,\r\n allCompanyDetails: CompanyReducers,\r\n allCompanyLocationData: CompanyLocationReducers,\r\n allCompanyLocationMapping: CompanyLocationMappingReducers,\r\n allQrDetailData: QrDetailReducers,\r\n allLocationByCompany: AllLocationByCompanyReducers,\r\n allQRByLocationId: allQRByLocation,\r\n allUserRoleReducers: UserRoleReducers,\r\n allQrCodeIdReducers: allQRCodeIdUserData,\r\n allThumbnailReducers: ThumbnailReducers,\r\n allAreaIdReducers: AreaIdReducers,\r\n allUserGroupingReducer: allUserGroupingReducer,\r\n allQrCodeData: QrReducers,\r\n allParentQRId:parentQrReducers,\r\n allQRParentChildData: QrParentChildReducers,\r\n allQrDataWithThumbnail: QrThumbnailReducers,\r\n allQRCopyData : CopyQRDataId,\r\n allDashboardReducer: DashboardReducers,\r\n allProductMarkings: productMarkType,\r\n allvirtualqrcodes: VirtualQrReducers,\r\n allVirtualQRByLocation: allVirtualQRByLocation,\r\n allVirtualQRData: VirtualQrDataReducers,\r\n allVirtualQRCode :VirtualQrCodesReturned\r\n});\r\n\r\nexport default reducers;","import { createStore } from \"redux\";\r\n\r\nimport reducers from \"../Redux/Reducer/CombineAllReducers\";\r\n\r\nconst store = createStore(\r\n reducers,\r\n {},\r\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\r\n);\r\n\r\nexport default store; ","import React from 'react';\r\nimport { Redirect, Route } from 'react-router-dom';\r\n\r\nexport const PrivateRoute = ({ component: Component, ...rest }) => (\r\n \r\n !localStorage.getItem('token') ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n);\r\n","export default __webpack_public_path__ + \"static/media/authenteklogo.cc4da08e.png\";","import React from \"react\"\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\n\r\nconst Footer = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
© AuthenTEK ({new Date().getFullYear()} ) | TEKaHelp ™
\r\n {/*
Powered by AuthenTEK
*/}\r\n
\r\n
Powered by
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Footer\r\n","// Server details\r\n//export const BASE = 'https://localhost:44359' // LocalHost\r\n//export const BASE = 'https://tekahelpbeta.azurewebsites.net' //Dev\r\n export const BASE = 'https://tekahelp.azurewebsites.net' //Production\r\n\r\n\r\nexport const BASE_URI = `${BASE}/api`\r\nexport const SIGNALR_ENDPOINT = 'https://localhost:7044'\r\n\r\nexport const PARENT = 'https://tekaverse.com'\r\nexport const Parent_URI = `${PARENT}`\r\n\r\n// Authentication \r\nexport const POST_LOGIN = `${BASE_URI}/User/SignIn`\r\n\r\n//Email Verification\r\nexport const GET_EMAILVERIFICATION= `${BASE_URI}/User/VerifyEmail`\r\n\r\n\r\n//Forgot Password\r\nexport const ADD_UPDATEPASSWORD = `${BASE_URI}/User/UpdatePassword` \r\n\r\n//Change Password\r\nexport const POST_CHANGEPASSWORD = `${BASE_URI}/User/ChangePassword` \r\n\r\n// Area Type \r\nexport const GET_AREATYPES = `${BASE_URI}/AreaType`\r\nexport const GET_AREATYPEBYID = `${BASE_URI}/AreaType/GetAreaDetailById`\r\nexport const POST_AREATYPE = `${BASE_URI}/AreaType`\r\nexport const DELETE_AREATYPE = `${BASE_URI}/AreaType`\r\nexport const UPDATE_AREATYPE = `${BASE_URI}/AreaType`\r\n\r\n// Device Type \r\nexport const GET_DEVICETYPES = `${BASE_URI}/DeviceType`\r\nexport const POST_DEVICETYPE = `${BASE_URI}/DeviceType`\r\nexport const GET_DEVICEBYID = `${BASE_URI}/DeviceType/GetDeviceDetailById`\r\nexport const DELETE_DEVICETYPE = `${BASE_URI}/DeviceType`\r\nexport const UPDATE_DEVICETYPE = `${BASE_URI}/DeviceType`\r\n\r\n\r\n// Guide Type \r\nexport const GET_GUIDETYPES = `${BASE_URI}/GuideType`\r\nexport const POST_GUIDETYPE = `${BASE_URI}/GuideType`\r\nexport const GET_GUIDEBYID = `${BASE_URI}/GuideType/GetGuideDetailById`\r\nexport const DELETE_GUIDETYPE = `${BASE_URI}/GuideType`\r\nexport const UPDATE_GUIDETYPE = `${BASE_URI}/GuideType`\r\n\r\n\r\n// Location Type \r\nexport const GET_LOCATIONTYPES = `${BASE_URI}/Location`\r\nexport const POST_LOCATIONTYPE = `${BASE_URI}/Location`\r\nexport const GET_LOCATIONBYID = `${BASE_URI}/LOCATION/GetLocationById`\r\nexport const DELETE_LOCATIONTYPE = `${BASE_URI}/Location`\r\nexport const UPDATE_LOCATIONTYPE = `${BASE_URI}/Location`\r\n//export const UPDATE_LOCATIONFORQRCODEID = `${BASE_URI}/UpdateLocationForQRCodeId/qrCodeId/{qrCodeId}/locationId/{locationId}`\r\nexport const UPDATE_LOCATIONFORQRCODEID = (id, locationId) => { return `${BASE_URI}/QR/UpdateLocationForQRCodeId/qrCodeId/${id}/locationId/${locationId}` };\r\nexport const UPDATE_INSTLOCATION = `${BASE_URI}/QR/UpdateInstallationLocation`;\r\n\r\n\r\n//User Type\r\nexport const GET_USER = `${BASE_URI}/user`\r\nexport const POST_USER = `${BASE_URI}/user`\r\nexport const GET_USERBYID = `${BASE_URI}/user/GetUserById`\r\nexport const GET_DECRYPTEDTOKEN = `${BASE_URI}/user/DecryptToken`\r\nexport const AUTHENTICATE_USER = `${BASE_URI}/user/AuthenticateUser`\r\nexport const GET_TOKENAUTHENTICATION = `${BASE_URI}/user/TokenAuthentication`\r\n\r\n\r\n\r\n\r\nexport const DELETE_USER = `${BASE_URI}/user`\r\nexport const UPDATE_USER = `${BASE_URI}/user`\r\n\r\n//User Role\r\nexport const GET_USERROLES = `${BASE_URI}/User/GetRoles`\r\n\r\n//DashBoard\r\nexport const GET_DASHBOARDCOUNT = `${BASE_URI}/DashBoard/DashBoardCount`\r\n\r\n\r\n//Company\r\nexport const GET_COMPANYDETAILS= `${BASE_URI}/Company`\r\nexport const GET_COMPANYDETAILSID= `${BASE_URI}/Company/GetCompanyById`\r\nexport const UPDATE_COMPANYDETAILS= `${BASE_URI}/Company`\r\nexport const POST_COMPANYDETAILS= `${BASE_URI}/Company`\r\nexport const DELETE_COMPANYDETAILS= `${BASE_URI}/Company`\r\n\r\n\r\n//Media Type\r\nexport const GET_MEDIATYPES = `${BASE_URI}/MediaType`\r\nexport const POST_MEDIATYPES = `${BASE_URI}/MediaType`\r\nexport const GET_MEDIATYPESBYID = `${BASE_URI}/MediaType/GetMediaDetailById`\r\nexport const DELETE_MEDIATYPES = `${BASE_URI}/MediaType`\r\nexport const UPDATE_MEDIATYPES = `${BASE_URI}/MediaType`\r\n\r\n\r\n//QR \r\n// export const GET_LOCATIONTYPEDATA = `${BASE_URI}/Location/AllLocationWithCustomer`\r\n// export const CHECK_QRVERIFYSTATUS= `${BASE_URI}/QR/VerifyStatus`\r\nexport const GET_LocationByQRCodeId = `${BASE_URI}/QR/GetLocationByQRCodeId`\r\nexport const CREATE_VIRTUALQRCODE = `${BASE_URI}/QR/CreateVirtualQrCode`\r\nexport const SAVEMEDIA_QRDATA = `${BASE_URI}/QR/SaveMedia`\r\nexport const DELETEMEDIA_QRDATA = (mediaId) => { return `${BASE_URI}/QR/Deletemedia/${mediaId}` };\r\nexport const DELETEMULTIPLEMEDIA_QRDATA = `${BASE_URI}/QR/DeleteMultipleMedia`;\r\nexport const SAVELISTOFMEDIA_QRDATA = `${BASE_URI}/QR/SaveListOfMedia`;\r\nexport const SAVEQRDETAILS_QRDATA = `${BASE_URI}/QR/SaveQrDetails`;\r\nexport const ADDMEDIADETAILS_QRDATA = `${BASE_URI}/QR/AddmediafromQRcode`;\r\nexport const GET_ALLACTIVENOTMAPPEDQRCODES = `${BASE_URI}/QR/GetAllActiveNotMappedQrCodes`;\r\nexport const SAVE_QRCODES = `${BASE_URI}/QR/AddQRCodes`;\r\n\r\n\r\n//Virtual QR\r\nexport const GET_VIRTUALQRDETAIL = `${BASE_URI}/QR/GetVirtualQRDetail`\r\nexport const PUT_ASSIGNVIRTUALWITHQR = `${BASE_URI}/QR/AssignVirtualWithQR`\r\nexport const GET_VIRTUALQRUSERSECTION = `${BASE_URI}/QR/GetVirtualQRData`\r\nexport const GET_ALLVIRTUALQRCODES = `${BASE_URI}/QR/GetAllVirtualQRCodes`\r\n\r\n\r\n//Relation\r\n\r\nexport const GET_COMPANYLOCATIONDATA = `${BASE_URI}/CompanyLocationRelation`\r\nexport const POST_COMPANYLOCATIONDATA = `${BASE_URI}/CompanyLocationRelation`\r\nexport const GET_COMPANYLOCATIONBYID= `${BASE_URI}/CompanyLocationRelation/GetCompanyLocationById`\r\nexport const UPDATE_COMPANYLOCATIONDATA = `${BASE_URI}/CompanyLocationRelation`\r\nexport const DELETE_COMPANYLOCATIONDATA = `${BASE_URI}/CompanyLocationRelation`\r\nexport const GET_VERIFYLOCATIONID = (locationid) => { return `${BASE_URI}/CompanyLocationRelation/VerifyLocationId/${locationid}` };\r\n\r\n//CompanyLocationMapping\r\nexport const GET_CompanyLocationMapping = `${BASE_URI}/CompanyLocationRelation/CompanyLocationMapping`\r\n\r\n\r\n//Qr Details\r\nexport const GET_QRDETAILS = `${BASE_URI}/QR`\r\n\r\n// Media\r\nexport const GET_ALLMEDIA = `${BASE_URI}/Media/GetAllMedia`\r\n\r\n// Link\r\nexport const LINK_QRDETAILS = `${BASE_URI}/Link/LinkQRCode`\r\n\r\n\r\n//QR/GetAllLocationByCompanyId\r\nexport const GET_AllLocationByCompanyId = (id) => { return `${BASE_URI}/QR/GetAllLocationByCompanyId/${id}`};\r\n\r\n//QR/GetAllQRByLocationId\r\nexport const GET_AllQRByLocationId = (id) => { return `${BASE_URI}/QR/GetAllQRByLocationId/${id}` };\r\n\r\n//QR/GetAllVirtualQRByLocationId\r\nexport const GET_AllVirtualQRByLocationId = (id) => { return `${BASE_URI}/QR/GetVirtualQRByLocation/${id}` };\r\n\r\n\r\n\r\n//QR/GetAllQRCodes\r\nexport const GET_GetAllQRCodes = () => { return `${BASE_URI}/QR/GetAllQRCodes` };\r\n\r\nexport const GET_GetAllProductLocation = (pageIndex) => { return `${BASE_URI}/QR/GetProductLocationDetails/${pageIndex}` };\r\nexport const GET_GetAllQRCodesWithThumbnail = () => { return `${BASE_URI}/QR/GetAllQRCodesWithThumbnail` };\r\n//export const GET_GetAllThumbnail = `${BASE_URI}/QR/GetAllThumbnails`;\r\n\r\nexport const GET_GetAllThumbnail = (pageIndex) => { return `${BASE_URI}/QR/GetAllThumbnails/${pageIndex}` };\r\nexport const GET_SearchByThumbnail = (filename) => { return `${BASE_URI}/QR/SearchThumbnailByFilename/${filename}` };\r\nexport const GET_SearchByProduct = (productname) => { return `${BASE_URI}/QR/SearchByProductname/?Productname=${productname}` };\r\n\r\n\r\n\r\n\r\n//QR/UpdateQrReviewDetails\r\nexport const POST_UpdateQrReviewDetails = `${BASE_URI}/QR/UpdateQrReviewDetails`;\r\nexport const PUT_UPDATEQREDITDETAILS = `${BASE_URI}/QR/UpdateQrEditDetails`;\r\n\r\n\r\n//QR/UpdateThumbnail\r\nexport const POST_UpdateThumbnail = `${BASE_URI}/QR/UpdateThumbnail`;\r\n\r\n///QR/ParentChildData\r\nexport const GET_ParentChildData = `${BASE_URI}/QR/GetQRRelationship`;\r\n\r\n\r\n//QRCodeAPIUser \r\n// export const GET_AllQRCODEID= (id) => {`${BASE_URI}/QR/GetQRDetailsById/${id}`}; \r\nexport const GET_AllQRCODEID= `${BASE_URI}/QR/GetQRDetailsById`\r\n\r\nexport const GET_AllQRCODEID_ByGuideType= (id) => { return `${BASE_URI}/QR/GetQRDetailsById/${id}/ByGuideType`};\r\n\r\nexport const UPDATE_ParentQRCodeId = (id, parentId) => { return `${BASE_URI}/QR/UpdateParentForQRCodeId/qrCodeId/${id}/parentId/${parentId}` };\r\n\r\nexport const UPDATE_FavoritesQRCode = (id) => { return `${BASE_URI}/QR/UpdateFavoritesForQRCodeId/${id}` };\r\n\r\nexport const GET_QRDETAILS_BY_ID = `${BASE_URI}/QR/GetQRDetailsById`\r\n\r\nexport const GET_WORK_CATEGORY = `${Parent_URI}/User/GetAllWorkCategory`\r\n\r\nexport const POST_SUPPORT_REQUEST = `${Parent_URI}/Support/AddSupportData`\r\n","export default __webpack_public_path__ + \"static/media/Message_light.de35de60.svg\";","export default __webpack_public_path__ + \"static/media/fi-rr-lock1.6d2da6d0.svg\";","import axios from \"axios\";\r\n// import * as url from \"../../api/uri_helper\"\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\nexport const fetchProducts = async () => {\r\n const response = await axios\r\n .get(url.GET_AREATYPES)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllAreaId = async (areaId) => {\r\n const response = await axios\r\n .get(url.GET_AREATYPEBYID + \"/\" + areaId)\r\n return response;\r\n};\r\n\r\nexport const AddQRCodes = async (qrcodeId) => {\r\n\r\n const response = await axios\r\n .post(url.SAVE_QRCODES + \"/\" + qrcodeId)\r\n return response;\r\n};\r\n\r\n\r\n\r\nexport const fetchDeviceProducts = async () => {\r\n const response = await axios\r\n .get(url.GET_DEVICETYPES)\r\n return response;\r\n};\r\n\r\nexport const fetchAllDeviceId = async (deviceId) => {\r\n const response = await axios\r\n .get(url.GET_DEVICEBYID + \"/\" + deviceId)\r\n return response;\r\n};\r\n\r\nexport const fetchGuideProducts = async () => {\r\n const response = await axios\r\n .get(url.GET_GUIDETYPES)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllGuideId = async (guideId) => {\r\n const response = await axios\r\n .get(url.GET_GUIDEBYID + \"/\" + guideId)\r\n return response;\r\n};\r\n\r\nexport const fetchLocationProducts = async () => {\r\n const response = await axios\r\n .get(url.GET_LOCATIONTYPES)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllLocationId = async (locationId) => {\r\n const response = await axios\r\n .get(url.GET_LOCATIONBYID + \"/\" + locationId)\r\n return response;\r\n};\r\n\r\nexport const fetchUserData = async () => {\r\n const response = await axios\r\n .get(url.GET_USER)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchUserRoleData = async () => {\r\n const response = await axios\r\n .get(url.GET_USERROLES)\r\n\r\n return response;\r\n};\r\n\r\n\r\nexport const fetchCompanyDetails = async () => {\r\n const response = await axios\r\n .get(url.GET_COMPANYDETAILS)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllCompanyId = async (companyId) => {\r\n const response = await axios\r\n .get(url.GET_COMPANYDETAILSID + \"/\" + companyId)\r\n return response;\r\n};\r\n\r\nexport const fetchMediaData = async () => {\r\n const response = await axios\r\n .get(url.GET_MEDIATYPES)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllMediaId = async (mediaId) => {\r\n const response = await axios\r\n .get(url.GET_MEDIATYPESBYID + \"/\" + mediaId)\r\n return response;\r\n};\r\nexport const fetchEmails = async () => {\r\n const response = await axios\r\n .get(url.GET_EMAILVERIFICATION)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllActiveNotMappedQRcodes = async () => {\r\n const response = await axios\r\n .get(url.GET_ALLACTIVENOTMAPPEDQRCODES)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchLocationByQRCodeId = async (qrCode) => {\r\n const response = await axios\r\n .get(url.GET_LocationByQRCodeId + \"/\" + qrCode)\r\n return response;\r\n};\r\n\r\nexport const fetchCompanyLocationData = async () => {\r\n const response = await axios\r\n .get(url.GET_COMPANYLOCATIONDATA)\r\n return response;\r\n};\r\n\r\nexport const fetchNotMappedLocationId = async (locationid) => {\r\n debugger;\r\n const response = await axios\r\n .get(url.GET_VERIFYLOCATIONID(locationid))\r\n return response;\r\n};\r\n\r\nexport const fetchAllLocationComapnyId = async (locationCompanyId) => {\r\n const response = await axios\r\n .get(url.GET_COMPANYLOCATIONBYID + \"/\" + locationCompanyId)\r\n return response;\r\n};\r\n\r\n\r\n\r\nexport const fetchCompanyLocationMappingData = async () => {\r\n const response = await axios\r\n .get(url.GET_CompanyLocationMapping)\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllLocationByCompanyId = async (id) => {\r\n const response = await axios\r\n .get(url.GET_AllLocationByCompanyId(id))\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllQRByLocationId = async (id) => {\r\n const response = await axios\r\n .get(url.GET_AllQRByLocationId(id))\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllVirtualQRByLocationId = async (id) => {\r\n const response = await axios\r\n .get(url.GET_AllVirtualQRByLocationId(id))\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllQrId = async (qrCode) => {\r\n const response = await axios\r\n .get(url.GET_AllQRCODEID + \"/\" + qrCode)\r\n return response;\r\n};\r\n\r\nexport const fetchAllQrIdByGuideType = async (qrId) => {\r\n const response = await axios\r\n .get(url.GET_AllQRCODEID_ByGuideType(qrId))\r\n return response;\r\n};\r\n\r\nexport const fetchQrDetails = async () => {\r\n const response = await axios\r\n .post(url.GET_QRDETAILS) //TODO Correct this api url\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllQrCodes = async () => {\r\n const response = await axios\r\n .get(url.GET_GetAllQRCodes())\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllVirtualQrCodes = async () => {\r\n const response = await axios\r\n .get(url.GET_ALLVIRTUALQRCODES)\r\n\r\n return response;\r\n};\r\n//for favourite section\r\nexport const fetchUpdatedQRCode = async (id) => {\r\n const response = await axios\r\n .put(url.UPDATE_FavoritesQRCode(id))\r\n return response;\r\n}\r\n\r\n\r\n\r\nexport const fetchAllQrCodesWithThumbnail = async () => {\r\n const response = await axios\r\n .get(url.GET_GetAllQRCodesWithThumbnail())\r\n\r\n return response;\r\n};\r\n\r\nexport const fetchAllUserId = async (userId) => {\r\n const response = await axios\r\n .get(url.GET_USERBYID + \"/\" + userId)\r\n return response;\r\n};\r\n\r\nexport const fetchAllLocationByQRId = async (QRId, locationId) => {\r\n const response = await axios\r\n .put(url.UPDATE_LOCATIONFORQRCODEID(QRId, locationId))\r\n return response;\r\n};\r\n\r\nexport const updateAllParentQRId = async (QRId, parentId) => {\r\n const response = await axios\r\n .put(url.UPDATE_ParentQRCodeId(QRId, parentId))\r\n return response;\r\n};\r\n\r\nexport const copyAllQRDataById = async (formData) => {\r\n const response = await axios\r\n .post(url.LINK_QRDETAILS, formData)\r\n return response;\r\n}\r\n\r\n\r\n\r\nexport const fetchAllParentChildQRId = async (qrId) => {\r\n const response = await axios\r\n .get(url.GET_ParentChildData + \"/\" + qrId)\r\n return response;\r\n};\r\n\r\nexport const fetchAllVirtualQRData = async (qrId) => {\r\n const response = await axios\r\n .get(url.GET_VIRTUALQRUSERSECTION + \"/\" + qrId)\r\n return response;\r\n};\r\n\r\n\r\nexport const fetchDashboardCount = async () => {\r\n const response = await axios\r\n .get(url.GET_DASHBOARDCOUNT)\r\n return response;\r\n};\r\nexport const fetchAllThumbnail = async (pageIndex) => {\r\n const response = await axios\r\n .get(url.GET_GetAllThumbnail(pageIndex))\r\n return response;\r\n}\r\n\r\nexport const fetchVirtualQRCode = async () => {\r\n const response = await axios\r\n .get(url.CREATE_VIRTUALQRCODE)\r\n return response;\r\n}\r\n\r\nexport const fetchSearchData =async (filename)=>{\r\n debugger;\r\n const response = await axios\r\n .get(url.GET_SearchByThumbnail(filename))\r\n return response;\r\n}\r\n\r\nexport const fetchProductLocation = async (pageIndex)=>{\r\n \r\n const response = await axios\r\n .get(url.GET_GetAllProductLocation(pageIndex))\r\n return response;\r\n}\r\n\r\nexport const fetchSearchProductName = async (productname)=>{\r\n const response = await axios\r\n .get(url.GET_SearchByProduct(productname))\r\n return response;\r\n}\r\n\r\nexport const fetchQRdetailsById = async (id)=>{\r\n \r\n const response = await axios\r\n .post(url.GET_QRDETAILS_BY_ID,id)\r\n return response;\r\n}","//import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\n//import { Link } from 'react-router-dom';\r\nimport Footer from '../VerticalLayout/Footer';\r\nimport axios from \"axios\"\r\nimport React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\n\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\nimport LockIcon from '@mui/icons-material/Lock';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport '../../../src/custom.css'\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\n// Import static images \r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport MessageLight from \"../../assets/images/Message_light.svg\";\r\n//import EyeClose from \"../../assets/images/eyeClose.svg\";\r\nimport PassLight from \"../../assets/images/fi-rr-lock1.svg\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport CryptoJS from \"crypto-js\";\r\nimport CryptoAES from 'crypto-js/aes';\r\nimport CryptoENC from 'crypto-js/enc-utf8';\r\nimport { fetchdecrypttoken } from \"../../Redux/Api/fetch.api\";\r\n\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst Log = () => {\r\n //to make only 1 toast inn total \r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const [emailid, setEmailId] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [encryptedToken, setEncryptedToken] = useState('');\r\n const [decrypttoken, setDecryptToken] = useState('');\r\n const [isChecked, setisActive] = useState(false)\r\n const [success, setSuccess] = useState(false)\r\n const [disable, setDisable] = useState(false);\r\n const [passwordType, setPasswordType] = useState(\"password\");\r\n const location = useLocation();\r\n const [text, setText] = useState(\"\");\r\n \r\n \r\n \r\n const togglePassword =()=>{\r\n if(passwordType===\"password\")\r\n {\r\n setPasswordType(\"text\")\r\n return;\r\n }\r\n setPasswordType(\"password\")\r\n }\r\n\r\n\r\n const history = useHistory();\r\n \r\n\r\n // On Validation \r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n\r\n // initialize of the Values\r\n initialValues: {\r\n emailid: localStorage.getItem('emailid') ? localStorage.getItem('emailid') : '',\r\n password: localStorage.getItem('password') ? localStorage.getItem('password') : ''\r\n },\r\n\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n emailid: Yup.string().required('Please Enter Email').matches(\r\n /^\\w+([\\.-]?\\w+)*@\\w+([\\.web]?\\w+)*(\\.\\w{2,3})+$/,\r\n \"Please enter valid email \"\r\n ),\r\n password: Yup.string().required(\"Please Enter Password\").matches(\r\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})/,\r\n \"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character\"\r\n ),\r\n }),\r\n\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n // call the api here\r\n\r\n setDisable(true);\r\n Authenticate(values);\r\n }\r\n });\r\n\r\n //const dispatch = useDispatch();\r\n const handleChange = () => {\r\n setisActive(!isChecked)\r\n\r\n }\r\n const Authenticate = async (params) => {\r\n\r\n const response = await axios\r\n .post(url.POST_LOGIN,\r\n {\r\n emailid: params.emailid,\r\n password: params.password,\r\n isChecked: isChecked\r\n }).then(response => {\r\n console.log(response.data);\r\n\r\n if (response.data.success) {\r\n localStorage.removeItem('userName')\r\n localStorage.removeItem('emailid')\r\n localStorage.removeItem('password')\r\n localStorage.removeItem('isChecked')\r\n localStorage.removeItem('tekaHelpToken');\r\n localStorage.setItem('UserId', response.data.data.userId); // New changes\r\n if (isChecked) {\r\n localStorage.setItem('UserId', response.data.data.userId); // New changes\r\n localStorage.setItem('isChecked', isChecked ? isChecked : '');\r\n localStorage.setItem('emailid', isChecked ? params.emailid : '');\r\n localStorage.setItem('tekaHelpToken', response.data.data.token);\r\n localStorage.setItem('password', isChecked ? params.password : '');\r\n localStorage.setItem('userName', response.data.data.userName);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push({\r\n pathname: \"/Dashboard\",\r\n state: { from: location.pathname },\r\n data: response.data.message\r\n });\r\n\r\n\r\n }\r\n else {\r\n localStorage.setItem('tekaHelpToken', response.data.data.token);\r\n localStorage.setItem('userName', response.data.data.userName);\r\n localStorage.setItem('emailid', params.emailid);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push({\r\n pathname: \"/Dashboard\",\r\n state: { from: location.pathname },\r\n data: response.data.message\r\n });\r\n }\r\n }\r\n else {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n }\r\n\r\n })\r\n\r\n .catch((err) => {\r\n setDisable(false);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const rememberMe = localStorage.getItem('isChecked');\r\n const alreadyLoggedIn = localStorage.getItem('tekaHelpToken')\r\n\r\n if (alreadyLoggedIn) {\r\n history.push(\"/Dashboard\");\r\n }\r\n\r\n if (rememberMe) {\r\n const userId = rememberMe ? localStorage.getItem('emailid') : '';\r\n const password = rememberMe ? localStorage.getItem('password') : '';\r\n\r\n setisActive(rememberMe);\r\n setEmailId(userId);\r\n setPassword(password);\r\n }\r\n }, [])\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Welcome to TEKaHelp

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

Admin Login

\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return 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 {validation.touched.emailid && validation.errors.emailid ? (\r\n {validation.errors.emailid}\r\n ) : null}\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 { passwordType===\"password\"? :}\r\n
\r\n
\r\n
\r\n {validation.touched.password && validation.errors.password ? (\r\n {validation.errors.password}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Remember me
\r\n
\r\n
\r\n\r\n Forgot 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 );\r\n\r\n}\r\nexport default connect()(Log);\r\n","export default __webpack_public_path__ + \"static/media/Menu.54699b56.svg\";","export default __webpack_public_path__ + \"static/media/authenteklogo.cc4da08e.png\";","export default __webpack_public_path__ + \"static/media/leftArrow.658b02ac.svg\";","export default __webpack_public_path__ + \"static/media/TEkaHelp.11d3dea0.svg\";","export default __webpack_public_path__ + \"static/media/fav.cbe41223.ico\";","import React, { useState } from \"react\"\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// Import static images \r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport TEkaHelp from \"../../assets/images/TEkaHelp.svg\";\r\nimport LeftArrow from \"../../assets/images/leftArrow.svg\";\r\nimport favIcon from \"../../assets/images/fav.ico\"\r\nconst Header = ({handleClose,handleOpen, isSideBaropen}) => {\r\n // const [isOpen, setIsOpen] = useState(false);\r\n // const handleTrigger = () => setIsOpen(!isOpen);\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\nexport default Header\r\n","export default __webpack_public_path__ + \"static/media/Pipe_duotone_line.3074de1d.svg\";","export default __webpack_public_path__ + \"static/media/Database_duotone.91eb3a3c.svg\";","export default __webpack_public_path__ + \"static/media/Book_duotone.be08ca9e.svg\";","export default __webpack_public_path__ + \"static/media/mapping-image.9687a311.svg\";","export default __webpack_public_path__ + \"static/media/Mic_alt_duotone.5a31ac5f.svg\";","export default __webpack_public_path__ + \"static/media/Folder_alt_duotone_fill.75f5f37c.svg\";","export default __webpack_public_path__ + \"static/media/Target_duotone_line.eaa87874.svg\";","export default __webpack_public_path__ + \"static/media/company_duotone.cdc30e39.svg\";","export default __webpack_public_path__ + \"static/media/Arhive_load_duotone.8c789508.svg\";","export default __webpack_public_path__ + \"static/media/User_scan_duotone.2de6d086.svg\";","export default __webpack_public_path__ + \"static/media/Sign_in_squre_light.c15e5dda.svg\";","export default __webpack_public_path__ + \"static/media/User_duotone.9339a8d6.svg\";","export default __webpack_public_path__ + \"static/media/qrcode_duotone.ee1d9fd1.svg\";","export default __webpack_public_path__ + \"static/media/settings_duotone.39dc3edd.svg\";","export default __webpack_public_path__ + \"static/media/location_duotone.0c3a6ffc.svg\";","export default __webpack_public_path__ + \"static/media/QRupload_duotone.d2c99e42.svg\";","export default __webpack_public_path__ + \"static/media/review_duotone.96d664c7.svg\";","import React, { useEffect, useState } from \"react\"\r\nimport { Link, NavLink, useLocation, useHistory } from 'react-router-dom';\r\n\r\n// Import static images \r\nimport Pipeduotoneline from \"../../assets/images/Pipe_duotone_line.svg\";\r\nimport Bookduotone from \"../../assets/images/Book_duotone.svg\";\r\nimport Databaseduotone from \"../../assets/images/Database_duotone.svg\";\r\nimport Mapping from \"../../assets/images/mapping-image.svg\";\r\nimport Micaltduotone from \"../../assets/images/Mic_alt_duotone.svg\";\r\n\r\nimport Folderaltduotonefill from \"../../assets/images/Folder_alt_duotone_fill.svg\";\r\nimport Targetduotoneline from \"../../assets/images/Target_duotone_line.svg\";\r\nimport Arhiveloadduotone from \"../../assets/images/Arhive_load_duotone.svg\";\r\nimport Userscanduotone from \"../../assets/images/User_scan_duotone.svg\";\r\nimport Signinsqurelight from \"../../assets/images/Sign_in_squre_light.svg\";\r\nimport '../HorizontalLayout/Navbar.css'\r\nimport Companyduotone from \"../../assets/images/company_duotone.svg\"\r\nimport Userduotone from \"../../assets/images/User_duotone.svg\"\r\nimport qrcodeduotone from \"../../assets/images/qrcode_duotone.svg\"\r\nimport settingduotone from \"../../assets/images/settings_duotone.svg\"\r\nimport locationduotone from \"../../assets/images/location_duotone.svg\"\r\nimport QRupload from \"../../assets/images/QRupload_duotone.svg\"\r\nimport QrReview from \"../../assets/images/review_duotone.svg\"\r\nimport ImageIcon from '@mui/icons-material/Image';\r\nimport PersonPinIcon from '@mui/icons-material/PersonPin';\r\nconst Navbar = () => {\r\n \r\n const history = useHistory();\r\n const [alwaysShow, toggleAlwaysShow] = useState(0);\r\n const [alwaysShowLocation, setAlwaysShowLocation] = useState(0)\r\n const [alwaysShowVirtual, setAlwaysShowVirtual] = useState(0)\r\n const [alwaysShowSettings, setAlwaysShowsettings] = useState(0)\r\n const [active, setActive] = useState(true);\r\n const location = useLocation();\r\n const qrRelatedLocations = [\"/QR\", \"/QrReview\", \"/Add/QR\", \"/QRAssign\", \"/QREntries\"];\r\n const locationRelated = [\"/Location\", \"/Relation\", \"/LocationUpdate\"];\r\n const SettingsRelated = [\"/AreaType\", \"/GuideType\", \"/DeviceType\", \"/MediaType\"];\r\n const virtualQRRelated = [\"/VirtualQRReview\"];\r\n useEffect(() => {\r\n if (qrRelatedLocations.includes(location.pathname)) {\r\n toggleAlwaysShow(1)\r\n } else {\r\n toggleAlwaysShow(0)\r\n }\r\n if (locationRelated.includes(location.pathname)) {\r\n setAlwaysShowLocation(1)\r\n }\r\n else {\r\n setAlwaysShowLocation(0)\r\n }\r\n if (virtualQRRelated.includes(location.pathname)) {\r\n setAlwaysShowVirtual(1)\r\n }\r\n else {\r\n setAlwaysShowVirtual(0)\r\n }\r\n if (SettingsRelated.includes(location.pathname)) {\r\n setAlwaysShowsettings(1)\r\n }\r\n else {\r\n setAlwaysShowsettings(0)\r\n }\r\n }, [location])\r\n\r\n const handleKey = (event) => {\r\n if (event.keyCode === 13) {\r\n debugger;\r\n switch (event.target.innerText) {\r\n case 'Area Type':\r\n return history.push(\"/AreaType\");\r\n case 'Dashboard':\r\n return history.push(\"/Dashboard\")\r\n case 'User':\r\n return history.push(\"/User\")\r\n case 'Company':\r\n return history.push(\"Company\")\r\n case 'Location':\r\n return history.push(\"Location\")\r\n case 'Device Type':\r\n return history.push(\"DeviceType\")\r\n case 'Location Mapping':\r\n return history.push(\"/Relation\")\r\n case 'Location Update':\r\n return history.push(\"/LocationUpdate\")\r\n case 'Guide Type':\r\n return history.push(\"/GuideType\")\r\n case 'Media Type':\r\n return history.push(\"/MediaType\")\r\n case 'QR':\r\n return toggleAlwaysShow(1)\r\n\r\n case 'Settings':\r\n return history.push(\"Settings\")\r\n case 'Upload':\r\n return history.push(\"/QR\")\r\n case 'Review':\r\n return history.push(\"/QrReview\")\r\n case 'Mapping':\r\n return history.push(\"/QRAssign\")\r\n\r\n case 'Entries':\r\n return history.push(\"/QREntries\")\r\n\r\n //case 'Virtual QR':\r\n // return toggleAlwaysShow(2)\r\n case 'Review & Assign':\r\n return history.push(\"/VirtualQRReview\")\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
    \r\n\r\n
  • handleKey(event)}>\r\n \r\n \r\n
    \r\n \r\n
    \r\n Dashboard\r\n
    \r\n
  • \r\n\r\n
  • handleKey(event)}>\r\n \r\n
    \r\n \r\n
    \r\n Company\r\n
    \r\n
  • \r\n\r\n
  • handleKey(event)}>\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 Upload\r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n
      \r\n Review\r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n
      \r\n Mapping\r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n
      \r\n QR Entries\r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n\r\n
  • handleKey(event)}>\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
      \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Area Type\r\n
      \r\n
    • \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Device Type\r\n
      \r\n
    • \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Guide Type\r\n
      \r\n
    • \r\n\r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Media Type\r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • handleKey(event)}>\r\n \r\n
    \r\n \r\n
    \r\n User\r\n
    \r\n
  • \r\n \r\n
  • handleKey(event)}>\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
      \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n {/* */}\r\n \r\n
      \r\n Location\r\n
      \r\n
    • \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Mapping\r\n
      \r\n
    • \r\n
    • handleKey(event)}>\r\n \r\n
      \r\n \r\n
      \r\n Location Update\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
  • handleKey(event)}>\r\n \r\n
    \r\n {/* */}\r\n \r\n
    \r\n Thumbnails\r\n\r\n
    \r\n
  • \r\n\r\n \r\n\r\n
  • handleKey(event)}>\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 Review & Assign\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\nexport default Navbar\r\n","import React from \"react\"\r\nimport logoauthentek from \"../../assets/images/logo-authentek-sm.png\";\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\n\r\nconst Footer = () => {\r\n return (\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
© AuthenTEK ({new Date().getFullYear()}) | TEKaHelp ™
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
Powered by
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n )\r\n}\r\n\r\nexport default Footer\r\n","export default __webpack_public_path__ + \"static/media/login-image.54b7ae25.png\";","export default __webpack_public_path__ + \"static/media/User_alt_light.877bd568.svg\";","export default __webpack_public_path__ + \"static/media/Setting_line_light.ce60c384.svg\";","export default __webpack_public_path__ + \"static/media/TakeATour.6132ce97.svg\";","import React, { useEffect, useState } from \"react\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\n\r\n// Import static images \r\nimport Dummy from \"../../assets/images/dummy.png\";\r\nimport Useraltlight from \"../../assets/images/User_alt_light.svg\";\r\nimport Settinglinelight from \"../../assets/images/Setting_line_light.svg\";\r\nimport Signinsqurelight from \"../../assets/images/logout.png\";\r\nimport Changepassword from \"../../assets/images/change-password.png\";\r\nimport LoginImage from \"../../assets/images/login-image.png\";\r\nimport Takeatour from \"../../assets/images/TakeATour.svg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { setLogout } from \"../../Redux/Actions/LoginActions\";\r\nimport { message } from \"antd\";\r\nimport { setLogins } from \"../../Redux/Actions/LoginActions\";\r\nimport { colors } from \"@mui/material\";\r\nimport '../HorizontalLayout/MenuBarTour.css'\r\n\r\n\r\nconst Menubar = () => {\r\n const loggedInUserName = localStorage.getItem('userName');\r\n const loggedInEmailId = localStorage.getItem('emailid');\r\n const remmeberMe = localStorage.getItem('isChecked');\r\n\r\n require('dotenv').config();\r\n const { REACT_APP_TOUR_VIDEO } = process.env;\r\n\r\n //const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const Logout = (e) => {\r\n //debugger;\r\n\r\n //dispatch(setLogout());\r\n if (!remmeberMe) {\r\n localStorage.removeItem('userName')\r\n localStorage.removeItem('emailid')\r\n localStorage.removeItem('password')\r\n localStorage.removeItem('isChecked')\r\n localStorage.removeItem('tekaHelpToken');\r\n }\r\n localStorage.removeItem('tekaHelpToken');\r\n history.push(\"/\");\r\n };\r\n\r\n const ChangePassword = (e) => {\r\n //debugger;\r\n\r\n //dispatch(setLogout());\r\n /* localStorage.removeItem('tekaHelpToken');*/\r\n history.push('/ChangePassword');\r\n };\r\n\r\n const GoToProfile = (e) => { // New changes\r\n debugger;\r\n\r\n //dispatch(setLogout());\r\n /* localStorage.removeItem('tekaHelpToken');*/\r\n var UserID = localStorage.getItem('UserId');\r\n history.push('/User/edit/' + UserID);\r\n };\r\n\r\n useEffect(() => {\r\n // debugger;\r\n\r\n if (localStorage.getItem('tekaHelpToken') == null) {\r\n history.push(\"/\");\r\n }\r\n }, [])\r\n\r\n // New Changes\r\n const [showModal, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const TourVideoUrl = process.env.REACT_TOUR_VIDEO;\r\n //End\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 Have a look on the Tour!!!\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\nexport default Menubar\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABcSURBVEiJ7ZGxDYAwDARPKbJ6PAYsl7AEgoJUlikggepP+sL2ubFBCPELGTCg9VjvTXMMOFyKWx5yWjDY3PJrJxGz3/QfOwlYgsHq6iEnc92q9hTiB85whBBfcAKhxjix8CAFdgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAPDAAADwwGuYFr3AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAZ5QTFRF////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/yXdagAAAIl0Uk5TAAECAwUGBwgJCg4PExUWFxkdHiAhIiQlKCorLC4vMDI1Njg5Ozw/QUJISUpMTlBSVFVWV1hZWltdX2BhZGVsbW5vcnh5fH2AgoaHiYqMj5SXmpudnp+gpaaqq7Cxs7a4vL7AwsTFx8jJy8zP2Nna29zd3t/g4uTl5ufo6e3w8fL09vj5+vv8/f7PdkbkAAAC9ElEQVR42u3beVMTMRjH8fQARRTqASKK2nqheIAUFC+0ggcgHigeaBEsaj0AFUG8rbaQd+0f3W3rTHfzrObJb8ZJXgDfz0A2G2YTIaqObRfH0i8/rkjV+DHTLvSPxPCsJI9V7YL4tAw0nuvNN9+XAUcupLN/5mfQvnyjMR8ZlcHHgL5+/eRf9K9HtPWjTyp/8Pz40PnepGoc2aTxD3CzXF+6tF0YH/2l/LfBOvN5sTfv9mdigLwIZd3+7RpEX/S4/VFIXtS+c/rpCAZwzunPrcP0RcYBHAP1Nzhv/megvjjt/AI6UICJYv9LFAVYLALuovphZxU8iQI0OFNgHwrQ5gCaUICDDmANCnDUAQgLsAALsAALsID/D9CX/ZRuAwIuSynlr04YoLG41ct3ogDuRiffBQK4Wz2lgAsQfkoUsE3C5uWS4DjmMWyhCRgXIpqAcyUkCViX4rKg0I15FxAEzC8jtYD7bVghSGJexyoB/35AITCwIfEXmNgRVQh6MFsyP4GZPaGPwNCmtELQi9kVewqMbcu9BP6AWOrWuK6RkVUFvoA9nyXLKBymAULzkmks15EAWyXbSJAALXyAOAkQfs/V/1BLm4Tt35kmYQf1MWy68mBC18iW+ycQC9Hmhap9YwCvvimAZ98QwLtvBuDTNwLw65sA+PYNAPz7/ABFnx2g6nMDlH1mgLrPCyD0WQGUPieA1GcE0Pp8gI20PhsgNEXrswFaiX02wCFinw0QW6H1+SbhCK3PBwhfmMtlEgIHEEKQTh3bD5cWYAEWYAEWAD/QuBN9pLMRfagVfqxXLIEPNouH6KPdp9CH29cXwMf7xRT4goM4i77iEXW/DD0KgwRJ9//IYRAg9MIV3AA9i/tLN1ynGzCCVOlryteBtRDBWPmD0uJgKwBQ88eFx9k7V9UXHrvjWm/G1aeDf3x7tUPra/lacMGC3qWrLxdY0KV3Imy5txoQkNI9F3c9DgY4oP9x2D30mt6f5Hkkqdf/347865r1G+KgnqfrIFv8AAAAAElFTkSuQmCC\"","import React, { useState } from 'react';\r\n// Import static images \r\nimport Menu from \"../assets/images/Menu.svg\";\r\nimport logo from \"../assets/images/authenteklogo.png\"\r\n// Import js files\r\nimport Header from './HorizontalLayout/Header';\r\nimport Navbar from './HorizontalLayout/Navbar';\r\nimport Footer from './HorizontalLayout/Footer';\r\nimport Menubar from './HorizontalLayout/Menubar';\r\n\r\n\r\nconst Layout = ({ title, children }) => {\r\n \r\n const [isOpen, setIsOpen] = useState(false);\r\n const handleClose = () =>\r\n {setIsOpen(false)}\r\n const handleOpen = ()=>\r\n {setIsOpen(true)}\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{title == \"Dashboard\" ? \"Dashboard\" : \"\"}

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{children}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n export default Layout;\r\n","import React from 'react';\r\nimport { SpinningCircles } from 'react-loading-icons';\r\n\r\nconst Loader = () => (\r\n
\r\n \r\n
\r\n);\r\n\r\nexport default Loader;","export default __webpack_public_path__ + \"static/media/Chevron_Right.6bcce0c2.svg\";","export default __webpack_public_path__ + \"static/media/active_users_ico.8aba3023.svg\";","export default __webpack_public_path__ + \"static/media/active_qr_ico.4098c85b.svg\";","export default __webpack_public_path__ + \"static/media/all_product_ico.75231141.svg\";","export default __webpack_public_path__ + \"static/media/all-medias_ico.0bf7fb1a.svg\";","export default __webpack_public_path__ + \"static/media/pending-reviews_ico.6158002a.svg\";","export default __webpack_public_path__ + \"static/media/top_companies_ico.0d8faf59.svg\";","export default __webpack_public_path__ + \"static/media/qr_codeindex.3e6df896.svg\";","export default __webpack_public_path__ + \"static/media/qr_codereview.ac85688a.svg\";","export default __webpack_public_path__ + \"static/media/active_qr.d6129114.svg\";","export default __webpack_public_path__ + \"static/media/active-user.33e6615f.svg\";","export default __webpack_public_path__ + \"static/media/all-media.ac8d02a4.svg\";","export default __webpack_public_path__ + \"static/media/Combined Shape.ba0b1dd0.svg\";","export default __webpack_public_path__ + \"static/media/Group-chat.29eb56b5.svg\";","export default __webpack_public_path__ + \"static/media/Long_arrow.55f196ac.svg\";","export default __webpack_public_path__ + \"static/media/thumbnail-img.3e2778e4.svg\";","export default __webpack_public_path__ + \"static/media/total-company.6ae7f0fe.svg\";","import { DashboardCount,GetAllThumbnail } from \"../Constants/DashboardCount\"\r\n\r\n\r\nexport const getDashboardCount = (dashboard) => {\r\n return {\r\n type: DashboardCount.GET_DASHBOARDCOUNT,\r\n payload: dashboard\r\n };\r\n};\r\nexport const getThumbnail =(data)=>{\r\n return {\r\n type : GetAllThumbnail.GET_ALLTHUMBNAIL,\r\n payload: data \r\n }\r\n}","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport toast, { Toaster, useToasterStore } from \"react-hot-toast\";\r\n// Import Layout\r\nimport Layout from \"../Layout\";\r\nimport Loader from \"../loader\";\r\nimport userIcon from \"../../assets/images/active_users_ico.svg\"\r\nimport qrIcon from \"../../assets/images/active_qr_ico.svg\"\r\nimport productIcon from \"../../assets/images/all_product_ico.svg\"\r\nimport mediaIcon from \"../../assets/images/all-medias_ico.svg\"\r\nimport reviewIcon from \"../../assets/images/pending-reviews_ico.svg\"\r\nimport companyIcon from \"../../assets/images/top_companies_ico.svg\"\r\nimport { Link } from \"react-router-dom\";\r\nimport Chevron from \"../../assets/img/Chevron_Right.svg\";\r\n\r\nimport qrcodescan from \"../../assets/images/qr_codeindex.svg\";\r\nimport qrcodereview from \"../../assets/images/qr_codereview.svg\";\r\nimport activeQR from \"../../assets/img/active_qr.svg\";\r\nimport activeUser from \"../../assets/img/active-user.svg\";\r\nimport allMedia from \"../../assets/img/all-media.svg\";\r\nimport CombinedShape from \"../../assets/img/Combined Shape.svg\";\r\nimport Demo from \"../../assets/img/demo.jpg\";\r\nimport Group from \"../../assets/img/Group-chat.svg\";\r\nimport Long_arrow from \"../../assets/img/Long_arrow.svg\";\r\nimport Thumbnail from \"../../assets/img/thumbnail-img.svg\";\r\nimport Total from \"../../assets/img/total-company.svg\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { fetchDashboardCount, fetchAllThumbnail } from \"../../Redux/Api/fetch.api\";\r\nimport { getDashboardCount, getThumbnail } from \"../../Redux/Actions/DashboardCount\";\r\nimport '../../../src/custom.css'\r\n\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst Index = () => {\r\n\tconst allDashboardCounts = useSelector((state) => state.allDashboardReducer.dashboardData); // data\r\n\tconsole.log(\"data\", allDashboardCounts);\r\n\tconst allThumbnail = useSelector((state) => state.allDashboardReducer.thumbnail);\r\n\tconst dispatch = useDispatch();\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst { toasts } = useToasterStore();\r\n\tuseEffect(() => {\r\n\t\ttoasts\r\n\t\t\t.filter((t) => t.visible) // Only consider visible toasts\r\n\t\t\t.filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n\t\t\t.forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n\t}, [toasts]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\t\tgetDashboardData()\r\n\t\tgetAllThumbnail()\r\n\t}, [])\r\n\r\n\r\n\tconst getDashboardData = () => {\r\n\t\t\r\n\t\tsetLoading(true)\r\n\t\tfetchDashboardCount()\r\n\t\t\t.then(response => {\r\n\t\t\t\tdispatch(getDashboardCount(response.data))\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(\"Err: \", err);\r\n\t\t\t})\r\n\t}\r\n\r\n\tconst getAllThumbnail = () => {\r\n\t\tsetLoading(true)\r\n\t\tfetchAllThumbnail(1)\r\n\t\t\t.then(response => {\r\n\t\t\t\r\n\t\t\t\tdispatch(getThumbnail(response.data.data))\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(\"Err: \", err);\r\n\t\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{loading ? : ''}\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\"\"
\r\n\t\t\t\t\t\t\t\t\tThumbnails \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{allThumbnail.length >= 1 ? allThumbnail.map((item, index) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (<>\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{ index <14 ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t
: \" \"\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}) : \" \"}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tView More\"\"\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n}\r\nexport default connect()(Index);\r\n","import { connect } from 'react-redux';\r\n//import { Link } from 'react-router-dom';\r\nimport Footer from '../VerticalLayout/Footer';\r\nimport axios from \"axios\"\r\nimport React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport { Skeleton } from 'antd';\r\nimport Log from \"../Authentication/Login\";\r\nimport Index from \"../Dashboard/Index\";\r\n\r\nconst Auth = () => {\r\n \r\n const history = useHistory();\r\n const [encryptedToken, setEncryptedToken] = useState('');\r\n const [isChecked, setisActive] = useState(true)\r\n const [isSuccess, setIsSuccess] = useState(false)\r\n\r\n useEffect(() => { \r\n let url = location.pathname\r\n const parts = url.split('/Access/')[1].split('/');\r\n\r\n if (parts.length >= 3) {\r\n const encodedEmail = parts[0]; \r\n // Decode the base64-encoded strings\r\n const decodedEmail = atob(encodedEmail); \r\n RedirectToDashboard(decodedEmail);\r\n\r\n } else {\r\n console.error('Invalid URL format');\r\n }\r\n }, []);\r\n \r\n const RedirectToDashboard = async (emailID) => {\r\n \r\n let urlData = location.pathname.split('/'); \r\n setEncryptedToken(urlData[2]) \r\n if (urlData) {\r\n const response = await axios\r\n .post(url.GET_DECRYPTEDTOKEN,\r\n {\r\n token: emailID\r\n })\r\n .then(response => {\r\n \r\n if (response.data.success) {\r\n setIsSuccess(true) \r\n localStorage.setItem('UserId', response.data.data.userId); // New changes\r\n localStorage.setItem('isChecked', isChecked ? isChecked : '');\r\n localStorage.setItem('userName', response.data.data.userName);\r\n localStorage.setItem('tekaHelpToken', response.data.data.token); \r\n history.push({\r\n pathname: \"/Dashboard\",\r\n state: { from: location.pathname }, \r\n }); \r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {isSuccess ?\r\n : }\r\n \r\n )\r\n \r\n};\r\nexport default connect()(Auth)\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Footer from '../VerticalLayout/Footer';\r\nimport LockIcon from '@mui/icons-material/Lock';\r\n// Import static images \r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport EyeClose from \"../../assets/images/eyeClose.svg\";\r\nimport PassLight from \"../../assets/images/fi-rr-lock1.svg\";\r\n\r\nconst ForgotPassword = () => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Welcome to TEkaHelp

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

Reset Passwords

\r\n {/*
Enter your new password below.
*/}\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\nexport default connect()(ForgotPassword);\r\n","export default __webpack_public_path__ + \"static/media/eyeClose.c8d86b6a.svg\";","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Footer from '../VerticalLayout/Footer';\r\nimport * as url from \"../../api/uri_helper\"\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport MessageLight from \"../../assets/images/Message_light.svg\";\r\nimport axios from 'axios';\r\nimport { useHistory } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nconst TOAST_LIMIT = 1;\r\nconst emailRegex = /^\\s*(([^<>()\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))\\s*$/;\r\nconst EmailVerfication = () => {\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const history=useHistory();\r\n const [email, setEmail] = useState(\"\");\r\n const [error, setError] = useState({\r\n emailErr: '',\r\n })\r\n const [showMessage, setShowMessage] = useState(false);\r\n\r\n \r\n const [isChecked, setisActive] = useState(false)\r\n\r\n const sendEmail = async (email) => {\r\n debugger;\r\n if (email) {\r\n const response = await axios.get(url.GET_EMAILVERIFICATION + '\\\\' + email.email, ).then(response => { \r\n \r\n if (response.data.success) {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push({\r\n pathname: '/EmailConfirmation',\r\n state: { data: response.data.data }\r\n });\r\n }\r\n else {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n }\r\n \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n \r\n }\r\n \r\n\r\n\r\nconst validation = useFormik({\r\n enableReinitialize: true,\r\n initialValues: {\r\n email: localStorage.getItem('email') ? localStorage.getItem('email') : '',\r\n \r\n },\r\n\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n email: Yup.string().required('Please Enter Email').matches(\r\n /^([a-zA-Z0-9+_.-]+)(|([+])([0-9])+)@([a-zA-Z0-9.-]+)\\.([a-zA_Z]{2,3}$)/,\r\n \"Please enter valid email \"\r\n )\r\n }),\r\n\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n // call the api here\r\n debugger;\r\n // setDisable(true);\r\n sendEmail(values);\r\n }\r\n});\r\nreturn (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Welcome to TEKaHelp

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

Email Verification

\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return 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 {validation.touched.email && validation.errors.email ? (\r\n {validation.errors.email}\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n Back to Login \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\nexport default connect()(EmailVerfication);\r\n","export default __webpack_public_path__ + \"static/media/Add.72c3eb1c.svg\";","export default __webpack_public_path__ + \"static/media/Union.458a84c3.svg\";","export default __webpack_public_path__ + \"static/media/Trash_duotone_line.40b95242.svg\";","export default __webpack_public_path__ + \"static/media/Search_light.455c474e.svg\";","export default __webpack_public_path__ + \"static/media/Edit_light.33ab5fe3.svg\";","export default __webpack_public_path__ + \"static/media/double-arrow.15a80bec.svg\";","export default __webpack_public_path__ + \"static/media/Trash_light.d3421321.svg\";","import React, { useEffect, useState, useCallback, useMemo } from \"react\";\r\n\r\nimport { connect } from 'react-redux';\r\nimport axios from \"axios\"\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport { Tooltip } from 'antd';\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Trash_duotone_line from \"../../assets/images/Trash_duotone_line.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { Modal } from 'antd';\r\nimport Loader from \"../loader\";\r\n\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { fetchUserData } from \"../../Redux/Api/fetch.api\";\r\nimport { setUserType, deleteUserTypeData } from \"../../Redux/Actions/UserActions\";\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\n\r\nconst Index = () => {\r\n const allUserTypes = useSelector((state) => state.allUserType.user)\r\n const allUserRoleTypes = useSelector((state) => state.allUserType.user.roles)\r\n const [loading, setLoading] = useState(false);\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortEmail, setSortEmail] = useState('');\r\n const [sortRoles, setSortRoles] = useState('');\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n const [table, setTable] = useState([]);\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n \r\n getProducts(options)\r\n }, [])\r\n\r\n const getProducts = (options) => {\r\n setLoading(true)\r\n fetchUserData()\r\n .then(response => {\r\n dispatch(setUserType(response.data))\r\n // setLoading(false);\r\n setTable(response.data.data)\r\n \r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n }\r\n\r\n const deleteCustomerData = async (userId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_USER + '/' + userId, {\r\n\r\n }).then(response => {\r\n \r\n dispatch(deleteUserTypeData(response.data))\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n\r\n getProducts(options)\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (userId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteCustomerData(userId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n const handleEdit = (userId) => {\r\n history.push('/User/edit/' + userId)\r\n \r\n }\r\n\r\n const bindRole = (userRoles) => {\r\n \r\n return userRoles.map(x => x.roleName).join(\", \");\r\n }\r\n const handleChange = (pagination, sorter,current) => {\r\n\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n\r\n }); \r\n };\r\n\r\n const uniqueIds = [];\r\n const filterDataName = data => formatter => data.filter(element => {\r\n const isDublicate = uniqueIds.includes(element.firstName);\r\n\r\n if (!isDublicate) {\r\n uniqueIds.push(element.firstName);\r\n return true;\r\n }\r\n return false;\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n\r\n }));\r\n\r\n const filterDataRoles = data => formatter => data.filter(element => {\r\n const isDublicate = uniqueIds.includes(element.roles[0].roleName);\r\n\r\n if (!isDublicate) {\r\n uniqueIds.push(element.roles[0].roleName);\r\n return true;\r\n }\r\n return false;\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n\r\n }));\r\n\r\n const filterData = data => formatter => data.map(item => ({\r\n\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\", \r\n // render: (text, record, index) => `${(options.pagination.current - 1) * 10 + index + 1}`\r\n /* render: (text, record,index) =>`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index +1}`*/\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n\r\n\r\n \r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n render: (data, user) => (user.firstName + \" \" + user.lastName),\r\n sorter: (a, b) => a.firstName.localeCompare(b.firstName),\r\n filters: filterDataName(table)(i => i.firstName),\r\n onFilter: (value, record) => record.firstName === value,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n\r\n },\r\n {\r\n title: \"Email\",\r\n dataIndex: \"emailId\",\r\n sorter: (a, b) => a.emailId.localeCompare(b.emailId),\r\n filters: filterData(table)(i => i.emailId),\r\n onFilter: (value, record) => record.emailId.indexOf(value) === 0,\r\n sortOrder: sortEmail,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortEmail(sortEmail === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n {\r\n title: \"Roles\",\r\n dataIndex: \"roles\",\r\n render: (data, user) => (\r\n user.roles ?\r\n
\r\n {bindRole( user.roles)}
\r\n : \"NA\"\r\n ),\r\n sorter: (a, b) => a.roles[0].roleName.localeCompare(b.roles[0].roleName),\r\n sortOrder: sortRoles,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortRoles(sortRoles === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n //filters: filterDataRoles(table)(i => i.roles[0].roleName),\r\n //onFilter: (value, record) => record.roles[0].roleName === value,\r\n\r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, userId) => (<>\r\n )\r\n },\r\n ]\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n

User

\r\n
\r\n Add User\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n
\r\n \r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n />\r\n
\r\n
\r\n )\r\n};\r\nexport default connect()(Index);\r\n\r\n\r\n","import { UserTypes } from \"../Constants/User\";\r\n\r\n\r\n//get UserTypeData\r\nexport const setUserType = (user) => {\r\n return {\r\n type:UserTypes.SET_USERTYPES,\r\n payload: user\r\n };\r\n};\r\n\r\n//Add UserType Data\r\nexport const addUserType = (user) => {\r\n return {\r\n type: UserTypes.ADD_USERTYPES,\r\n payload: user\r\n };\r\n};\r\n\r\n//Update UserType Data\r\nexport const updateUserTypeData = (user) => {\r\n return {\r\n type: UserTypes.UPDATE_USERTYPES,\r\n payload: user\r\n };\r\n};\r\n\r\n//Delete UserType Data\r\nexport const deleteUserTypeData = (user) => {\r\n return {\r\n type: UserTypes.DELETE_USERTYPES,\r\n payload: user\r\n };\r\n};\r\n","import { CompanyDetails } from \"../Constants/Company\";\r\n\r\n\r\n//get CompanyData\r\nexport const SetCompanyDetails = (company) => {\r\n return {\r\n type:CompanyDetails.SET_COMPANYDETAILS,\r\n payload: company\r\n };\r\n};\r\n//Edit\r\nexport const setSelectedCompanydDetails = (company) => {\r\n return {\r\n type: CompanyDetails.SELECTED_COMPANYDETAILS,\r\n payload: company\r\n };\r\n};\r\n\r\n//Update Company Data\r\nexport const updateCompanyData = (company) => {\r\n return {\r\n type:CompanyDetails.UPDATE_COMPANYDETAILS,\r\n payload: company\r\n };\r\n};\r\n\r\n//#Developer\r\nexport const addCompanyData = (company) => {\r\n return {\r\n type: CompanyDetails.ADD_COMPANYDATA,\r\n payload: company\r\n };\r\n};\r\n\r\n//Delete Company Data\r\nexport const deleteCompanyTypeData = (company) => {\r\n return {\r\n type: CompanyDetails.DELETE_COMPANYDATA,\r\n payload: company\r\n };\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport axios from \"axios\"\r\n// Import Layout\r\n\r\nimport Layout from '../Layout';\r\n// Import static images\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Trash_duotone_line from \"../../assets/images/Trash_duotone_line.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { Modal } from 'antd';\r\nimport { fetchCompanyDetails } from \"../../Redux/Api/fetch.api\";\r\nimport { SetCompanyDetails, deleteCompanyTypeData } from \"../../Redux/Actions/CompanyActions\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport Loader from \"../loader\";\r\nimport { Tooltip } from 'antd';\r\n\r\nconst CompanyIndex = () => {\r\n const [table, setTable] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const allCompanyDetails = useSelector((state) => state.allCompanyDetails.company)\r\n const dispatch = useDispatch();\r\n const history = useHistory()\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortAdd, setSortAdd] = useState('');\r\n const location = useLocation();\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getCompanyDetails(options)\r\n }, [])\r\n\r\n const getCompanyDetails = (options) => {\r\n setLoading(true)\r\n fetchCompanyDetails({\r\n PageIndex: options.pagination.current,\r\n PazeSize: 5,\r\n })\r\n .then(response => \r\n {dispatch(SetCompanyDetails(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n }) \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n const handleChange = (pagination, sorter, current) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getCompanyDetails({\r\n ...updatedOptions,\r\n });\r\n };\r\n\r\n const deleteCompanyData = async (companyId,) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_COMPANYDETAILS + '/' + companyId, {\r\n }).then(response => {\r\n dispatch(deleteCompanyTypeData(response.data))\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getCompanyDetails(options)\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(true)\r\n }\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (companyId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteCompanyData(companyId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n\r\n const handleEdit = (companyId) => {\r\n history.push('/Company/edit/' + companyId)\r\n }\r\n const uniqueIds = [];\r\n const filterDataAddress = data => formatter => data.filter(element => {\r\n if (element.address1) {\r\n const isDublicate = uniqueIds.includes(element.address1);\r\n if (!isDublicate) {\r\n uniqueIds.push(element.address1);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n const filterData = data => formatter => data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n //const filterData = data => formatter => data.map(item => ({\r\n // text: formatter(item),\r\n // value: formatter(item)\r\n //}));\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n },\r\n {\r\n title: \"Company Name\",\r\n dataIndex: \"companyName\",\r\n sorter: (a, b) => a.companyName.localeCompare(b.companyName),\r\n filters: filterData(table)(i => i.companyName),\r\n onFilter: (value, record) => record.companyName.indexOf(value) === 0,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n {\r\n title: \"Address\",\r\n dataIndex: \"address1\",\r\n render: (address1) => {address1},\r\n sorter: (a, b) => a.address1.localeCompare(b.address1),\r\n filters: filterDataAddress(table)(i => i.address1),\r\n onFilter: (value, record) => record.address1.indexOf(value) === 0,\r\n sortOrder: sortAdd,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortAdd(sortAdd === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, companyId) => (<>\r\n )\r\n },\r\n ]\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n

Company

\r\n
\r\n Add Comapny\r\n
\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n scroll={{ x: \"450px\" }}\r\n />\r\n
\r\n
\r\n )\r\n};\r\nexport default connect()(CompanyIndex);\r\n\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { connect } from 'react-redux';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport { fetchCompanyLocationData, fetchLocationProducts } from \"../../Redux/Api/fetch.api\";\r\nimport { Modal } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Loader from \"../loader\";\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n//import Message from 'antd-message';\r\n// Import Layout\r\nimport Layout from '../Layout';\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { setCompanyLocationData, deleteCompanyLocationData } from \"../../Redux/Actions/RelationActions\";\r\nimport axios from \"axios\";\r\n\r\nconst IndexLocationType = () => {\r\n const allLocationCompany = useSelector((state) => state.allCompanyLocationData.relation);\r\n const dispatch = useDispatch();\r\n const history = useHistory()\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const [total, setTotal] = useState()\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortloc, setSortLoc] = useState('');\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n const [table, setTable] = useState([]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n getCompanyLocationData(options)\r\n }, [])\r\n\r\n const getCompanyLocationData = (options) => {\r\n setLoading(true)\r\n fetchCompanyLocationData({\r\n PageIndex: options.pagination.current,\r\n // PageSize: 5,\r\n })\r\n .then(response => {\r\n dispatch(setCompanyLocationData(response.data))\r\n setTable(response.data.data)\r\n setTotal(response.data.count)\r\n\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n const handleChange = (pagination, sorter, current) => {\r\n\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getCompanyLocationData({\r\n ...updatedOptions,\r\n\r\n });\r\n\r\n };\r\n const deleteLocationCompanyData = async (id) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_COMPANYLOCATIONDATA + '/' + id, {\r\n\r\n }).then(response => {\r\n dispatch(deleteCompanyLocationData(response.data))\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getCompanyLocationData(options)\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(true)\r\n\r\n }\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (id) => {\r\n confirm({\r\n className: \"ant-modal\",\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteLocationCompanyData(id)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n\r\n \r\n\r\n const handleEdit = (id) => {\r\n history.push('/Relation/Edit/' + id)\r\n \r\n }\r\n\r\n const uniqueIds = [];\r\n const filterDataCompany = data => formatter => data.filter(element => {\r\n const isDublicate = uniqueIds.includes(element.company.companyName);\r\n\r\n if (!isDublicate) {\r\n uniqueIds.push(element.company.companyName);\r\n return true;\r\n }\r\n return false;\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n\r\n }));\r\n\r\n const filterDataLocation = data => formatter => data.filter(element => {\r\n const isDublicate = uniqueIds.includes(element.location.name);\r\n\r\n if (!isDublicate) {\r\n uniqueIds.push(element.location.name);\r\n return true;\r\n }\r\n return false;\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n\r\n }));\r\n \r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n // render: (text, record, index) => `${(options.pagination.current - 1) * 10 + index + 1}`\r\n //render: (text, record, index) => `${(options.pagination.current === undefined ? 0 :\r\n // options.pagination.current - 1) * 10 + index + 1}`\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` ); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`},\r\n\r\n\r\n },\r\n \r\n {\r\n title: \"Company\",\r\n dataIndex: \"companyName\",\r\n render: (data, company) => (company.company.companyName),\r\n \r\n sorter: (a, b) => a.company.companyName.localeCompare(b.company.companyName),\r\n filters: filterDataCompany(table)(i => i.company.companyName),\r\n \r\n onFilter: (value, record) => record.company.companyName.indexOf(value) === 0,\r\n \r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n \r\n },\r\n {\r\n title: \"Location\",\r\n dataIndex: \"name\",\r\n render: (data, location) => (location.location.name),\r\n filters: filterDataLocation(table)((item, i) => item.location.name),\r\n onFilter: (value, record) => record.location.name === value,\r\n sorter: (a, b) => a.location.name.localeCompare(b.location.name),\r\n sortOrder: sortloc,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortLoc(sortloc === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n \r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ] ,\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n \r\n },\r\n\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, id) => (<>\r\n )\r\n },\r\n ]\r\n\r\n return (\r\n \r\n
\r\n
\r\n

Location Mapping

\r\n
\r\n New Mapping\r\n
\r\n
\r\n\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n \r\n />\r\n
\r\n
\r\n )\r\n};\r\nexport default connect()(IndexLocationType);\r\n","import { CompanyLocationData } from \"../Constants/Relation-Types\";\r\n\r\nexport const setCompanyLocationData = (relation) => {\r\n return {\r\n type: CompanyLocationData.SET_COMPANYLOCATIONDATA,\r\n payload: relation\r\n };\r\n};\r\n\r\n\r\n//Add RelationData\r\nexport const addCompanyLocationData = (relation) => {\r\n return {\r\n type: CompanyLocationData.ADD_COMPANYLOCATIONDATA,\r\n payload: relation\r\n };\r\n};\r\nexport const updateCompanyLocationData = (relation) => {\r\n return {\r\n type: CompanyLocationData.UPDATE_COMPANYLOCATIONDATA,\r\n payload: relation\r\n };\r\n};\r\n\r\nexport const deleteCompanyLocationData = (relation) => {\r\n return {\r\n type: CompanyLocationData.DELETE_COMPANYLOCATIONDATA,\r\n payload: relation\r\n };\r\n};","import { MediaTypes } from \"../Constants/Media-Types\"\r\n\r\nexport const setMediaTypes = (mediatypes) => {\r\n return {\r\n type: MediaTypes.SET_MEDIATYPES,\r\n payload: mediatypes\r\n };\r\n};\r\n\r\n//Add CustomerType Data\r\nexport const addMediaTypeData = (mediatypes) => {\r\n return {\r\n type: MediaTypes.ADD_MEDIATYPES,\r\n payload: mediatypes\r\n };\r\n};\r\n\r\n//Update CustomerType Data\r\nexport const updateMediaTypeData = (mediatypes) => {\r\n return {\r\n type:MediaTypes.UPDATE_MEDIATYPES,\r\n payload: mediatypes\r\n };\r\n};\r\n\r\n//Delete CustomerType Data\r\nexport const deleteMediaData = (mediatypes) => {\r\n return {\r\n type: MediaTypes.DELETE_SELECTED_MEDIATYPES,\r\n payload: mediatypes\r\n };\r\n};\r\n","import { allLocationByCompany } from \"../Constants/locationBycompany\";\r\n\r\nexport const getAllLocationByCompanyId = (allLocationByCompanyId) => {\r\n return {\r\n type: allLocationByCompany.GET_AllLocationByCompanyId,\r\n payload: allLocationByCompanyId\r\n };\r\n};\r\n\r\nexport const updateLocationByCompanyId = (allLocationByCompanyId) => {\r\n return {\r\n type: allLocationByCompany.UPDATE_LocationByCompanyId,\r\n payload: allLocationByCompanyId\r\n };\r\n};","\r\nimport { allQRByLocationId } from \"../Constants/qrByLocationId\";\r\n\r\nexport const getAllQRByLocationId = (qrByLocationId) => {\r\n return {\r\n type: allQRByLocationId.GET_AllQRByLocationId,\r\n payload: qrByLocationId\r\n };\r\n};","import { QRDetails } from \"../Constants/QrDetails\";\r\n\r\nexport const getQrDataDetails = (qrDetails) => {\r\n return {\r\n type: QRDetails.GET_QRDATADETAILS,\r\n payload: qrDetails\r\n };\r\n};\r\n\r\nexport const deleteMediaData = (qrDetails) => {\r\n return {\r\n type: QRDetails.DELETE_SELECTED_QRTYPE,\r\n payload: qrDetails\r\n };\r\n};\r\n\r\nexport const deleteMultipleMediaData = (qrDetails) => {\r\n return {\r\n type: QRDetails.DELETE_MULTIPLE_QRTYPE,\r\n payload: qrDetails\r\n };\r\n};\r\n\r\nexport const updateQrData = (qrDetails) => {\r\n return {\r\n type: QRDetails.PUT_UPDATEQREDIT_DETAILS,\r\n payload: qrDetails\r\n };\r\n};\r\n\r\n","import { QRTypes } from \"../Constants/QR\";\r\n\r\nexport const setLocationTypeData = (locationTypeData) => {\r\n return {\r\n type: QRTypes.SET_LOCATIONTYPEDATA,\r\n payload: locationTypeData\r\n };\r\n};\r\n\r\n\r\n//Get Qrcode Data\r\n\r\nexport const getQrCodeData = (qrData) => {\r\n return {\r\n type: QRTypes.GET_QRCODEDATA,\r\n payload: qrData\r\n };\r\n};\r\n\r\n\r\nexport const getQrCodeThumbnail = (qrData) => {\r\n return {\r\n type: QRTypes.GET_QRCODETHUMBNAIL,\r\n payload: qrData\r\n };\r\n};\r\n\r\n//Add Qrcode SaveMedia\r\n\r\nexport const saveMedia= (qrData) => {\r\n return {\r\n type: QRTypes.SAVE_MEDIATYPES,\r\n payload: qrData\r\n };\r\n};\r\n\r\n//Update location by QRCode\r\nexport const updateLocationByQRCode= (qrData) => {\r\n return {\r\n type: QRTypes.PUT_LOCATIONIDBYQRCODE,\r\n payload: qrData\r\n };\r\n};\r\n\r\nexport const getVirtualQRCode = (qrData) => {\r\n return {\r\n type: QRTypes.GET_VIRTUALQRCODE,\r\n payload: qrData\r\n };\r\n};\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Loader from \"../loader\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Layout from '../Layout';\r\nimport '../../../src/custom.css'\r\nimport AddImage from \"../../assets/images/Add.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { Link } from 'react-router-dom';\r\nimport { SetCompanyDetails } from '../../Redux/Actions/CompanyActions';\r\nimport { fetchAllLocationByCompanyId, fetchAllQRByLocationId, fetchAllQrCodes, fetchCompanyDetails, fetchMediaData } from '../../Redux/Api/fetch.api';\r\nimport { setMediaTypes } from '../../Redux/Actions/MediaActions';\r\nimport { getAllLocationByCompanyId } from '../../Redux/Actions/LocationByCompany';\r\nimport { getAllQRByLocationId } from '../../Redux/Actions/qrByLocationId';\r\nimport axios from 'axios';\r\nimport { Modal, Skeleton } from 'antd';\r\nimport { getQrDataDetails } from '../../Redux/Actions/QrDetails';\r\nimport { Tooltip } from 'antd';\r\nimport { getQrCodeData } from '../../Redux/Actions/QR';\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\n\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst IndexQrDetails = (handleOpen) => {\r\n require('dotenv').config();\r\n \r\n \r\n \r\n const allCompanyDetails = useSelector((state) => state.allCompanyDetails.company);\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n const selectedCompanyLocations = useSelector((state) => state.allLocationByCompany.allLocationByCompanyId);\r\n const selectedQrByLocation = useSelector((state) => state.allQRByLocationId.allQRByLocation);\r\n const [currentCompanyId, setCurrentCompanyId, getCurrentCompanyId] = useState(0);\r\n const [currentLocationId, setCurrentLocationId] = useState(0);\r\n const [currentQRId, setCurrentQRId] = useState();\r\n const [mastererror, setMasterError] = useState(false);\r\n const [sort, setSort] = useState('');\r\n const [iswithmasterqr, setisWithmasterQr] = useState(false);\r\n const [sortLoc, setSortLoc] = useState('');\r\n const [disabled, setDisabled] = useState(true);\r\n const [sortMedia, setSortMedia] = useState('');\r\n const [sortProductName, setSortProductName] = useState()\r\n const [sortQrcode, setSortQrcode] = useState('');\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sortGuide, setSortGuide] = useState('');\r\n const [sortArea, setSortArea] = useState('');\r\n const [sortQr, setSortQr] = useState('');\r\n const [currentMediaId, setCurrentMediaId] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [showButton, setShowButton] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const [checkedListOfIds, setCheckedListOfIds] = useState([]);\r\n const history = useHistory();\r\n const [pageSize, setPageSize] = useState(50);\r\n const [pageData, setPageData] = useState({});\r\n const [qRcodeId, setQRCodeId] = useState();\r\n const [qRcodeadd, setQRCodeadd] = useState();\r\n const [mediaadd, setMediaadd] = useState();\r\n const [qRcodeError, setQRCodeError] = useState(false);\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1 }, pageSize: pageSize\r\n });\r\n const [total, setTotal] = useState()\r\n const [count, setCount] = useState(0);\r\n const dispatch = useDispatch();\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n \r\n // Check if the QRcode exits on LocalStorage \r\n \r\n ReadSearchedItem()\r\n \r\n getCompanyDetails()\r\n getMediaData()\r\n \r\n setPageData(options)\r\n getQRDetails() \r\n\r\n }, [])\r\n\r\n const handleEdit = (qRcodeId, mediaId) => {\r\n uncheckcheckbox();\r\n setisWithmasterQr(false);\r\n history.push('/Update/QR/QrCodeId/' + qRcodeId + '/MediaId/' + mediaId)\r\n \r\n }\r\n const getQRDetails = () => {\r\n fetchAllQrCodes()\r\n .then(response => {\r\n dispatch(getQrCodeData(response.data))\r\n }\r\n )\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getCompanyDetails = () => {\r\n\r\n fetchCompanyDetails()\r\n .then(response => dispatch(SetCompanyDetails(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getMediaData = () => {\r\n fetchMediaData()\r\n .then(response => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const allLocationByCompany = () => {\r\n fetchAllLocationByCompanyId(currentCompanyId)\r\n .then(response => dispatch(getAllLocationByCompanyId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const allQRByLocation = () => {\r\n fetchAllQRByLocationId(currentLocationId)\r\n .then(response => dispatch(getAllQRByLocationId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n let qRCodeIdToSend = 0;\r\n if (qRcodeId && qRcodeId != '')\r\n qRCodeIdToSend = parseInt(qRcodeId);\r\n\r\n const searchQrDetails = async (options, isReset = false) => {\r\n \r\n setLoading(true)\r\n if (options && options.pagination == undefined) {\r\n options.pagination = pageData.pagination;\r\n options.pageSize = pageData.pageSize;\r\n }\r\n\r\n const response = await axios.post(url.GET_QRDETAILS, {\r\n //PageIndex: options.pagination.current ,\r\n PageIndex: options.pagination ? options.pagination.current : '1',\r\n pageSize: options.pagination.pageSize != undefined ? options.pagination.pageSize : options.pageSize,\r\n companyId: isReset ? 0 : currentCompanyId,\r\n locationId: isReset ? 0 : currentLocationId,\r\n mediaTypeId: isReset ? 0 : currentMediaId,\r\n QRcodeId: isReset ? 0 : currentCompanyId ? currentQRId : qRCodeIdToSend,\r\n\r\n }).then(response => {\r\n \r\n \r\n // Save Searched Items \r\n\r\n dispatch(getQrDataDetails(response.data)),\r\n setTable(response.data.data)\r\n setTotal(response.data.count)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n \r\n \r\n // pageSize: options.pagination.pageSize,\r\n pageSize: options.pagination.pageSize != undefined ? options.pagination.pageSize : process.env.REACT_APP_DEFAULT_PAGINATION,\r\n \r\n // pageSize: options.pagination.pageSize != undefined ? options.pagination.pageSize : options.pageSize,\r\n \r\n current: options.pagination.current ,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false)\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n };\r\n\r\n // Call on Search\r\n const SaveSeachedItems = (qRcodeId) => {\r\n \r\n // Save QRcodeId into the local storage \r\n localStorage.setItem('qrcodeid', qRcodeId)\r\n\r\n }\r\n\r\n // Call on page load \r\n const ReadSearchedItem = () => {\r\n // Get the QRcodeId from the local storage \r\n const searchedQRId = window.localStorage.getItem('qrcodeid')\r\n if (searchedQRId) {\r\n setQRCodeId(searchedQRId);\r\n qRCodeIdToSend = searchedQRId;\r\n searchQrDetails(options)\r\n }\r\n else {\r\n searchQrDetails(options)\r\n }\r\n }\r\n\r\n // Call on Reset\r\n const ClearSearchItem = () => {\r\n // Clear the QRcodeId from the local storage \r\n localStorage.removeItem('qrcodeid')\r\n }\r\n\r\n useEffect(() => {\r\n if (currentCompanyId > 0)\r\n allLocationByCompany()\r\n }, [currentCompanyId])\r\n\r\n useEffect(() => {\r\n if (currentCompanyId >0)\r\n allQRByLocation()\r\n }, [currentLocationId])\r\n\r\n const handleChange = (pagination, sorter) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n searchQrDetails({\r\n ...updatedOptions,\r\n });\r\n };\r\n const assignThumbnail = async (mediaId, qrCodeId) => {\r\n setLoading(true);\r\n var formData = new FormData();\r\n formData.append('QRCodeID', qrCodeId);\r\n formData.append('MediaId', mediaId);\r\n const response_ = await axios({\r\n method: 'post',\r\n url: url.POST_UpdateThumbnail,\r\n data: formData\r\n }).then(response => {\r\n searchQrDetails(options);\r\n setLoading(false);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n })\r\n }\r\n\r\n const deleteMediaData = async (mediaId, options) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETEMEDIA_QRDATA(mediaId), {\r\n }).then(response => {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n searchQrDetails(options);\r\n setLoading(false)\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n [total]\r\n }\r\n\r\n const deleteMultipleMediaData = async () => {\r\n \r\n setLoading(true)\r\n var formData = new FormData();\r\n formData.append('mediaIds', checkedListOfIds.toString());\r\n await axios.delete(url.DELETEMULTIPLEMEDIA_QRDATA, {\r\n data: formData\r\n }).then(response => {\r\n setLoading(false)\r\n searchQrDetails(options);\r\n setShowButton(false);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push('/QrReview')\r\n setCheckedListOfIds(\"\")\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n setLoading(false)\r\n });\r\n }\r\n\r\n const uncheckcheckbox = () => {\r\n var items = document.getElementsByName('checkname');\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i].type == 'checkbox')\r\n items[i].checked = false;\r\n }\r\n setMasterError(false)\r\n }\r\n const { confirm } = Modal;\r\n const handleDelete = (mediaId) => {\r\n\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteMediaData(mediaId, options)\r\n },\r\n onCancel() {\r\n\r\n },\r\n });\r\n }\r\n const handleDeleteMultiple = () => {\r\n {\r\n (checkedListOfIds.length > 1) ?\r\n confirm({\r\n title: 'Are you sure you want to delete these multiple records?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteMultipleMediaData()\r\n },\r\n onCancel() {\r\n uncheckcheckbox()\r\n setShowButton(false)\r\n setCheckedListOfIds('')\r\n },\r\n })\r\n :\r\n confirm({\r\n title: 'Are you sure you want to delete this row ?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteMultipleMediaData()\r\n },\r\n onCancel() {\r\n uncheckcheckbox()\r\n setShowButton(false)\r\n setCheckedListOfIds('')\r\n },\r\n })\r\n };\r\n }\r\n\r\n const handleaddwithcheck = () => {\r\n \r\n if (checkedListOfIds.length > 1) {\r\n toast.error(\"You cannot apply master on multiple rows\", {\r\n className: \"toastSuccess\",\r\n });\r\n // uncheckcheckbox();\r\n // setCheckedListOfIds(\"\");\r\n } \r\n else { \r\n history.push('/Add/QR/QrCodeId/' + qRcodeadd + '/MediaId/' + mediaadd) \r\n }\r\n \r\n }\r\n\r\n const handleCheck = (mediaId, qrcodeid) => {\r\n setisWithmasterQr(true);\r\n setQRCodeadd(qrcodeid);\r\n setMediaadd(mediaId)\r\n \r\n var updatedList = [...checkedListOfIds];\r\n if (event.target.checked) {\r\n updatedList = [...checkedListOfIds, mediaId];\r\n } else {\r\n updatedList.splice(checkedListOfIds.indexOf(mediaId), 1);\r\n }\r\n setCheckedListOfIds([...updatedList]);\r\n };\r\n\r\n const handleCompanyChange = (e) => {\r\n let companyData = allCompanyDetails.filter(x => x.companyId == e.target.value)\r\n setCurrentCompanyId(e.target.value)\r\n if (e.target.value == 0) {\r\n setCurrentLocationId(0);\r\n setCurrentQRId(0);\r\n }\r\n }\r\n\r\n const resetButtonSearch = async () => {\r\n setCurrentLocationId(0);\r\n setCurrentMediaId(0);\r\n setCurrentQRId(0);\r\n setCurrentCompanyId(0);\r\n qRCodeIdToSend = 0;\r\n searchQrDetails(options, true)\r\n }\r\n\r\n const columns = [\r\n {\r\n title: \" \",\r\n dataIndex: \"\",\r\n render: (data,mediaId) => (
\r\n {data.qRcodeId == data.primaryQR ?\r\n { setShowButton(true); }} onChange={() => { handleCheck(data.mediaId, data.qRcodeId) }}\r\n key={data.mediaId} {...checkedListOfIds.length < 1 ? setShowButton(false) : \"\"} {...checkedListOfIds.length <= 1 ? setMasterError(false) : \"\"}\r\n > : \"\"\r\n }\r\n
)\r\n },\r\n\r\n {\r\n title: \"Table Id\",\r\n dataIndex: \"mediaId\",\r\n className: \"tableID\",\r\n sorter: (a, b) => a.mediaId - b.mediaId,\r\n sortOrder: sortMedia,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortMedia(sortMedia === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n {\r\n title: \"Product Name\",\r\n dataIndex: \"product_Name\",\r\n render: (product_Name) => {product_Name},\r\n sorter: (a, b) => a.mediaId - b.mediaId,\r\n sortOrder: sortProductName,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortProductName(sortProductName === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n\r\n {\r\n title: \"QR Code\",\r\n dataIndex: \"qRcodeId\",\r\n sorter: (a, b) => a.qRcodeId - b.qRcodeId,\r\n sortOrder: sortQrcode,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortQrcode(sortQrcode === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n\r\n {\r\n title: \"Primary QR \",\r\n dataIndex: \"primaryQR\",\r\n },\r\n\r\n {\r\n title: \"Company\",\r\n dataIndex: \"companyName\",\r\n className: \"companyName\",\r\n render: (companyName) => {companyName},\r\n sorter: (a, b) => a.companyName.localeCompare(b.companyName),\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n {\r\n title: \"Location\",\r\n dataIndex: \"name\",\r\n className: \"Locations\",\r\n render: (Locations) => {Locations},\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n sortOrder: sortLoc,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortLoc(sortLoc === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n //{\r\n // title: \"QR Description\",\r\n // dataIndex: \"qR_Description\",\r\n // className: \"QRdescription ellipsss\",\r\n // render: (qR_Description) => {qR_Description},\r\n // sorter: (a, b) => a.qR_Description.localeCompare(b.qR_Description),\r\n // sortOrder: sortQr,\r\n // onHeaderCell: () => ({\r\n // onClick: () => setSortQr(sortQr === 'ascend' ? 'descend' : 'ascend'),\r\n // sortDirections: ['ascend', 'descend', 'ascend'],\r\n // }),\r\n //},\r\n {\r\n title: \"Guide Type \",\r\n dataIndex: \"guideType\",\r\n className: \"guide-type\",\r\n sorter: (a, b) => a.guideType.localeCompare(b.guideType),\r\n sortOrder: sortGuide,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortGuide(sortGuide === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n\r\n {\r\n title: \"Area Type \",\r\n dataIndex: \"areaType\",\r\n className: \"areaType\",\r\n render: (areaType) => {areaType},\r\n sorter: (a, b) => a.areaType.localeCompare(b.areaType),\r\n sortOrder: sortArea,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortArea(sortArea === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n }),\r\n },\r\n\r\n {\r\n title: \"Priority \",\r\n dataIndex: \"priority\",\r\n },\r\n //{\r\n // title: \"Sub Priority \",\r\n // dataIndex: \"subPriority\",\r\n //},\r\n //{\r\n // title: \"Header \",\r\n // dataIndex: \"header\",\r\n // className: \"headerType\",\r\n // render: (headerType) => {headerType},\r\n //},\r\n {\r\n title: \"Media Type \",\r\n dataIndex: \"mediaType\",\r\n },\r\n\r\n {\r\n title: \"Media Description \",\r\n dataIndex: \"\",\r\n className: \"mediaDescription ellipsss\",\r\n render: (data) => (\r\n
\r\n
\r\n : data.mediaDescription\r\n }>\r\n\r\n {data.mediaKey == \"Text\" ? View Text : data.mediaDescription}\r\n\r\n
)\r\n },\r\n\r\n {\r\n title: \"Assign Thumbnail \",\r\n dataIndex: \"thumbnailID\",\r\n render: (thumbnailID, mediaType) => (\r\n
\r\n {mediaType.qRcodeId == mediaType.primaryQR ?\r\n mediaType.mediaType === \"Image\" &&\r\n\r\n < input type=\"radio\" className=\"btn-radio\" name={mediaType.qRcodeId + '_radio'}\r\n checked={thumbnailID != null} onChange={() => { assignThumbnail(mediaType.mediaId, mediaType.qRcodeId) }}\r\n > : \"\"\r\n }\r\n {mediaType.qRcodeId == mediaType.primaryQR ? thumbnailID != null && : \"\"}\r\n
)\r\n\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, qRcodeId, mediaId) => (\r\n <>\r\n {data.qRcodeId == data.primaryQR ? < button className=\"table-btn\" >\r\n handleEdit(data.qRcodeId, data.mediaId)}>\r\n : \"\"}\r\n {data.qRcodeId == data.primaryQR ?\r\n : \"\"}\r\n\r\n \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 * Order Type : Guide, Priority\r\n \r\n \r\n * Thumbnail apply on Images\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 if (new RegExp(/^[0-9\\b]+$/).test(e.key)) {\r\n } else e.preventDefault();\r\n }}\r\n disabled={!currentCompanyId && !currentLocationId && !currentMediaId && !currentQRId ? \"\" : \"disabled\"}\r\n onChange={(e) => {\r\n setQRCodeId(e.target.value);\r\n setCount(e.target.value.length);\r\n if (e.target.value.startsWith('0') || count > 9) { setQRCodeError(\"Enter Valid QR Code\") }\r\n else { setQRCodeError(\"\") }\r\n }}\r\n >\r\n \r\n OR\r\n
    \r\n {count > 8 ? Invalid Data : \"\"}\r\n {qRcodeError}\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 * Order Type : Guide, Priority\r\n \r\n \r\n * Thumbnail apply on Images \r\n \r\n
\r\n
\r\n\r\n
\r\n {showButton ?\r\n \r\n : \"\"}\r\n {checkedListOfIds.length >= 1 && iswithmasterqr ? handleaddwithcheck()} >Add Media \r\n : Add Media }\r\n
\r\n
\r\n
\r\n {loading ? :\r\n <>\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n scroll={{ x: \"750px\" }}\r\n />\r\n
\r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default connect()(IndexQrDetails);\r\n","export default __webpack_public_path__ + \"static/media/phone.b28829d9.svg\";","export default __webpack_public_path__ + \"static/media/bg.faa8230d.svg\";","export default __webpack_public_path__ + \"static/media/logo.0de8462e.svg\";","export default __webpack_public_path__ + \"static/media/scan-me.faf9b558.svg\";","export default __webpack_public_path__ + \"static/media/qr.ac100773.svg\";","export default __webpack_public_path__ + \"static/media/toggle.b02b0efc.svg\";","export default __webpack_public_path__ + \"static/media/search1.f7ba6848.svg\";","export default __webpack_public_path__ + \"static/media/support-email.dbbd78b5.svg\";","export default __webpack_public_path__ + \"static/media/support-location.33cb0b60.svg\";","import React, { useState } from \"react\";\r\nimport ImageUploader from \"react-images-upload\";\r\n\r\nconst SupportUploadImage = (props) => {\r\n\r\n const [isActive, setIsActive] = useState(false);\r\n const [data, setData] = useState()\r\n\r\n const onDrop = (pictureFiles, pictureDataURLs = []) => {\r\n setIsActive(!isActive);\r\n setData(pictureDataURLs);\r\n\r\n const newImagesUploaded = pictureDataURLs.slice(props.defaultImages.length);\r\n\r\n props.handleChange(newImagesUploaded);\r\n\r\n }\r\n\r\n return (\r\n \r\n );\r\n\r\n}\r\nexport default SupportUploadImage; \r\n\r\n","export default __webpack_public_path__ + \"static/media/documentuploadicon.c02b23f6.png\";","export default __webpack_public_path__ + \"static/media/support-open.50b571c0.svg\";","export default __webpack_public_path__ + \"static/media/attachment-icon.437210e9.svg\";","export default __webpack_public_path__ + \"static/media/mike-icon.7afbef32.svg\";","export default __webpack_public_path__ + \"static/media/send-icon.22fa51b0.svg\";","export default __webpack_public_path__ + \"static/media/need-help-img.77c9077b.svg\";","export default __webpack_public_path__ + \"static/media/side-msg-icon.5aac8077.svg\";","export default __webpack_public_path__ + \"static/media/support-close.4b5b8a9a.svg\";","export default __webpack_public_path__ + \"static/media/side-phone-icon.65bbcae2.svg\";","export default __webpack_public_path__ + \"static/media/settings.5d2d2658.svg\";","export default __webpack_public_path__ + \"static/media/profile__new.54b7ae25.png\";","export default __webpack_public_path__ + \"static/media/support-phone.11181c7f.svg\";","export default __webpack_public_path__ + \"static/media/mic_off.3ff38ae6.svg\";","export default __webpack_public_path__ + \"static/media/delete-media-icon.ec750066.svg\";","export default __webpack_public_path__ + \"static/media/close-bot.7ffd1538.svg\";","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { useSelector } from 'react-redux';\r\nimport { Row, Col, Form, Button } from 'react-bootstrap';\r\n//import Layout from '../HorizontalLoayout/Layout';\r\nimport toast, { Toaster } from \"react-hot-toast\";\r\n//import PhoneIcon from '../../assets/images/support_page/phone-icon.svg'\r\nimport SupportIcon from '../../assets/images/support_page/support-email.svg'\r\nimport locatiion from '../../assets/images/support_page/support-location.svg'\r\nimport axios from \"axios\";\r\nimport { GET_WORK_CATEGORY, POST_SUPPORT_REQUEST } from \"../../api/uri_helper\";\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// import PhoneInput from \"react-phone-input-2\";\r\n// import '-2/lib/style.css';\r\n//import UploadImage from \"../uploadImages/uploadImage\";\r\nimport SupportUploadImage from \"../UserLogin/SupportUploader\";\r\nimport { Player } from \"video-react\";\r\nimport \"video-react/dist/video-react.css\";\r\nimport documentuploadicon from \"../../assets/images/support_page/documentuploadicon.png\";\r\nimport Suppport_Open from \"../../assets/images/support_page/support-open.svg\";\r\nimport attachment_icon from \"../../assets/images/support_page/attachment-icon.svg\"\r\nimport mike_icon from \"../../assets/images/support_page/mike-icon.svg\"\r\nimport need_help from \"../../assets/images/support_page/need-help-img.svg\"\r\nimport send_icon from \"../../assets/images/support_page/send-icon.svg\"\r\nimport Suppport_Close from \"../../assets/images/support_page/support-close.svg\"\r\nimport side_msg from \"../../assets/images/support_page//side-msg-icon.svg\"\r\nimport side_phone from \"../../assets/images/support_page/side-phone-icon.svg\"\r\nimport setting from \"../../assets/images/support_page/settings.svg\"\r\nimport profile_pic from \"../../assets/images/support_page/profile__new.png\"\r\nimport PhoneIcon from \"../../assets/images/support_page/support-phone.svg\";\r\n//import SupportIcon from \"../Assests/Images/support-email.svg\";\r\n//import locatiion from \"../Assests/Images/support-location.svg\";\r\nimport document_icon from \"../../assets/images/support_page/document.png\";\r\nimport video_icon from \"../../assets/images/support_page/video-camera.png\";\r\nimport image_icon from \"../../assets/images/support_page/gallery.png\";\r\nimport mike_off from \"../../assets/images/support_page/mic_off.svg\";\r\nimport close_container_icon from \"../../assets/images/support_page/delete-media-icon.svg\";\r\nimport close_icon from \"../../assets/images/support_page/close-bot.svg\";\r\nimport PhoneInput, { getCountries, getCountryCallingCode, formatPhoneNumber, formatPhoneNumberIntl, isValidPhoneNumber } from 'react-phone-number-input'\r\nimport 'react-phone-number-input/style.css'\r\nimport heic2any from 'heic2any';\r\n\r\nconst SupportRequest = ({ supportModalDisplay, setSupportModalDisplay, iconColor }) => {\r\n const [hoverColor, setHoverColor] = useState();\r\n const [workCategory, setWorkCategory] = useState([]);\r\n const [workCategoryId, setWorkCategoryId] = useState();\r\n const [message, setMessage] = useState(\"\");\r\n const [messageDisplay, setMessageDisplay] = useState(false);\r\n const [messageErr, setMessageErr] = useState(false);\r\n const [workCategoryErr, setWorkCategoryErr] = useState(false);\r\n const [displayState, setDisplayState] = useState(false);\r\n const [phnumber, setPhNumber] = useState('');\r\n const [selectedCountryCode, setSelectedCountryCode] = useState();\r\n const [phoneError, setPhoneError] = useState(false);\r\n const [requestType, setRequestType] = useState(true);\r\n const [touched, setTouched] = useState(false);\r\n const [submitButtonDisabled, setSubmitButtonDisabled] = useState(false);\r\n const [attacmentOptionsDisplay, setAttacmentOptionsDisplay] = useState(false);\r\n const [closeSupportModal, setCloseSupportModal] = useState(false);\r\n const [uploadedImage, setUploadedImage] = useState(null);\r\n const [images, setImages] = useState({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [\r\n ]\r\n }\r\n })\r\n const [mediaTypeSelected, setMediaTypeSelected] = useState(false);\r\n let extension, name, fileTypeId;\r\n const [fileTypeID, setFileTypeID] = useState();\r\n const [imageName, setImageName] = useState('');\r\n const [uploadedChatBotImage, setUploadedChatBotImage] = useState([]);\r\n const [uploadedChatBotVideo, setUploadedChatBotVideo] = useState([]);\r\n const [uploadedChatBotVoice, setUploadedChatBotVoice] = useState(\"\");\r\n const [uploadedChatBotDoc, setUploadedChatBotDoc] = useState([]);\r\n const [recordingStarted, setRecordingStarted] = useState(\"\");\r\n const [videoMedia, setVideoMedia] = useState([]);\r\n const [videoFileName, setVideoFileName] = useState(\"\");\r\n const [pdfMedia, setPdfMedia] = useState(\"\");\r\n const [fileName, setFileName] = useState(\"\");\r\n const [documnentName, setDocumentName] = useState('');\r\n const [audioRecording, setAudioRecording] = useState('');\r\n const [recordedFileName, setRecordedFileName] = useState('')\r\n const inputVideoRef = useRef();\r\n const inputDocRef = useRef();\r\n const audioRef = useRef(null);\r\n const [recordingDuration, setRecordingDuration] = useState(0);\r\n // const [supportModalDisplay, setSupportModalDisplay] = useState(false);\r\n // const allUserReducer = useSelector((state) => state.userReducer.userData);\r\n //const profilePicture = allUserReducer[0]?.profilePicture ?? profile_pic;\r\n const [webmBlobUrl, setWebmBlobUrl] = useState(null);\r\n const [audioStream, setAudioStream] = useState(null);\r\n const [mediaRecorder, setMediaRecorder] = useState(null);\r\n const [isRecording, setIsRecording] = useState(false);\r\n const [userName, setUserName] = useState();\r\n const [emailID, setEmailID] = useState(localStorage.getItem('emailid'));\r\n const [inputString, setInputString] = useState(\"\");\r\n const [isClicked, setIsClicked] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n const [recordingControlState, setRecordingControlState] = useState(false);\r\n const [textMessageErr, setTextMessageErr] = useState('');\r\n const [textErrorMessage, setTextErrorMessage] = useState('');\r\n const [textareaDisable, setTextareaDisable] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [heicFile, setHeicFile] = useState(false);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [selectedCountry, setSelectedCountry] = useState('');\r\n let url, audio, fileType;\r\n const [audioBlob, setAudioBlob] = useState(null);\r\n const [docFileName, setDocFileName] = useState([]);\r\n\r\n\r\n const toggleSupportModal = () => {\r\n setUploadedChatBotDoc('');\r\n setUploadedChatBotImage('');\r\n setUploadedChatBotVideo('');\r\n setUploadedChatBotVoice('')\r\n setAttacmentOptionsDisplay(false);\r\n setSupportModalDisplay(prevState => !prevState);\r\n };\r\n\r\n const CompanyId = 15;\r\n const siteId = 1;\r\n const attachmentOptionsRef = useRef(null);\r\n const [allUploadedFiles, setAllUploadedFiles] = useState([]);\r\n let uploadedFileNames;\r\n\r\n useEffect(() => {\r\n if (!supportModalDisplay) {\r\n setAllUploadedFiles([]);\r\n setUploadedChatBotDoc([]);\r\n setUploadedChatBotImage([]);\r\n setUploadedChatBotVideo([]);\r\n setAllUploadedFiles([]);\r\n }\r\n }, [supportModalDisplay])\r\n\r\n const handleFileType = (fileTypeExtension) => {\r\n if (fileTypeExtension === '.jpg' || fileTypeExtension === '.jpeg' || fileTypeExtension === '.png' || fileTypeExtension === '.gif' || fileTypeExtension === '.svg' || fileTypeExtension === '.heic') {\r\n fileTypeId = 1\r\n }\r\n else if (fileTypeExtension === '.mp4' || fileTypeExtension === '.MOV' || fileTypeExtension === '.mov' || fileTypeExtension === '.wmv' || fileTypeExtension === '.avi') {\r\n fileTypeId = 2\r\n }\r\n else if (fileTypeExtension === '.pdf') {\r\n fileTypeId = 3\r\n }\r\n else if (fileTypeExtension === '.mp3' || fileTypeExtension === '.webm') {\r\n fileTypeId = 4\r\n }\r\n else {\r\n\r\n }\r\n // setFileTypeID(fileTypeId)\r\n return fileTypeId\r\n }\r\n\r\n const validation = useFormik({\r\n enableReinitialize: true,\r\n initialValues: {\r\n phnumber: \"\",\r\n workCategoryId: \"\",\r\n message: \"\",\r\n },\r\n\r\n onSubmit: (values) => {\r\n if (requestType) {\r\n if (!phoneError && !textMessageErr) {\r\n setSubmitButtonDisabled(true);\r\n handleRequest(values);\r\n setIsDisabled(true);\r\n }\r\n else if (phnumber && !inputString) {\r\n setTextMessageErr(true);\r\n }\r\n else if (!phnumber && inputString) {\r\n setPhoneError(true);\r\n }\r\n else {\r\n setPhoneError(true);\r\n setTextMessageErr(true);\r\n }\r\n }\r\n else {\r\n if (!textMessageErr) {\r\n setSubmitButtonDisabled(true);\r\n handleRequest(values);\r\n }\r\n else {\r\n setTextMessageErr(true);\r\n setTextErrorMessage(\"Please describe the Request\");\r\n }\r\n\r\n }\r\n }\r\n });\r\n\r\n const handleRequestSubmit = (e) => {\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n if (requestType) {\r\n if (!phnumber && !inputString) {\r\n setPhoneError(true);\r\n setTextMessageErr(true);\r\n setTextErrorMessage(\"Describe the Request\");\r\n }\r\n\r\n else if (!inputString) {\r\n setTextMessageErr(true);\r\n setTextErrorMessage(\"Describe the Request\");\r\n }\r\n else if (!phnumber || !(phnumber && phnumber.length > 10)) {\r\n setPhoneError(true);\r\n // return;\r\n }\r\n else {\r\n setSubmitButtonDisabled(true);\r\n setTextareaDisable(true);\r\n handleDisplayState();\r\n }\r\n }\r\n else {\r\n if (!inputString) {\r\n setTextMessageErr(true);\r\n setTextErrorMessage(\"Describe the Request\");\r\n return\r\n }\r\n else {\r\n setTextareaDisable(true);\r\n setSubmitButtonDisabled(true);\r\n handleDisplayState();\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const handleDisplayState = () => {\r\n try {\r\n if (requestType) { // If requestType is true, i.e., \"Request for Call\" option is selected\r\n if (phnumber && phnumber.length > 0) { // Check if phone number field is filled and valid\r\n setDisplayState(true);\r\n setPhoneError(false); // Reset phone error state\r\n } else {\r\n setPhoneError(true); // Set phone error state\r\n setDisplayState(false);\r\n }\r\n } else {\r\n // If requestType is false, i.e., \"Send an Email\" option is selected\r\n if (!textMessageErr) {\r\n setDisplayState(true);\r\n } else {\r\n setDisplayState(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"Error handling display state:\", error);\r\n }\r\n };\r\n\r\n const handleCategory = async () => {\r\n try {\r\n const workCategoryResponse = await axios.get(GET_WORK_CATEGORY);\r\n setWorkCategory(workCategoryResponse.data.data);\r\n } catch (error) {\r\n console.error(\"Error fetching work categories:\", error);\r\n }\r\n };\r\n\r\n const handleRequest = async (event) => {\r\n const formData = new FormData();\r\n uploadedFileNames = new Set();\r\n if (!Array.isArray(allUploadedFiles)) {\r\n console.error('allUploadedFiles is not an array');\r\n return;\r\n }\r\n\r\n allUploadedFiles && allUploadedFiles.forEach((fileObj, index) => {\r\n if (fileObj.Extension === '.heic') {\r\n\r\n const _fileData = new File([fileObj.AttachmentFile], fileObj.AttachmentFile.name);\r\n if (!uploadedFileNames.has(_fileData.name)) {\r\n setImageName(_fileData.name);\r\n formData.append(`SupportAttachments[${index}].AttachmentFile`, _fileData);\r\n formData.append(`SupportAttachments[${index}].FileTypeId`, fileObj.FileTypeId);\r\n uploadedFileNames.add(_fileData.name);\r\n }\r\n setHeicFile(false);\r\n } else if (fileObj.Extension === '.jpg' || fileObj.Extension === '.jpeg' || fileObj.Extension === '.png' || fileObj.Extension === '.gif' || fileObj.Extension === '.svg') {\r\n\r\n const imageUrl = fileObj.AttachmentFile.split(\";\");\r\n var contentType = imageUrl[0].split(\":\")[1];\r\n var realData = imageUrl[2].split(\",\")[1];\r\n var blob = b64toBlob(realData, contentType);\r\n const _fileData = new File([blob], imageUrl[1].substring(5));\r\n if (!uploadedFileNames.has(_fileData.name)) {\r\n setImageName(_fileData.name);\r\n formData.append(`SupportAttachments[${index}].AttachmentFile`, _fileData);\r\n formData.append(`SupportAttachments[${index}].FileTypeId`, fileObj.FileTypeId);\r\n uploadedFileNames.add(_fileData.name);\r\n }\r\n } else if (fileObj.Extension === '.mp4' || fileObj.Extension === '.MOV' || fileObj.Extension === '.mov' || fileObj.Extension === '.wmv' || fileObj.Extension === '.avi') {\r\n const videoData = new File([new Blob([fileObj.AttachmentFile])], fileObj.name);\r\n if (!uploadedFileNames.has(videoData.name)) {\r\n formData.append(`SupportAttachments[${index}].AttachmentFile`, videoData);\r\n formData.append(`SupportAttachments[${index}].FileTypeId`, fileObj.FileTypeId);\r\n uploadedFileNames.add(videoData.name);\r\n }\r\n } else if (fileObj.Extension === '.pdf') {\r\n const pdfBlob = new Blob([fileObj.pdfFile]);\r\n const pdfData = new File([pdfBlob], fileObj.AttachmentFile);\r\n if (!uploadedFileNames.has(pdfData.name)) {\r\n formData.append(`SupportAttachments[${index}].AttachmentFile`, pdfData);\r\n formData.append(`SupportAttachments[${index}].FileTypeId`, fileObj.FileTypeId);\r\n uploadedFileNames.add(pdfData.name);\r\n }\r\n } else if (fileObj.Extension === '.mp3' || fileObj.Extension === '.webm') {\r\n // const recordedData = new File([new Blob([audioRecording])], fileObj.AttachmentFile);\r\n // if (!uploadedFileNames.has(recordedData.name)) {\r\n // formData.append(`SupportAttachments[${index}].AttachmentFile`, recordedData);\r\n // formData.append(`SupportAttachments[${index}].FileTypeId`, fileObj.FileTypeId);\r\n // uploadedFileNames.add(recordedData.name);\r\n // }\r\n\r\n const recordedData = new File([audioBlob], fileObj.AttachmentFile)\r\n if (!uploadedFileNames.has(recordedData.name)) {\r\n formData.append(`SupportAttachments[${index}].AttachmentFile`, recordedData);\r\n formData.append(`SupportAttachments[${index}].FileTypeId`, 4);\r\n uploadedFileNames.add(recordedData.name);\r\n }\r\n } else {\r\n console.log('no file uploaded');\r\n }\r\n });\r\n\r\n\r\n // formData.append(\"EmailId\", emailID && emailID);\r\n // formData.append(\"CompanyId\", companyId && companyId);\r\n // formData.append(\"SiteId\", siteId && siteId);\r\n formData.append(\"EmailId\", emailID && emailID);\r\n formData.append(\"CompanyId\", 12);\r\n formData.append(\"SiteId\", 1);\r\n formData.append(\"appID\", 1);\r\n formData.append(\"isCallRequest\", requestType ? \"true\" : \"false\");\r\n formData.append(\"PhoneNumber\", requestType ? (phnumber && phnumber) : null);\r\n if (workCategoryId !== null && workCategoryId !== undefined) {\r\n formData.append(\"CategoryId\", workCategoryId);\r\n }\r\n // formData.append(\"Description\", message && message);\r\n const trimmedMessage = inputString.trim();\r\n formData.append(\"Description\", trimmedMessage && trimmedMessage);\r\n\r\n const response = await axios.post(POST_SUPPORT_REQUEST, formData);\r\n // const response = await axios.post(POST_SUPPORT_REQUEST_NEW, formData);\r\n\r\n if (response.data.success) {\r\n setImages((prev) => ({\r\n ...prev, upload: {\r\n pictures: [], maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [\r\n ]\r\n }\r\n }));\r\n uploadedFileNames.length = 0;\r\n setAllUploadedFiles([]);\r\n setMessageDisplay(true);\r\n setInputString('');\r\n setPhNumber('');\r\n setWorkCategoryId(\"\");\r\n setMessage(\"\");\r\n setUploadedChatBotDoc([]);\r\n setUploadedChatBotImage([]);\r\n setUploadedChatBotVideo([]);\r\n setUploadedChatBotVoice('');\r\n setAudioBlob(null);\r\n // setFileTypeID('');\r\n } else {\r\n toast.success(`${response.data.message}`, {\r\n className: \"toastError\",\r\n });\r\n setSubmitButtonDisabled(false);\r\n setMessageDisplay(false);\r\n }\r\n }\r\n\r\n function b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n useEffect(() => {\r\n if (messageDisplay && displayState) {\r\n setSubmitButtonDisabled(true); // Disable the button while the message is being displayed\r\n const timeoutId = setTimeout(() => {\r\n setMessageDisplay(false);\r\n setTextareaDisable(false);\r\n setSubmitButtonDisabled(false);\r\n setIsDisabled(false);\r\n // Enable the button after the message display is finished\r\n }, 10000);\r\n return () => clearTimeout(timeoutId);\r\n }\r\n }, [messageDisplay, displayState]);\r\n\r\n useEffect(() => {\r\n handleCategory();\r\n }, []);\r\n\r\n const handleButtonClick = (type) => {\r\n setRequestType(type);\r\n };\r\n\r\n const handleChange = (phone, country) => {\r\n\r\n // Handle phone number changes\r\n if (phnumber && phnumber.length > 10) {\r\n setPhoneError(false);\r\n } else {\r\n setPhoneError(true);\r\n }\r\n setPhNumber(phone);\r\n };\r\n\r\n const handleCountryChange = (country) => {\r\n setSelectedCountry(country);\r\n };\r\n\r\n const handleBlur = () => {\r\n // handleValidation();\r\n setTouched(true);\r\n };\r\n\r\n // uploader\r\n function base64ToBinary(base64) {\r\n const binaryString = atob(base64);\r\n const length = binaryString.length;\r\n const bytes = new Uint8Array(length);\r\n for (let i = 0; i < length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n }\r\n\r\n // Calculate size\r\n function calculateImageSize(base64) {\r\n const binaryData = base64ToBinary(base64);\r\n const fileSizeInBytes = binaryData.length;\r\n const fileSizeInKB = fileSizeInBytes / 1024; // Convert bytes to kilobytes\r\n const fileSizeInMB = fileSizeInKB / 1024; // Convert kilobytes to megabytes\r\n\r\n return {\r\n bytes: fileSizeInBytes,\r\n kilobytes: fileSizeInKB,\r\n megabytes: fileSizeInMB\r\n };\r\n }\r\n\r\n const handleImagesChange = async (files) => {\r\n\r\n setAttacmentOptionsDisplay(false);\r\n const uploadedFilesWithExtensions = [];\r\n let newUrl, newBlob;\r\n if (!files || files.length === 0) {\r\n setAttacmentOptionsDisplay(false);\r\n setErrorMessage(\"Select only '.jpg', '.jpeg','.svg', '.png', '.gif', 'heic' files.\");\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 5000);\r\n return;\r\n }\r\n let extension = '';\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n\r\n\r\n if (file.type && file.type.startsWith('image/')) {\r\n extension = '.' + file.type.split('/')[1];\r\n } else if (file.name) {\r\n const filename = file.name;\r\n const match = filename.match(/\\.([^.]+)$/);\r\n if (match && match.length > 1) {\r\n extension = '.' + match[1].toLowerCase();\r\n }\r\n }\r\n\r\n // Check if it's a data URI\r\n const dataUriIndex = file.indexOf('data:');\r\n if (dataUriIndex === 0) {\r\n const nameIndex = file.indexOf('name=', dataUriIndex);\r\n if (nameIndex > -1) {\r\n const semicolonIndex = file.indexOf(';', nameIndex);\r\n if (semicolonIndex > -1) {\r\n const nameSubstring = file.substring(nameIndex, semicolonIndex);\r\n const dotIndex = nameSubstring.lastIndexOf('.');\r\n if (dotIndex > -1) {\r\n extension = nameSubstring.substring(dotIndex);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const base64String = file.split(';base64,')[1];\r\n const size = calculateImageSize(base64String);\r\n const allowedExtensions = ['.jpg', '.jpeg', '.svg', '.png', '.gif', 'heic'];\r\n\r\n if (size.megabytes > 5) {\r\n setImages('');\r\n setAttacmentOptionsDisplay(false);\r\n setErrorMessage(\"Image size exceeds 5MB.\");\r\n setImages('');\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 5000);\r\n return;\r\n }\r\n else {\r\n\r\n\r\n if (extension === '.heic') {\r\n\r\n setIsLoading(true);\r\n const semicolonIndex = file.indexOf(';');\r\n try {\r\n if (semicolonIndex !== -1) {\r\n const response = await fetch(file);\r\n const blob = await response.blob();\r\n const conversionResult = await heic2any({ blob });\r\n const url = URL.createObjectURL(conversionResult);\r\n const filename = file.split(';')[1].split('=')[1];\r\n const newFilename = filename.replace('.heic', '.jpeg');\r\n newBlob = new Blob([conversionResult], { type: 'image/jpeg' });\r\n newBlob.name = newFilename;\r\n newUrl = URL.createObjectURL(newBlob);\r\n if (!uploadedChatBotImage.includes(filename)) {\r\n // if (!uploadedFileHeic.includes(filename)) {\r\n setHeicFile(true);\r\n setUploadedChatBotImage(prevImages => [...prevImages, newUrl]);\r\n setImages({\r\n ...images,\r\n upload: {\r\n ...images.upload,\r\n pictures: [...images.upload.pictures, newBlob],\r\n },\r\n });\r\n\r\n // setUploadedFileHeic(prevFileHeic => [...prevFileHeic, filename]);\r\n } else {\r\n // Handle the case when the filename already exists\r\n\r\n setErrorMessage(\"File already uploaded.\", filename);\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 5000);\r\n return;\r\n }\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n else {\r\n const blob = file;\r\n if (!uploadedChatBotImage.includes(blob)) {\r\n setUploadedChatBotImage(prevImages => [...prevImages, blob]);\r\n setImages({\r\n ...images,\r\n upload: {\r\n ...images.upload,\r\n pictures: [...images.upload.pictures, blob],\r\n },\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n if (!Array.isArray(allUploadedFiles)) {\r\n console.error('allUploadedFiles is not an array');\r\n return;\r\n }\r\n\r\n\r\n if (extension !== '.heic') {\r\n if (allUploadedFiles && !allUploadedFiles.some(existingFile => existingFile.AttachmentFile === file)) {\r\n const fileType = handleFileType(extension);\r\n uploadedFilesWithExtensions.push({ AttachmentFile: file, FileTypeId: fileType, Extension: extension });\r\n }\r\n }\r\n else {\r\n if (allUploadedFiles && !allUploadedFiles.some(existingFile => existingFile.AttachmentFile === newBlob)) {\r\n // extension = '.heic';\r\n const fileType = handleFileType(extension);\r\n uploadedFilesWithExtensions.push({ AttachmentFile: newBlob, FileTypeId: fileType, Extension: extension });\r\n }\r\n }\r\n }\r\n\r\n setAllUploadedFiles(prevFiles => [...prevFiles, ...uploadedFilesWithExtensions]);\r\n\r\n };\r\n\r\n const handleImageChoose = () => {\r\n setAttacmentOptionsDisplay(false);\r\n };\r\n\r\n const handleVideoFileChange = (event) => {\r\n setAttacmentOptionsDisplay(false);\r\n const files = event.target.files;\r\n const videos = [];\r\n const duplicateFiles = [];\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n\r\n // Check file size\r\n const fileSizeInBytes = file.size;\r\n const fileSizeInMB = fileSizeInBytes / (1024 * 1024);\r\n\r\n // If file size exceeds 10MB, show error message and return\r\n if (fileSizeInMB > 10) {\r\n setErrorMessage(\"Video file size exceeds 10 MB. Please upload a smaller video.\");\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 3000);\r\n return;\r\n }\r\n // Add file to the videos array\r\n videos.push(file);\r\n }\r\n\r\n const uploadedFilesWithExtensions = videos.map(videoFile => {\r\n const fileExtension = '.' + videoFile.name.split('.').pop();\r\n fileType = handleFileType(fileExtension);\r\n const urlForVideo = URL.createObjectURL(videoFile);\r\n return { AttachmentFile: videoFile, name: videoFile.name, url: urlForVideo, FileTypeId: fileType, Extension: fileExtension };\r\n });\r\n\r\n const newVideosToAdd = uploadedFilesWithExtensions.filter(video => {\r\n for (const existingVideo of uploadedChatBotVideo) {\r\n if (existingVideo.name === video.name) {\r\n // duplicateFiles.push(video.AttachmentFile);\r\n return false;\r\n }\r\n }\r\n return true;\r\n });\r\n\r\n if (duplicateFiles.length > 0) {\r\n setErrorMessage(`Uploaded file(s) already exist: ${duplicateFiles.join(', ')}`);\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 3000);\r\n }\r\n\r\n setUploadedChatBotVideo(prevVideos => [...prevVideos, ...newVideosToAdd]);\r\n\r\n setAllUploadedFiles(prevFiles => [...prevFiles, ...newVideosToAdd]);\r\n\r\n event.target.value = null;\r\n };\r\n\r\n const handleVideoChoose = (event) => {\r\n setAttacmentOptionsDisplay(false);\r\n inputVideoRef.current && inputVideoRef.current.click();\r\n };\r\n\r\n const handleDocChoose = (event) => {\r\n setAttacmentOptionsDisplay(false);\r\n inputDocRef.current.click();\r\n };\r\n\r\n const handleDocFileChange = (event) => {\r\n setAttacmentOptionsDisplay(false);\r\n const duplicateFiles = [];\r\n\r\n const files = event.target.files;\r\n const maxSize = 5 * 1024 * 1024;\r\n\r\n const uploadedDocumentsWithExtensions = [];\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n if (file.size <= maxSize) {\r\n if (file.type === 'application/pdf') {\r\n setErrorMessage('');\r\n\r\n const fileExtension = '.' + file.name.split('.').pop();\r\n fileType = handleFileType(fileExtension);\r\n const url = URL.createObjectURL(file);\r\n setFileName(file.name);\r\n setDocFileName(file.Name);\r\n setPdfMedia(file);\r\n\r\n // Push the file itself into the array\r\n uploadedDocumentsWithExtensions.push({\r\n AttachmentFile: file.name,\r\n FileTypeId: fileType,\r\n Extension: fileExtension,\r\n pdfFile: file\r\n });\r\n setAttacmentOptionsDisplay(false);\r\n } else {\r\n // Reset the input value if file type is invalid\r\n inputDocRef.current.value = '';\r\n setErrorMessage('Please select a PDF file.');\r\n setAttacmentOptionsDisplay(false);\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 3000);\r\n }\r\n } else {\r\n // Reset the input value if file size exceeds 5 MB\r\n inputDocRef.current.value = '';\r\n setErrorMessage('File size should be maximum 5 MB.');\r\n setAttacmentOptionsDisplay(false);\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 3000);\r\n }\r\n }\r\n\r\n const newDocsToAdd = uploadedDocumentsWithExtensions.filter((doc) => {\r\n for (const existingDoc of uploadedChatBotDoc) {\r\n if (existingDoc.AttachmentFile === doc.AttachmentFile) {\r\n duplicateFiles.push(doc.AttachmentFile);\r\n return false;\r\n }\r\n }\r\n return true;\r\n });\r\n\r\n // Display error message for duplicates\r\n if (duplicateFiles.length > 0) {\r\n setErrorMessage(`Uploaded file(s) already exist: ${duplicateFiles.join(', ')}`);\r\n setTimeout(() => {\r\n setErrorMessage('');\r\n }, 3000);\r\n }\r\n\r\n setUploadedChatBotDoc(prevDocs => [...prevDocs, ...newDocsToAdd]);\r\n\r\n setAllUploadedFiles(prevFiles => [...prevFiles, ...newDocsToAdd]);\r\n };\r\n\r\n const handleImageDeletion = (type, index) => {\r\n switch (type) {\r\n case 'image':\r\n setUploadedChatBotImage('');\r\n handleRemoveImgClick(index, 'image')\r\n break;\r\n case 'video':\r\n setUploadedChatBotVideo('');\r\n handleRemoveImgClick(index, 'video')\r\n break;\r\n case 'doc':\r\n setUploadedChatBotDoc('');\r\n handleRemoveImgClick(index, 'doc')\r\n break;\r\n case 'audio':\r\n setUploadedChatBotVoice('');\r\n setAudioBlob(null);\r\n handleRemoveImgClick(index, 'audio')\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const startRecording = () => {\r\n\r\n navigator.mediaDevices.getUserMedia({ audio: true })\r\n .then(stream => {\r\n setAudioStream(stream);\r\n\r\n const recorder = new MediaRecorder(stream);\r\n let audioChunks = [];\r\n setMediaRecorder(recorder)\r\n recorder.ondataavailable = (event) => {\r\n if (event.data.size > 0) {\r\n audioChunks.push(event.data);\r\n }\r\n };\r\n\r\n recorder.onstop = async () => {\r\n\r\n const blob = new Blob(audioChunks);\r\n const fileTypes = 'mp3';\r\n const fileExtension = '.mp3';\r\n fileType = handleFileType(fileExtension);\r\n //const uploadedAudioWithExtensions = [];\r\n\r\n const timestamp = new Date().getTime();\r\n const fileName = `audio_${timestamp}${fileExtension}`;\r\n\r\n setRecordedFileName(fileName);\r\n\r\n replaceExistingAudio(fileName, fileType, fileExtension, blob);\r\n\r\n };\r\n\r\n recorder.start();\r\n setIsRecording(true);\r\n })\r\n .catch(error => {\r\n console.error('Error accessing the microphone:', error);\r\n });\r\n };\r\n\r\n\r\n const stopRecording = () => {\r\n if (mediaRecorder && isRecording) {\r\n mediaRecorder.stop();\r\n setIsRecording(false);\r\n if (audioStream) {\r\n audioStream.getTracks().forEach(track => track.stop());\r\n setAudioStream(null);\r\n }\r\n }\r\n };\r\n\r\n const replaceExistingAudio = (recordedFileName, audiofileType, audioFileExtension, blob) => {\r\n const existingAudioIndex = allUploadedFiles.findIndex(file => file.FileTypeId === 4);\r\n if (existingAudioIndex !== -1) {\r\n allUploadedFiles[existingAudioIndex] = {\r\n AttachmentFile: recordedFileName,\r\n FileTypeId: audiofileType,\r\n Extension: audioFileExtension\r\n };\r\n } else {\r\n setAllUploadedFiles([\r\n ...allUploadedFiles.filter(file => file.FileTypeId !== 4), {\r\n AttachmentFile: recordedFileName,\r\n FileTypeId: audiofileType,\r\n Extension: audioFileExtension\r\n }]);\r\n }\r\n\r\n url = URL.createObjectURL(blob);\r\n audio = document.createElement(\"audio\");\r\n audio.src = url;\r\n audio.controls = true;\r\n\r\n // setAudioURL(url);\r\n setUploadedChatBotVoice('');\r\n setUploadedChatBotVoice(url);\r\n\r\n audioRef.current && audioRef.current.load();\r\n setAudioBlob(blob);\r\n };\r\n\r\n\r\n\r\n const handleInputString = (event) => {\r\n const { value } = event.target;\r\n setInputString(value);\r\n\r\n if (value.trim() === \"\") {\r\n setInputString('');\r\n setMessage(\"\");\r\n } else {\r\n setTextMessageErr(false);\r\n setTextErrorMessage(\"\");\r\n handleSubmitText(value);\r\n }\r\n };\r\n\r\n const handleSubmitText = (inputString) => {\r\n let array = inputString.trim().split(/\\s+/); // Split by any whitespace characters\r\n array = array.filter(str => str !== \"\"); // Remove empty strings\r\n let string = array.join(\" \");\r\n\r\n if (string.trim() === \"\") {\r\n setInputString('');\r\n setMessage(\"\");\r\n } else {\r\n setMessage(string);\r\n }\r\n };\r\n\r\n const handleRemoveImgClick = (index, mediaType) => {\r\n\r\n let updatedAllFilesArray = [...allUploadedFiles];\r\n\r\n if (mediaType === 'image') {\r\n const removedImage = uploadedChatBotImage[index];\r\n const updatedImagesArray = uploadedChatBotImage.filter((_, i) => i !== index);\r\n setUploadedChatBotImage(updatedImagesArray);\r\n\r\n updatedAllFilesArray = updatedAllFilesArray.filter(file =>\r\n (file.AttachmentFile !== removedImage)\r\n );\r\n } else if (mediaType === 'video') {\r\n const removedVideo = uploadedChatBotVideo[index];\r\n\r\n const updatedVideosArray = uploadedChatBotVideo.filter((_, i) => i !== index);\r\n setUploadedChatBotVideo(updatedVideosArray);\r\n\r\n updatedAllFilesArray = updatedAllFilesArray.filter(file =>\r\n !(file.AttachmentFile === removedVideo.AttachmentFile && file.Extension === removedVideo.Extension)\r\n );\r\n } else if (mediaType === 'doc') {\r\n const removedDoc = uploadedChatBotDoc[index];\r\n const updatedDocsArray = uploadedChatBotDoc.filter((_, i) => i !== index);\r\n setUploadedChatBotDoc(updatedDocsArray);\r\n\r\n updatedAllFilesArray = updatedAllFilesArray.filter(file =>\r\n !(file.AttachmentFile === removedDoc.AttachmentFile && file.Extension === removedDoc.Extension)\r\n );\r\n\r\n\r\n } else if (mediaType === 'audio') {\r\n // Remove the existing audio file\r\n setAudioBlob(null);\r\n setUploadedChatBotVoice(''); // Assuming uploadedChatBotAudio is the state variable holding the audio file\r\n updatedAllFilesArray = updatedAllFilesArray.filter(file => file.FileTypeId !== 4);\r\n }\r\n setAllUploadedFiles(updatedAllFilesArray);\r\n };\r\n\r\n const isMobileView = window.innerWidth <= 567;\r\n const buttonClassName = `btn open-chat p-1 ${supportModalDisplay && isMobileView ? 'mobile-hidden' : ''}`;\r\n\r\n return (\r\n
\r\n\r\n
\r\n {supportModalDisplay || closeSupportModal ?\r\n (\r\n
\r\n\r\n
\r\n

Support

\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 {/* \"Profile */}\r\n \"Profile\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \"Suppport_Open\"\r\n
\r\n
Need Help?
\r\n

Fill out the form below and we will get back to you shortly. Please stand by.

\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
1 || uploadedChatBotDoc.length > 1 || uploadedChatBotVideo.length > 1 ? 'multi-image' : ''}`}>\r\n\r\n\r\n {/* addinf form */}\r\n \r\n
\r\n
\r\n handleButtonClick(true)}\r\n >\r\n Request for Call\r\n \r\n handleButtonClick(false)}>\r\n Send an Email\r\n \r\n
\r\n
\r\n\r\n {requestType ? (\r\n
\r\n
\r\n \r\n Phone Number * \r\n \r\n \r\n {touched && < small className=\"text-danger d-block mt-2\">{!phoneError ? ' ' : 'Please Enter Valid Phone Number'}}\r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n Category\r\n \r\n
\r\n {\r\n const selectedValue = e.target.value;\r\n if (selectedValue === \"Others\") {\r\n setWorkCategoryId(\"others\");\r\n } else {\r\n setWorkCategoryId(selectedValue);\r\n }\r\n }}\r\n >\r\n \r\n {workCategory.map((category) => (\r\n \r\n {category.workDescription}\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n )}\r\n\r\n\r\n
\r\n {uploadedChatBotImage && uploadedChatBotImage.length > 0 && uploadedChatBotImage.length < 2 ?\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n : ''}\r\n\r\n {uploadedChatBotVideo && uploadedChatBotVideo.length > 0 && uploadedChatBotVideo.length < 2 && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n\r\n {uploadedChatBotDoc && uploadedChatBotDoc.length > 0 && uploadedChatBotDoc.length < 2 && (\r\n
\r\n
\"Document\"\r\n

{fileName ? fileName : ''}

\r\n \r\n
\r\n )}\r\n\r\n {uploadedChatBotVoice &&\r\n
\r\n \r\n \r\n
}\r\n\r\n\r\n {message && (uploadedChatBotImage || uploadedChatBotVideo || uploadedChatBotDoc || uploadedChatBotVoice) ?\r\n\r\n

{message}

\r\n :\r\n message && (!uploadedChatBotImage || !uploadedChatBotVideo || !uploadedChatBotDoc || !uploadedChatBotVoice) ?\r\n (\r\n
\r\n

{message}

\r\n
\r\n ) : ''\r\n }\r\n\r\n {errorMessage &&

{errorMessage}

}\r\n {/*
*/}\r\n\r\n {/*
\r\n

{message}

\r\n
*/}\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n {messageDisplay && displayState ?\r\n (
\r\n
) : ''}\r\n
\r\n\r\n \r\n
\r\n\r\n {/* end of form */}\r\n\r\n
\r\n
\r\n {((uploadedChatBotImage && uploadedChatBotImage.length > 1) ||\r\n (uploadedChatBotVideo && uploadedChatBotVideo.length > 1) ||\r\n (uploadedChatBotDoc && uploadedChatBotDoc.length > 1)) ?\r\n\r\n
\r\n\r\n {uploadedChatBotImage && uploadedChatBotImage.length > 1 && (\r\n uploadedChatBotImage.map((url, index) => (\r\n
\r\n \r\n \r\n
\r\n ))\r\n )}\r\n\r\n {\r\n uploadedChatBotVideo && uploadedChatBotVideo.length > 1 && (\r\n\r\n uploadedChatBotVideo.map((video, index) => (\r\n
\r\n \r\n \r\n
\r\n ))\r\n )\r\n }\r\n\r\n {\r\n uploadedChatBotDoc && uploadedChatBotDoc.length > 1 && (\r\n uploadedChatBotDoc.map((doc, index) => (\r\n
\r\n
\r\n \"Document\"\r\n

{doc.name}

\r\n
\r\n \r\n
\r\n ))\r\n )\r\n }\r\n
: ''}\r\n\r\n {textErrorMessage ?

{textErrorMessage}

:\r\n\r\n

Describe the issue you need help with :

\r\n }\r\n
\r\n
\r\n
\r\n
\r\n {!isRecording ?\r\n ()\r\n :\r\n ()}\r\n
\r\n\r\n
\r\n\r\n {recordingStarted ? '' :\r\n
\r\n
    \r\n
  • \r\n \"Image\"\r\n \r\n
  • \r\n\r\n
  • \r\n
  • \r\n\r\n
  • \r\n
  • \r\n
\r\n {recordingStarted ? '' :\r\n }\r\n
\r\n }\r\n\r\n\r\n {!recordingStarted ?\r\n <>\r\n \r\n\r\n : \"\"}\r\n\r\n {!recordingStarted ?\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 Location\r\n

    \r\n 2155 Chenault Dr. Suite 510 Carrollton, TX 75006\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n Feel free to contact us\r\n +1 (833) 288-4835\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n Support\r\n sales@authentek.io\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 {/* support */}\r\n\r\n \r\n );\r\n};\r\n\r\nexport default SupportRequest;\r\n\r\n\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAB2AAAAdgB+lymcgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJiSURBVHic7dq7axRRFMfxz0rUiKDxUfgg2AgiWATSWVgJ+QtEJVhJDCksrCzE3spSUBtFY2FrrBR8VRLB+EoKQTAg+EJFogkYH8VkzeyyyW52Z5jczf3CgZ3L3XvO+c2dw8y9l0gkEolEIpFIJLISKaV+r8EAjmA31hYS0TwzmMC1Ofudp7NuPMPfZWqPsDWv5NfhxTJIsp49wKqsk+/AEPZVtb/F56ydLZFt2Jm6PoCjGM7a0ROVSg9k7aBJSjijMrbbLY7ZhZN4jFfog6mUg/EWHWRNCZ/Mx/emyXH24wp+qhR0UlXDvZbCzYeX5uP7uIT/bcQJjFmktnRkGuryoFeSeD/W1+vcLgJ04Zgk8eqCnuYHZiWz4z8hPwK9uKiyjtWycZzGZkmOQT8CGyRvq0PoWaTfDG7hEu4u1Ck0ATbhveTlbSHGJEkP43u9AUMToEPtmBu62wsNGDITuIrL+NLMACEK0PTdrkVoAnzDLg08242S+ddVzvySYfKEJ0DmRAGKDqBoogBFB1A0UYCiAyia0ARYLfkazIzQBOjCB9zEwSwGDE0A6MQh3FG50NEUIQqQZi/O4Z0mZ0VoAsxiukZ7elY8lawWNVQrQhPgq2THaFCy8lOLHlywhFqxohdFCVuAMuUtr3qbvFOSNYW2EyBNo7OibQUo09DWGHFz1GhV42ArEWdICWdVxjbS4pjlWjGK1+gr4RTOV3WclChfJNuxo6qtHzeydtSJ57I9zpKH3Zfje0u3+sWiSHuILXkkXn1M7jgOY4/ij8lNS46xXJ+zP8WGE4lEIpFIJBKJRNqJfy5Kfj6FmNb1AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAB2AAAAdgB+lymcgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMbSURBVHic7ds/iFRXFMfxz2RXxVURTKqNELXTQjsTFJVAFBGSwkItUmwZUlhE7ZLWwvxRYmNhtJEEDdgkIKigEJuksNCQ2EQlaBLRhBAxWdglSXFXePPYnffevPvmzsD7wi3umTvnnPt7/86dN5dq7MaX+AWz+K+hNouHOI/XK+bYCMtxUXMTLmrnMNH4LBdgEa4WJDiI9i1WxZ5cp8SYIziWs/2F2/gndkJYiq0LfHZTuAwfNxB3XsbwSPeR+BiLG4y5Ru8z4QdMNhi/i1dzwa8pd9bUYU0u5m/4N2f7CWtjBHuh4PNXcv2v5xIYJJfwriDCc9bhG6yv67xIgPyd9/e6AfvkFN7GTMb2Mm5gcx3HRQIME19gL6YztlW4bOGbZiGjJADhEtyDpxnbSkGEXf04HDUBCDfiN/BHxjaBr4QzpBKjKAB8h52664HFuICpKo5GVQBCUbQdDzK2MZzBwbJORlkAuIMduJexdXAC75RxMIwCzOT6k8KRXYi72IYfM7YOTuK1uslM6a7Apuo6LME4/lRugVTUrhcFG8YzYBanI/najtW9BgyjAPA+rkTw08GmXgPGIwRpgmlh2XsAb+HFCt+dxIZM/6Veg4dVAMLi5/O5VoUpnM30e65eh/USGBitAKkTSE0rQOoEUhNDgAPCqmyQP5E/w0cRco8iwKcKnrUNMIFDup/3fRFDgCcRfPTDjLBmqEWMQmgfPtDAW5seTOMz4R1lLWII8D32R/CThPYpkDqB1LQCpE4gNa0AEXy0laC2EkxCWwlqK8H6tE+B1AmkphUgdQKpaQWI4KNKJXgXWyLEjMagK8G1OBohZjRSVIKpKsd5GXQl+LPw6ntoaCvB1AmkphUgdQKpaQVInUBqWgFSJ5CaIgH+zvWr/F0tFfmy/FmvwUUC3M/139T8pqk6dIQcs9ybb2BZxoRdW9kV3SdYUsdpQyzBcd25/qrgIJc5mofxYc72FLc0s3GyH5ZiI1bk7O8JotRi3HBsna3aroj4T9jlwq7x1JMq2y5gWazJZ9k55/yBZrfPV22zczmdFzZUleZ/4vCrb/fr5x0AAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/arrow-left.205edc45.svg\";","export default __webpack_public_path__ + \"static/media/plus.dd12edb9.svg\";","export default __webpack_public_path__ + \"static/media/img2.90be0d1e.png\";","export default __webpack_public_path__ + \"static/media/pdf-icn.3a501551.svg\";","export default __webpack_public_path__ + \"static/media/copy.327e7999.svg\";","export default __webpack_public_path__ + \"static/media/download-icn.707027db.svg\";","export default __webpack_public_path__ + \"static/media/close.5fddf773.svg\";","export default __webpack_public_path__ + \"static/media/attach.1e2a56de.svg\";","\r\nimport { allQRCodeIdUser } from \"../Constants/QRCodeId\";\r\n\r\nexport const setQrCodeIdData = (qrId) => {\r\n \r\n return {\r\n type: allQRCodeIdUser.GET_AllQRCodeIdUser,\r\n payload: qrId\r\n };\r\n};\r\n\r\nexport const addQrCodes = (qrId) => {\r\n\r\n return {\r\n type: allQRCodeIdUser.ADD_AllQRCodes,\r\n payload: qrId\r\n };\r\n};\r\n\r\n","export default __webpack_public_path__ + \"static/media/play-circle 1.38e94087.svg\";","import React from \"react\"\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\n\r\nconst Footer = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
© AuthenTEK ({new Date().getFullYear()}) | TEKaHelp™
\r\n
\r\n
Powered by
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Footer","import React, { useState } from \"react\"\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport comingSoon from \"../../UserAssets/images/comingSoon.png\"\r\n\r\nconst AboutUs = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

ABOUT US

\r\n

TEKaHelp is a global platform that connects users with instant help through the use of QR codes attached to all different types of media.

\r\n

Brought to you by AuthenTEK Solutions LLC.

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\nexport default AboutUs","export default __webpack_public_path__ + \"static/media/comingSoon.89976d0f.png\";","export default __webpack_public_path__ + \"static/media/support-open.50b571c0.svg\";","import React, { useState } from \"react\"\r\nimport Layout from '../Layout';\r\nimport Search from \"../../UserAssets/images/search1.svg\"\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport Menu from \"../../UserAssets/images/toggle.svg\"\r\nimport AboutUs from \"../UserLogin/AboutUs\";\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport BackBtn from \"../../UserAssets/images/arrow-left.svg\"\r\nimport SupportIcon from \"../../UserAssets/images/support-open.svg\"\r\nimport QRCode from \"../../UserAssets/images/support.png\"\r\nimport CloseIcon from \"../../UserAssets/images/close.png\"\r\nimport EditIcon from \"../../UserAssets/images/editing.png\"\r\n\r\nconst Header = ({ isParentId, isId, isQRCode, id, parentQRId, parentQrCodeId, parentQrCodeIdnew, \r\n parentQrCodeIdlatest, qrGroupingDetails, isBackButton, isCurrentid, setSupportModalDisplay }) => {\r\n \r\n return (\r\n
\r\n
\r\n {\r\n \r\n //isParentId==0 && parentQRId ?
\r\n //:\r\n parentQrCodeId ?
:\r\n \r\n // isId && qrGroupingDetails.childThumbnail.qrCode == 0?
\r\n isId ?
\r\n :\r\n parentQrCodeIdnew ?
:\r\n parentQrCodeIdlatest ?
:\r\n id ?
\r\n\r\n \r\n : ''\r\n }\r\n\r\n
\r\n
\r\n TEKa\r\n Help\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\nexport default Header","export default __webpack_public_path__ + \"static/media/support.333e9610.png\";","import { allUserGroupingData } from \"../Constants/QRCodeIdByGuideType\";\r\n\r\nexport const setQrCodeIdDataByGuideType = (qrCodeId) => {\r\n\r\n return {\r\n type: allUserGroupingData.GET_AllUserGroupingData,\r\n payload: qrCodeId\r\n };\r\n};","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport \"../../components/UserLogin/QRScan\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport ReactPlayer from \"react-player\";\r\nimport { Breadcrumb } from \"antd\";\r\nimport '../../../src/custom.css'\r\nimport Modal from \"react-bootstrap/Modal\";\r\n// Import Layout\r\nimport Layout from \"../Layout\";\r\nimport Search from \"../../UserAssets/images/search1.svg\";\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\";\r\nimport { Document, Page } from \"react-pdf/dist/esm/entry.webpack\";\r\nimport SupportRequest from \"../UserLogin/SupportRequest\";\r\n\r\nimport BackBtn from \"../../UserAssets/images/arrow-left.svg\";\r\nimport device1 from \"../../UserAssets/images/img2.png\";\r\nimport Plus from \"../../UserAssets/images/plus.svg\";\r\nimport Copy from \"../../UserAssets/images/copy.svg\";\r\nimport Menu from \"../../UserAssets/images/toggle.svg\";\r\nimport PDFnew from \"../../UserAssets/images/pdf-icn.svg\";\r\nimport downloadIcon from \"../../UserAssets/images/download-icn.svg\";\r\nimport UrlImage from \"../../UserAssets/images/attach.svg\";\r\nimport { Tooltip } from 'antd';\r\nimport Close from \"../../UserAssets/images/close.svg\";\r\nimport Circle from \"../../UserAssets/images/play-circle 1.svg\";\r\n//import css\r\nimport \"../../UserAssets/css/animate.css\";\r\nimport \"../../UserAssets/css/bootstrap.min.css\";\r\nimport \"../../UserAssets/css/style.css\";\r\nimport axios from \"axios\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport Loader from \"../loader\";\r\nimport \"./QRThumbnail\";\r\nimport {\r\n fetchAllQrCodes,\r\n fetchAllQrId,\r\n fetchAllQrIdByGuideType,\r\n fetchQRdetailsById,\r\n} from \"../../Redux/Api/fetch.api\";\r\nimport { setQrCodeIdData } from \"../../Redux/Actions/QrCodeId\";\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport { setQrCodeIdDataByGuideType } from \"../../Redux/Actions/QRCodeIdByGuideType\";\r\nimport { isNull } from \"util\";\r\nimport { getQrCodeData } from \"../../Redux/Actions/QR\";\r\n\r\n\r\nconst DetailedReview = () => {\r\n // const defaultLayoutPluginInstance = defaultLayoutPlugin();\r\n var userData = null;\r\n const locationObject = useLocation();\r\n const [pdfData, setPdfData] = useState(null);\r\n const [numPages, setNumPages] = useState(null);\r\n const [supportModalDisplay, setSupportModalDisplay] = useState(false);\r\n const parentQrCodeIdnew = locationObject.state\r\n ? locationObject.state.parentQrCodeIdnew\r\n : \"\";\r\n const qrGroupingDetails = useSelector(\r\n (state) => state.allUserGroupingReducer.allUserData\r\n ); // [] , class /object\r\n\r\n var parentId =\r\n qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.qrCode;\r\n const allQRCodeIdData = Object.keys(qrGroupingDetails).length > 0 &&\r\n Object.entries(qrGroupingDetails.qrGrouping);\r\n\r\n const id = qrGroupingDetails && qrGroupingDetails.qrCode;\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [currentMediaId, setCurrentMediaId] = useState();\r\n const [qrDescription, setqrDescription] = useState(null);\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(true);\r\n const [viewpdf, setViewpdf] = useState(null);\r\n const [qrId, setQRId] = useState();\r\n const allQrData = useSelector((state) => state.allQrCodeData.qrTypes);\r\n\r\n\r\n var urlId = null;\r\n var product_Name = allQrData\r\n .filter((item, index) => item.qRcodeId == qrGroupingDetails.qrCode)\r\n .map((item) => item.product_Name);\r\n\r\n const dataId = location.state ? location.state.nextId : \"\";\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split(\"/\");\r\n urlId = urlData[2];\r\n if (urlData[2]) {\r\n\r\n fetchQRdetailsById({\r\n mediaId: urlId\r\n })\r\n .then((response) => {\r\n\r\n\r\n dispatch(\r\n setQrCodeIdDataByGuideType(response.data.data)\r\n\r\n );\r\n userData = response.data.data\r\n setLoading(false);\r\n\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n }\r\n\r\n }, [urlId]);\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split(\"/\");\r\n\r\n if (allQRCodeIdData.length == undefined && qrGroupingDetails.length == 0) {\r\n\r\n } else {\r\n if (allQRCodeIdData != null && allQRCodeIdData.length > 0) {\r\n const getDataFromGroupingDetails = Object.keys(\r\n Object.entries(qrGroupingDetails.qrGrouping)\r\n ).map(function (key) {\r\n return Object.entries(qrGroupingDetails.qrGrouping)[key][1];\r\n });\r\n\r\n var getQRDescBasedonMediaID = getDataFromGroupingDetails\r\n .flat()\r\n .find((x) => x.mediaId == urlData[2]);\r\n setqrDescription(getQRDescBasedonMediaID);\r\n setQRId(getQRDescBasedonMediaID.qRcodeId);\r\n setViewpdf(getQRDescBasedonMediaID.mediaType == \"pdf\" ? getQRDescBasedonMediaID.filename : \"\");\r\n }\r\n setLoading(false);\r\n }\r\n }, [qrGroupingDetails]);\r\n\r\n const backPage = (qrCode) => {\r\n\r\n history.push({\r\n pathname: \"/QRThumbnail/\" + qrCode,\r\n state: {\r\n currentId: currentId,\r\n },\r\n });\r\n };\r\n\r\n\r\n return (\r\n
\r\n {loading ? : \"\"}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {qrDescription ? (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {qrGroupingDetails && qrGroupingDetails.qrCode}\r\n \r\n \r\n \r\n\r\n {qrDescription.mediaType != \"pdf\" ?\r\n
\r\n {qrDescription.mediaType != \"Text (HTML)\" ?\r\n
\r\n {qrDescription.mediaType == \"Image\" ? (\r\n \r\n ) : qrDescription.mediaType == \"video\" ? (\r\n \r\n ) : qrDescription.mediaType == \"Video Url\" ? (\r\n\r\n \r\n )\r\n\r\n : (\r\n \"\"\r\n )\r\n }\r\n\r\n {qrDescription && qrDescription.mediaType == \"Image\" ? (\r\n \r\n {\" \"}\r\n \r\n Click to zoom image\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
: \"\"\r\n }\r\n {qrDescription.mediaType != \"pdf\" ?\r\n
\r\n

\r\n {qrDescription.header}\r\n

\r\n
\r\n {product_Name[0] == null ? (\r\n \"\"\r\n ) : (\r\n <>\r\n \r\n Product Information :\r\n \r\n
\r\n \r\n

Product Name :

\r\n
\r\n

{product_Name}

\r\n
\r\n \r\n )}\r\n \r\n {\" \"}\r\n Company Information :\r\n \r\n
\r\n \r\n

Company Name :

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

\r\n {qrDescription.companyName}\r\n

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

Location Name :

\r\n
\r\n

{qrDescription.name}

\r\n
\r\n
\r\n
\r\n \r\n {\" \"}\r\n Guide Information :\r\n \r\n

\r\n {\" \"}\r\n {qrDescription.guideType}\r\n

\r\n
\r\n\r\n
\r\n \r\n QR Description :\r\n \r\n

\r\n {qrDescription.qR_Description}\r\n

\r\n
\r\n
\r\n \r\n Media Description :\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 {qrDescription.mediaType == \"pdf\" ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
: \"\"}\r\n setNumPages(numPages)}\r\n >\r\n {Array.apply(null, Array(numPages))\r\n .map((x, i) => i + 1)\r\n .map(page => )}\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 {qrDescription ? (\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 connect()(DetailedReview);\r\n","export default __webpack_public_path__ + \"static/media/pdf-icon.1df4bf40.svg\";","export default __webpack_public_path__ + \"static/media/zoom.5543ae5a.svg\";","export default __webpack_public_path__ + \"static/media/play.5c0fc3d9.svg\";","export default __webpack_public_path__ + \"static/media/noImage.9fe89123.jpg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAAC3CAMAAAAGjUrGAAAAMFBMVEXMzMz////JycnQ0NDu7u77+/vX19f4+PjOzs7y8vLh4eHc3Nz19fXk5OTe3t7o6OglbxQAAAAEoklEQVR4nO2cjXarKhBGZRBBRXn/t70zA6hp0+hZ96ykHr692kSRWN3yMwpp1wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9muAh9+kDfBQ3eXMTbTx/sm7BXjQifPtj3QEkKwCU4Y2qi+tBozEqXWIzpm3EyX8s5NeeEgj1pQptzQslxuzK/Oue2nFBHfe5Y1hcn3ZYTDttqb/tQf0L5zbTlhLRHVh7aW3ow1JaTreoYMx3OmgYzUqPlZD2Uk+GwSSrUuK835WTeI3x/2JLbmH5LaM1Jt6oAtzcgNDhTpITc0LblRBqNofcx2f2cqxKuPiWxMSdSEEh+aotKW+e8S2nLyWFdpYQHJVVKo05KMfmipEhp0wn1+oDkm5LcJTfpRCI3lvJEiaY36CTkYDY9VdKokxrf9w5OqpP+mYp2nXDMRq+VtOekO1XSnhM6qThtOhnhZEefn+grnFTKczY4OVDbE/d6XNQt7TkJpzR6v3PC2pKT5doYemrGyXLWuh6ZmnDS2cvTlIyJbShhKb27SH++s3+DoLMsrhBaKSV/QgjnedoCQgAAAAAAAPgYwUpAXubRE9/GddttXL2xk6Wcac9al/UtbGu2zOzSTHV2/jZLv370Hef1f5jlcbs1RibpBRnW2ibU1wf1nnhp4USvo4E6jzqn5EGO+pbnRY5yxuR5f7SUyUur7L3TDLa+/mpm49iJk6OWwc8x7vNfU+SVGHviDdnJsDnpq5OkG4qTOHqdF0lRHlYu+Tmk7FZ3mf/KLZyYmfLRBj52Of/tiSoFTifqXjkZ1WhxEmQEVTZENr05YbOT7O5OTsbiZJDpwDQcHh9yulaFn504Q/wJV5xY2UmvTlhvcWKdqwv3cWJsPtpZp0gPUpkK6iS8cjIaS5Pz8gUWPVnanIzVCad4dzMn3qXw6GTbuDuZiPhEvztJXB76ONZyIs3xrE5GE7ITmsw6aiN7IycxuXy06wsnY0rJPXGy8nvsq5M+ebYXxAlvmMSJTIEbkjayd3JizSpHSz+Wk23qyRMn3C25adz7Yq/fkotm7n2pO97YSbunOzkhH0/LST/P87P2ZE0+mCEWJyuXCI1Y2MnA1UecWA5wBo1UbuVExvlO2xMJxL47mSYzG3toTxbptsQJZ1cnvD+Jc+7mxKoTetnv8FptYwcNXafshHsVJ+WFtr7Y5XJSx47LwKq9mROJvWp8ogl14/e+OPDll47FbWZkODRu8QlpXCwJYrpXb0sIOcPRyW8e9pjlfibfkXCPzBffH/7jwJP4pEsmBqltXXHi+cxjKSeBrC/xySovUk6cBMeJdxo2Jxwb/+rxQnHS5fhEvlnPuP0SfnUy57Q6fUCdyG/c+x39bx8qiU1LX6w3QKsUvs2J3lh+7pRP0arC11GmGdEanTt+kYuveontRYG2J1wUeufGmWr6wuUgt7E6iJ6kwEnkJgnsJFdFK62M9epEs42/2UmnxbiWZfpSqssa/ZBJFmQ5r+dpOYfPHT71sPj1rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+X/wCj6CmgTH0orQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAABHNCSVQICAgIfAhkiAAABGhJREFUaEO9mU1W1EAQxyuCaxkv4HAC8ATACYSdz4fPcALxBOAJHE5AVJ7PHcMJmDmBegKHCzjjWjT+K3THTqa7q3pIzEaHdFf9urq+upPRf3ye5/PhWkY7WUn7ULuREe0a9YuS6Ct+z7KMxh/OB1cSFsb2/zDwQ6ITaMqV2ngho3Wis6IYLHxzegc/zOcnUHKqBG4P4wUcXBSDSftFb+B5Pt/4TfQuwcqxtR19LAaFO6AXcIa+JbqG8O0VLe2b1oDvHLwn6GohcJs96zadgvcJbbPPGtEmB2xn4CnQsNwNFI84BRqgDfyL1FjmGWWPYu6FOW9h9dNOwBOhK8U+OBPQY7zbicAvEKiDe4OnQANmKTv4AF/mc05/QXhOkfcGR57m7IFtFh8VNEu5M0Y5C7kNwM/uBQ7oEQS8FpGVlnblCLKnK4ND8C4mX/cBzTIhfx/yLwPyV88qShdRu0cbUDLMShZH8ORQdC5YuwHNfhtqmHxyegGH0AIrfhUBb0BjobzInPP2H/j7p2Jg83dQBHRwruaO0ves5uMAmUMaFw2vUOTZOstYaGfgAs3XngSPed8xZxjQcZXsKi/y+TbK7peQqUwbykWEAyxktcUvoqefi8Es4CYxa/OUo2Rwyfdg7UqmqYK8M96H3QYHhb2232viB4YLV05TES9Ncal9NgYOmG8o51UrKy2Qx9i+w65MSIHVMMx5Dx3oaTyPp4xPrd9KQNbifFxbpxLnyGjTtLDdHmNIpZ7HwMU22cWWwAO9R9XYaCxpBfNYjocHRGMoeRJyGfz9DWSPhJiw0+uxDfBYw2QtaSyDHQv6bqP7u4MvJxHLX0E2n/qj7mVdxGptgHtSV03nnj6ELV1Kd0JOJskoHDsI5F03kGtwSbgbSAA/xor4IBx6ZsjVBzZXm+sJzsvexzXKYf4Dfci/uPBBs5AKXBJstNUBKrWdZnwjV2OxMfeqz5Luboaga3BFCec0xPcbVWFRBlLjcBurhC03zCGfW4QpMs5+8EJIae2lLs8EMoKOtnz7X1L5c52yoVWstXjE/RqvMqlStYuEOzuWq915UmFxU2gKOG//M7/V6AbuMYwJ86W7duqK9e68MxfF41DDFlTNFp/grfdgGrO2K9EUGm51t9rQih2tSrjW0nYcg6uiXSO4fViQoFmmG5gaHb2Au4o10Jw53N49Cbyd8N3J7RSoFayEXtnazCH5+Bn8j6uk+kmATpbtQmRC8Wm0nRK9Fhpy6sZKkhl6z+Cx+wvezjGsfiAp0ELHyriko2Fx/hHzcxP5Y3RnR6Hyq/1c0hV05eN34NGrALtQ/ohU4KvYBADVB6WyJL7NyvHfoWStLqFrcGW3J7EF33cNXYMbq2vvApMW0Ad0A5x/aANMS94X9BJ4l/DcsyCgj1PuC7UG8YJbt0Ho4XQe/x4TUVSfxlNgUsYGb7LMQQFVszzWLoCtjO+bp6GrtRQwaazqCo6LFARx8G4Dbujck0zxd06NYxyzxn25hW8RfwE2EXFzAhRZCwAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/backbutton.75dc84aa.svg\";","export default __webpack_public_path__ + \"static/media/img1.4eb5e8d9.png\";","export default __webpack_public_path__ + \"static/media/img1.02648f66.jpg\";","import { QRParentChildData } from \"../Constants/QRParentChild\"\r\n\r\nexport const getQrParentChildData = (qrDetails) => {\r\n return {\r\n type: QRParentChildData.GET_QRParentChildData,\r\n payload: qrDetails\r\n };\r\n};","export default __webpack_public_path__ + \"static/media/updateIcon.1daf5123.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Loader from \"../loader\";\r\nimport Table, { Icon, Button } from \"antd/lib/table\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Layout from '../Layout';\r\nimport updateIcon from \"../../assets/images/updateIcon.svg\"\r\nimport \"antd/dist/antd.css\";\r\nimport '../../../src/custom.css'\r\nimport { Select } from 'antd';\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport { Breadcrumb } from \"antd\";\r\nimport PDF from \"../../UserAssets/images/pdf.png\";\r\nimport { fetchAllVirtualQRData } from \"../../Redux/Api/fetch.api\";\r\nimport { getVirtualQrData } from \"../../Redux/Actions/VirtualQR\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ReactPlayer from \"react-player\";\r\nimport \"../../UserAssets/css/style.css\";\r\n\r\nconst VirtualQRs = (param) => {\r\n const allVirtualDataUser = useSelector((state) => state.allVirtualQRData.virtualqrData);\r\n \r\n const dispatch = useDispatch();\r\n const [currentId, setCurrentId] = useState(null);\r\n const [productName, setProductName] = useState(null);\r\n const [guideName, setGuideName] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [virtualData, setVirtualData] = useState(true);\r\n \r\n const [modal, setModal] = useState(false);\r\n const [detailDesc, setDetailDesc] = useState();\r\n const virtualCodeData = param.param;\r\n const media = virtualCodeData.mediaDetails;\r\n \r\n const checkCode = virtualCodeData.virtualQRCode;\r\n console.log(\"code\", checkCode)\r\n\r\n \r\n\r\n // const data = allVirtualDataUser[0].mediaDetails;\r\n \r\n \r\n\r\n const handleQRModalShow = (mediaDescription) => {\r\n debugger;\r\n setModal(true);\r\n if (mediaDescription)\r\n setDetailDesc(mediaDescription);\r\n };\r\n\r\n const handleClose = () => {\r\n setModal(false);\r\n \r\n };\r\n\r\n return (\r\n
\r\n {checkCode != 0 ?\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 {virtualCodeData.virtualQRCode}\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Virtual QRCode - {virtualCodeData.virtualQRCode}\r\n Product Name - {virtualCodeData.product_Name}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{virtualCodeData.guideType}
\r\n
\r\n
\r\n
\r\n {media &&\r\n media.map((item) => (\r\n
\r\n {item.mediaType == \"Image\" ? (\r\n \r\n
\r\n \r\n\r\n
\r\n {item.description ? (\r\n
\r\n VirtualQR - {virtualCodeData.virtualQRCode}\r\n {item.description &&\r\n item.description.length >= 10 ? (\r\n
\r\n

{item.description.substr(0, 50)}{\"... \"}\r\n\r\n {\r\n handleQRModalShow(\r\n item.description\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n

\r\n
) : (\r\n

{item.description}

\r\n )}\r\n\r\n\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n\r\n
\r\n\r\n ) : item.mediaType == \"video\" ? (\r\n\r\n \r\n
\r\n \r\n
\r\n {item.description ? (\r\n next(details.mediaId)}\r\n >\r\n VirtualQR - {virtualCodeData.virtualQRCode}\r\n {item.description &&\r\n item.description.length >= 15 ? (\r\n
\r\n

{item.description.substr(0, 50)}{\"... \"}\r\n {\r\n\r\n handleQRModalShow(\r\n item.description\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n

\r\n
) : (\r\n

{item.description}

\r\n )}\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n\r\n ) : item.mediaType == \"pdf\" ? (\r\n\r\n \r\n
\r\n \r\n
\r\n {item.description ? (\r\n
\r\n VirtualQR - {virtualCodeData.virtualQRCode}\r\n

{item.description.substr(0, 50)}{\"... \"}\r\n {\r\n handleQRModalShow(\r\n item.description\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n

\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n\r\n ) : item.mediaType == \"Video Url\" ? (\r\n \r\n
\r\n \r\n
\r\n {item.description ? (\r\n next(details.mediaId)}*/\r\n >\r\n VirtualQR - {virtualCodeData.virtualQRCode}\r\n

{item.description.substr(0, 60)}{\"... \"}\r\n {\r\n handleQRModalShow(\r\n item.description\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n

\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\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 < div className=\"invalid-QR\">\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n

QR Code has no data!.Thanks

\r\n
\r\n
\r\n \r\n \r\n }\r\n \r\n \r\n Media Description\r\n \r\n \r\n {\r\n
\r\n

{detailDesc}

\r\n
\r\n }\r\n
\r\n \r\n \r\n\r\n )\r\n\r\n};\r\nexport default connect()(VirtualQRs);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAA1CAYAAADRarJRAAAABHNCSVQICAgIfAhkiAAAAzxJREFUaEPtmk1oE0EUgN8QTSUB6w9pG0htlEJREHIQ9KbiRUzFSzXRi8Wi4EEtKIgoCkLVgmLtQQ+evNgWKxStemkk9dBWFBSU3oxGa9r8NDVtNzHJbtaZhV23MYmb2bhZdee2zbw33/vmzWxoiwCPoKf1FPB8O0LIRZ61GjPx6PQaxuRqHhuL0KyJgh53JwJ0kyZYbUwg9BWnyC04OGszTQEoeMD9RmvjYtEEnkl/B2uNmaoA9NnTyqs1SBsvwpN4mgJ0A09TgK7gyy1Ad/DlFKBLeLEAO2vZ2DI+Tq6kgkO38IR2hdnMODhLS7ECdA3/uwJ0D1+qgL8CvlgBVYUPx+MQScwpfsfln4GqwrMcCx9CIciwWaoCqgpPiEkBsUQCUpk08Dll31TwDoS3+V42VB1esfK8iesGhpEBT2tPTZxhXo09NbGGeTX21MT+X+ZrNm0G2+nzgKxWQVr2UwCSryZg/mGf8IwsVrB33wKTrV545qJhYKMRYPwjwLx4Lok22erAfq1XysMzDMze6YHU6wnFm1G2+dq2Q7Cy7eAvC8wP9kFi8D6Q4uouXikIkMJFxm50CZ8Vmhe73qUNvAi7vGk9NHT3CkBfvHslqPTke4hcPif83Lp9F6w+fFTYlTi2y4z6pHliHsW6ZROpzcsXbex/XBKefCjumFiUaL4q8EIPY4Nm5wZYha1yuK9DJzoKmpe3CentqQ6vNE/Mw8YiQo5yBrX5/EXEfhWNyttmCXwSwx/5CS/PM3P2JGSDHxXzU8MTuPTkO2GhxdERyVox+GJtQ2yT2yiXXITZ2z3A4+KUDmr4Yr2aD08OqWXLVnxgjwnX4rd7d2Hh2SP9HFi5qZJXJb7DSXvJ20jTA0vg1h7vFF4oYtvI4Ynp+ktXgVyhZJC2yAQD+CXlW3KHk5eU7cwFmMM7USiPktYpu22UJNVqjgGvlen8dQzzhnkKA0bbUEirSIhhviIaKZIY5imkVSTEMF8RjRRJDPMU0ioS8i+Ydw/hX9Ttq4gOjZLwwAebBp440dT+PS4OIT/+h6FajdZWvQxCsLOxf9iPSKZp725nJresHT/sUJ35DybAfyv0m/jckOPB07dkmR+Wr3ZUq/NKEQAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/share.1000f69a.svg\";","export default __webpack_public_path__ + \"static/media/copyicon.a419c6e5.svg\";","export default __webpack_public_path__ + \"static/media/mailicon.3a36266c.svg\";","export default __webpack_public_path__ + \"static/media/closewhite.239ce48e.svg\";","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport \"../../components/UserLogin/QRScan\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport \"./QRListing\";\r\nimport ReactPlayer from \"react-player\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport { Breadcrumb } from \"antd\";\r\n// Import Layout\r\nimport Layout from \"../Layout\";\r\nimport Search from \"../../UserAssets/images/search1.svg\";\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\";\r\nimport arrow from \"../../UserAssets/images/backbutton.svg\";\r\nimport device from \"../../UserAssets/images/img1.png\";\r\nimport Image from \"../../UserAssets/images/img1.jpg\";\r\nimport thumbnailImage from \"../../UserAssets/images/thumbnail_image.png\";\r\nimport Image1 from \"../../UserAssets/images/img2.png\";\r\nimport Plus from \"../../UserAssets/images/plus.svg\";\r\nimport Copy from \"../../UserAssets/images/copy.svg\";\r\nimport Menu from \"../../UserAssets/images/toggle.svg\";\r\nimport Close from \"../../UserAssets/images/close.png\";\r\nimport Loader from \"../loader\";\r\nimport BackBtn from \"../../UserAssets/images/arrow-left.svg\";\r\nimport PDF from \"../../UserAssets/images/pdf.png\";\r\nimport UrlImage from \"../../UserAssets/images/attach.png\";\r\nimport noimage from \"../../UserAssets/images/noImage.jpg\";\r\n//import css\r\nimport \"../../UserAssets/css/animate.css\";\r\nimport \"../../UserAssets/css/bootstrap.min.css\";\r\nimport \"../../UserAssets/css/style.css\";\r\nimport { getQrDataDetails } from \"../../Redux/Actions/QrDetails\";\r\nimport axios from \"axios\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport {\r\n fetchAllParentChildQRId,\r\n fetchAllQrId,\r\n fetchAllQrIdByGuideType,\r\n fetchAllQrCodes,\r\n fetchAllVirtualQrCodes\r\n} from \"../../Redux/Api/fetch.api\";\r\nimport { QrReader } from \"react-qr-reader\";\r\nimport { setQrCodeIdDataByGuideType } from \"../../Redux/Actions/QRCodeIdByGuideType\";\r\nimport { getQrParentChildData } from \"../../Redux/Actions/QRParentChild\";\r\nimport { getQrCodeData } from '../../Redux/Actions/QR';\r\nimport Header from \"../UserLayout/Header\";\r\nimport VirtualQRs from \"../UserLogin/VirtualQR\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport QRThumbnail from \"../UserLogin/QRThumbnail\";\r\n//import ShareIcon from \"../../UserAssets/images/shareicon.png\";\r\nimport ShareIcon from \"../../UserAssets/images/share.svg\";\r\nimport zoom from \"../../UserAssets/images/zoom.svg\";\r\nimport CopyIcon from \"../../UserAssets/images/copyicon.svg\";\r\nimport EmailIcon from \"../../UserAssets/images/mailicon.svg\";\r\nimport CloseIcon from \"../../UserAssets/images/closewhite.svg\";\r\nimport { Tooltip } from 'antd';\r\nimport SupportRequest from \"../UserLogin/SupportRequest\";\r\n\r\n\r\n\r\nconst QRParentChild = () => {\r\n const QRParentChildDetail = useSelector(\r\n (state) => state.allQRParentChildData.qrDetails\r\n );\r\n const allQrData = useSelector((state) => state.allQrCodeData.qrTypes);\r\n const location = useLocation();\r\n const data = QRParentChildDetail.childQrDetails;\r\n const [checkVirtualData, setCheckVirtualData] = useState()\r\n const parentData = QRParentChildDetail.scanedQRDetails;\r\n const history = useHistory();\r\n const [currentId, setCurrentId] = useState(null);\r\n const [comingqrId, setComingQrId] = useState(null);\r\n const [currentVirtuaId, setCurrentVirtualId] = useState(null);\r\n const [detailDesc, setDetailDesc] = useState();\r\n const [showChildImage, setShowChildImage] = useState();\r\n const [nextPageData, setNextPageData] = useState();\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [showmodal, setShowModal] = useState(false);\r\n const [backbutton, setBackButton] = useState(false);\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(true);\r\n const [modal, setModal] = useState(false);\r\n const [childDataId, setChildDataId] = useState();\r\n const [virtualData, setVirtualData] = useState({});\r\n const [virtualCode, setVirtualCode] = useState();\r\n const [checkVirtualCode, setCheckVirtualCode] = useState();\r\n const [checkQRCode, setCheckQRCode] = useState();\r\n const [parentDataId, setParentDataId] = useState(\"parentDataId\");\r\n const [qrId, setQRId] = useState();\r\n var product_Name = allQrData.filter((item, index) => item.qRcodeId == currentId).map(item => item.product_Name)\r\n const queryParams = new URLSearchParams(location.search);\r\n const baseUrl = window.location.origin;\r\n const [supportModalDisplay, setSupportModalDisplay] = useState(false);\r\n\r\n useEffect(() => {\r\n getparentchilddata(0);\r\n }, []);\r\n\r\n const getparentchilddata = (qrcode) => {\r\n setComingQrId(qrcode)\r\n setLoading(true)\r\n let comingid = 0;\r\n if (qrcode) {\r\n comingid = qrcode;\r\n }\r\n else {\r\n let urlData = location.pathname.split(\"/\");\r\n if (urlData[1].length < 9) {\r\n setCurrentVirtualId(urlData[1])\r\n setCurrentId(urlData[1]);\r\n comingid = parseInt(urlData[1])\r\n }\r\n }\r\n if (comingid) {\r\n // setLoading(true)\r\n getQRDetailsonLoad(comingid);\r\n }\r\n }\r\n\r\n const getQRDetailsonLoad = (comingid) => {\r\n fetchAllParentChildQRId(comingid)\r\n .then((response) => {\r\n if (response.data.success) {\r\n setLoading(false)\r\n dispatch(getQrParentChildData(response.data.data));\r\n setCheckVirtualCode(response.data.data.isVirtualCode)\r\n setCheckQRCode(response.data.data.checkQRCode)\r\n setVirtualData(response.data.data)\r\n setVirtualCode(response.data.data.virtualQRCode)\r\n setCheckVirtualData(response.data.data.checkVirtualCode)\r\n setCurrentId(urlData[1]);\r\n setLoading(false)\r\n }\r\n else {\r\n setErrorMessage(\"Qr Code is not valid, please try again.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n }\r\n\r\n const next = (qrCode) => {\r\n setBackButton(true)\r\n qrCode ? history.push({\r\n pathname: \"/\" + qrCode, state: {\r\n parentQrCodeId: currentId\r\n }\r\n }) : \"\";\r\n };\r\n\r\n const backPage = (qrCode) => {\r\n history.push({\r\n pathname: \"/QRThumbnail/\" + qrCode,\r\n state: {\r\n currentId: currentId,\r\n },\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setModal(false);\r\n setShowModal(false);\r\n };\r\n\r\n const handleQRModalShow = (mediaDescOfQR) => {\r\n setModal(true);\r\n {\r\n mediaDescOfQR ? setDetailDesc(mediaDescOfQR) : \"\";\r\n }\r\n };\r\n\r\n const navigateWithQueryParam = (newQueryParam) => {\r\n\r\n const newurl = \"/\" + `${newQueryParam}`\r\n history.push(newurl);\r\n getparentchilddata(newQueryParam);\r\n };\r\n\r\n const handleQRImageShow = (thumbnailName) => {\r\n setShowModal(true);\r\n {\r\n thumbnailName ? setShowChildImage(thumbnailName) : \"\";\r\n }\r\n };\r\n\r\n const copyToClipboard = () => {\r\n const baseUrl = window.location.origin;\r\n const link = `${baseUrl}/${currentId}`;\r\n // const link = `https://tekahelp.com/${currentId}`;\r\n navigator.clipboard.writeText(link)\r\n .then(() => {\r\n alert('Link copied to clipboard!');\r\n })\r\n .catch(err => {\r\n console.error('Failed to copy: ', err);\r\n });\r\n };\r\n\r\n const handleCloseButton = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n document.querySelector('.dropdown-menu.share-link').classList.remove('show');\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n\r\n {checkVirtualCode && checkVirtualData ? :\r\n\r\n checkQRCode && !checkVirtualCode && QRParentChildDetail.scanedQRDetails && QRParentChildDetail.scanedQRDetails.qrCode ? (\r\n
\r\n\r\n
\r\n {loading ? : \"\"}\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n {QRParentChildDetail != null ? (\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {comingqrId ? (\r\n \r\n \r\n\r\n {currentId}\r\n \r\n ) : \"\"\r\n\r\n }\r\n \r\n {!backbutton ?\r\n \r\n\r\n {currentId}\r\n :\r\n \r\n\r\n {comingqrId}\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
Share Link
\r\n \r\n \"Close\"\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n Copy Link\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
The Parent QR
\r\n
\r\n \r\n handleQRImageShow(QRParentChildDetail.scanedQRDetails.thumbnailName)}\r\n >\r\n \"Zoom\"\r\n \r\n
\r\n
\r\n

\r\n {QRParentChildDetail.scanedQRDetails &&\r\n QRParentChildDetail.scanedQRDetails.product_Name}\r\n

\r\n\r\n
\r\n {!backbutton ?\r\n
QR - {currentId}\r\n {\" \"}
:\r\n
QR - {comingqrId}\r\n {\" \"}
\r\n\r\n }\r\n
\r\n\r\n
\r\n {\r\n !backbutton ?\r\n backPage(\r\n currentId\r\n ) :\r\n backPage(\r\n comingqrId\r\n )\r\n }\r\n }\r\n >\r\n View More\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n {data &&\r\n data.map((details) => (\r\n
\r\n
\r\n {\r\n navigateWithQueryParam(details.qrCode);\r\n\r\n\r\n }}>\r\n {/* */}\r\n\r\n \r\n
The Child QR
\r\n
\r\n {details.thumbnailName ? (\r\n next(details.qrCode)}\r\n />\r\n ) : (\r\n next(details.qrCode)}\r\n />\r\n )}\r\n
\r\n {details.mediaDescOfQR || details.qrCode ? (\r\n
\r\n QR - {details.qrCode}\r\n {details.mediaDescOfQR &&\r\n details.mediaDescOfQR.length >= 10 ? (\r\n
\r\n\r\n

\r\n {details.mediaDescOfQR.substr(0, 60)}{\"... \"}\r\n {\r\n e.stopPropagation();\r\n handleQRModalShow(\r\n details.mediaDescOfQR\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n

\r\n
\r\n ) : (\r\n

{details.mediaDescOfQR}

\r\n )}\r\n\r\n\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n next(details.qrCode);\r\n }}\r\n >\r\n View More\r\n \r\n
\r\n \r\n\r\n \r\n \r\n handleQRImageShow(details.thumbnailName)\r\n }\r\n >\r\n \"Zoom\"\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

No Data Found

\r\n )}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Media Description\r\n \r\n \r\n {\r\n
\r\n

{detailDesc}

\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 < div className=\"invalid-QR\">\r\n {loading ? :\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n

QR code is not valid! Please try Again.Thanks

\r\n
\r\n
\r\n }\r\n \r\n }\r\n
\r\n \r\n );\r\n};\r\nexport default connect()(QRParentChild);\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport \"../../components/UserLogin/QRScan\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport \"./QRListing\";\r\nimport ReactPlayer from \"react-player\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport \"./DetailedReview\";\r\nimport '../../../src/custom.css'\r\n// Import Layout\r\nimport Close from \"../../UserAssets/images/close.svg\";\r\nimport Loader from \"../loader\";\r\n// PDF from \"../../UserAssets/images/pdf.png\";\r\nimport PDF from \"../../UserAssets/images/pdf-icon.svg\";\r\nimport zoom from \"../../UserAssets/images/zoom.svg\";\r\nimport play from \"../../UserAssets/images/play.svg\";\r\nimport thumb from \"../../UserAssets/images/noImage.jpg\";\r\n//import css\r\nimport \"../../UserAssets/css/animate.css\";\r\nimport \"../../UserAssets/css/bootstrap.min.css\";\r\nimport \"../../UserAssets/css/style.css\";\r\nimport { getQrDataDetails } from \"../../Redux/Actions/QrDetails\";\r\nimport axios from \"axios\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport thumbnailImage from \"../../UserAssets/images/thumbnail_image.png\";\r\nimport {\r\n fetchAllQrId,\r\n fetchAllQrIdByGuideType,\r\n fetchQRdetailsById,\r\n} from \"../../Redux/Api/fetch.api\";\r\nimport { QrReader } from \"react-qr-reader\";\r\nimport { setQrCodeIdDataByGuideType } from \"../../Redux/Actions/QRCodeIdByGuideType\";\r\nimport BackBtn from \"../../UserAssets/images/arrow-left.svg\";\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport QRParentChild from \"../UserLogin/QRParentChild\";\r\nimport { Breadcrumb } from \"antd\";\r\nimport SupportRequest from \"../UserLogin/SupportRequest\";\r\n\r\nconst QRThumbnail = () => {\r\n // const allQRIdBasedData = useSelector((state) => state.allQrCodeIdReducers.allQRCodeId)\r\n const locationObject = useLocation();\r\n const parentQrCodeId = locationObject.state\r\n ? locationObject.state.parentQrCodeId\r\n : \"\";\r\n const parentQrCodeIdlatest = locationObject.state\r\n ? locationObject.state.parentQrCodeIdlatest\r\n : \"\";\r\n\r\n const qrGroupingDetails = useSelector(\r\n (state) => state.allUserGroupingReducer.allUserData\r\n ); // [] , class /object\r\n const allQRCodeIdData =\r\n Object.keys(qrGroupingDetails).length > 0 &&\r\n Object.entries(qrGroupingDetails.qrGrouping);\r\n\r\n var parentId =\r\n qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.qrCode;\r\n var childId =\r\n qrGroupingDetails.childThumbnail && qrGroupingDetails.childThumbnail.qrCode;\r\n const allQrData = useSelector((state) => state.allQrCodeData.qrTypes);\r\n const [showmodal, setShowModal] = useState(false);\r\n var product_Name = allQrData\r\n .filter((item, index) => item.qRcodeId == qrGroupingDetails.qrCode)\r\n .map((item) => item.product_Name);\r\n const history = useHistory();\r\n const [id, setId] = useState(null);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const dispatch = useDispatch();\r\n const [detailDesc, setDetailDesc] = useState();\r\n const [showZoomImage, setShowZoomImage] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [qRCode, setQRCode] = useState();\r\n const location = useLocation();\r\n const [modal, setModal] = useState(false);\r\n const [supportModalDisplay, setSupportModalDisplay] = useState(false);\r\n const parentQRId = location.state ? location.state.parentDataId : \"\";\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split(\"/\");\r\n setId(urlData[2]);\r\n fetchQRdetailsById({\r\n QrCode: urlData[2],\r\n })\r\n .then((response) => {\r\n dispatch(setQrCodeIdDataByGuideType(response.data.data));\r\n if (response.data.success) {\r\n // setId(urlData[2])\r\n setQRCode(response.data.data.qrCode);\r\n setLoading(false);\r\n } else {\r\n setErrorMessage(\"Qr Code is not valid, please try again.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n }, []);\r\n\r\n const handleClose = () => {\r\n setModal(false);\r\n setShowModal(false);\r\n };\r\n\r\n const next = (mediaId, id) => {\r\n history.push({\r\n pathname: \"/QRDescription/\" + mediaId,\r\n state: {\r\n nextId: id,\r\n },\r\n });\r\n };\r\n\r\n const parent = () => {\r\n history.push(`/${parentId}`);\r\n\r\n window.location.reload();\r\n };\r\n\r\n const child = () => {\r\n history.push(`/${childId}`);\r\n window.location.reload();\r\n };\r\n const handleQRModalShow = (mediaDescription) => {\r\n setModal(true);\r\n if (mediaDescription) setDetailDesc(mediaDescription);\r\n };\r\n\r\n const handleQRImageShow = (thumbnailName) => {\r\n setShowModal(true);\r\n setShowZoomImage(thumbnailName);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {loading ? : \"\"}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {allQRCodeIdData != null ? (\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {parentId != 0 ? (\r\n \r\n {parentId}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n {qrGroupingDetails && qrGroupingDetails.qrCode}\r\n \r\n \r\n {qrGroupingDetails &&\r\n qrGroupingDetails.qrCode != id ? (\r\n {id}\r\n )\r\n : (\r\n \"\"\r\n )}\r\n\r\n \r\n
\r\n {parentId ? (\r\n
\r\n
\r\n {\" \"}\r\n {parentQrCodeId ? (\r\n \r\n
\r\n {qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.thumbnail ? (\r\n ) : (\r\n \r\n )}\r\n
{\" \"}\r\n

QR - {parentQrCodeId}

{\" \"}\r\n \r\n ) : parentQrCodeIdlatest == qrGroupingDetails.qrCode ? (\r\n \r\n
\r\n {qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.thumbnail ? (\r\n ) : (\r\n \r\n )}\r\n
\r\n

QR - {parentId}

\r\n \r\n ) : parentQrCodeIdlatest ? (\r\n \r\n
\r\n {qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.thumbnail ? (\r\n ) : (\r\n \r\n )}\r\n
{\" \"}\r\n

QR - {parentQrCodeIdlatest}

{\" \"}\r\n \r\n ) : (\r\n \r\n
\r\n {qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.thumbnail ? (\r\n ) : ()}\r\n
\r\n

QR - {parentId}

\r\n \r\n )}\r\n\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n {qrGroupingDetails.thumbnailName ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n handleQRImageShow(qrGroupingDetails.thumbnailName)\r\n }\r\n >\r\n \"Zoom\"\r\n \r\n
\r\n
\r\n {product_Name[0] == null ? \"\" :

{product_Name}

}\r\n\r\n
\r\n
\r\n {\" \"}\r\n QR - {id ? id : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/*
*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/*

*/}\r\n {/* {qrGroupingDetails.mediaDesc*/}\r\n {/* ? qrGroupingDetails.mediaDesc*/}\r\n {/* : \"\"}*/}\r\n {/*

*/}\r\n {/*
*/}\r\n {/* {qrGroupingDetails.thumbnailName ?*/}\r\n {/* : */}\r\n {/* }*/}\r\n {/* {product_Name[0] == null ? (*/}\r\n {/* \"\"*/}\r\n {/* ) : (*/}\r\n {/* */}\r\n {/* {product_Name}*/}\r\n {/* */}\r\n {/* )}*/}\r\n\r\n {/*
*/}\r\n {/*
*/}\r\n {/* {\" \"}*/}\r\n {/* QR - {id ? id : \"\"}*/}\r\n {/*
*/}\r\n {/*
*/}\r\n\r\n {/* */}{/* */}{/*\r\n */}{/* QR - {id*/}{/*\r\n */}{/* ? id*/}{/*\r\n */}{/* : \"\"}*/}{/*\r\n */}{/* {\" \"}*/}{/*\r\n */}{/* */}\r\n {/* */}\r\n {/* */}\r\n {/* handleQRImageShow(qrGroupingDetails.thumbnailName)*/}\r\n {/* }*/}\r\n {/* >*/}\r\n {/* Click to zoom image*/}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {allQRCodeIdData &&\r\n allQRCodeIdData.map((mainGroping) => (\r\n
\r\n
{mainGroping[0]}
\r\n
\r\n {mainGroping[1] &&\r\n mainGroping[1].map((details) => (\r\n
\r\n {details.mediaType == \"Image\" ? (\r\n \r\n \r\n
\r\n {thumb ? (\r\n next(details.mediaId)}\r\n alt=\"First Image\"\r\n />\r\n ) : (\r\n\r\n next(details.mediaId)}\r\n alt=\"Thumbnail\"\r\n />\r\n )}\r\n
\r\n {details.mediaDescription ? (\r\n
\r\n QR - {qRCode}\r\n {details.mediaDescription &&\r\n details.mediaDescription.length >=\r\n 10 ? (\r\n
\r\n

\r\n {details.mediaDescription.substr(\r\n 0,\r\n 50\r\n )}\r\n {\"... \"}\r\n

\r\n
\r\n {\r\n handleQRModalShow(\r\n details.mediaDescription\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n
\r\n
\r\n ) : (\r\n

{details.mediaDescription}

\r\n )}\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n \r\n ) : details.mediaType == \"video\" ? (\r\n \r\n \r\n
\r\n next(details.mediaId)}\r\n />\r\n
\"play\"
\r\n
\r\n {details.mediaDescription ? (\r\n next(details.mediaId)}\r\n >\r\n QR - {qRCode}\r\n {details.mediaDescription &&\r\n details.mediaDescription.length >=\r\n 15 ? (\r\n
\r\n

\r\n {details.mediaDescription.substr(\r\n 0,\r\n 50\r\n )}\r\n {\"... \"}\r\n

\r\n
\r\n {\r\n handleQRModalShow(\r\n details.mediaDescription\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n
\r\n
\r\n ) : (\r\n

{details.mediaDescription}

\r\n )}\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n \r\n ) : details.mediaType == \"pdf\" ? (\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n {details.mediaDescription ? (\r\n
\r\n QR - {qRCode}\r\n
\r\n

\r\n {details.mediaDescription.substr(\r\n 0,\r\n 50\r\n )}\r\n {\"... \"}\r\n

\r\n
\r\n {\r\n handleQRModalShow(\r\n details.mediaDescription\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n {/* {*/}\r\n {/* handleQRModalShow(*/}\r\n {/* details.mediaDescription*/}\r\n {/* );*/}\r\n {/* }}*/}\r\n {/*>*/}\r\n {/* Download PDF*/}\r\n {/**/}\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\r\n
\r\n )}\r\n
\r\n \r\n ) :\r\n details.mediaType == \"Text (HTML)\" ? (\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n {details.mediaDescription.length > 1700 ? (\r\n {\r\n handleQRModalShow(\r\n
\r\n
\r\n\r\n );\r\n }}\r\n >\r\n Show More\r\n ) : (\r\n \"\")\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n {/*

{details.mediaDescription.replace(/(<([^>]+)>)/gi, \"\")}

*/}\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n ) :\r\n details.mediaType == \"Video Url\" ? (\r\n \r\n \r\n
\r\n \r\n
\"play\"
\r\n
\r\n {details.mediaDescription ? (\r\n next(details.mediaId)}*/\r\n >\r\n QR - {qRCode}\r\n
\r\n

\r\n {details.mediaDescription.substr(\r\n 0,\r\n 60\r\n )}\r\n {\"... \"}\r\n

\r\n
\r\n {\r\n handleQRModalShow(\r\n details.mediaDescription\r\n );\r\n }}\r\n >\r\n Show More\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n

No Description Available

\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

No Data Found

\r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Media Description\r\n \r\n \r\n {\r\n
\r\n

{detailDesc}

\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\nexport default connect()(QRThumbnail);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { connect, useDispatch, useSelector } from 'react-redux';\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport background from \"../../UserAssets/images/bg.svg\"\r\nimport logo from \"../../UserAssets/images/logo.svg\"\r\nimport phone from \"../../UserAssets/images/phone.svg\"\r\nimport QR from \"../../UserAssets/images/qr.svg\"\r\nimport ScanQR from \"../../UserAssets/images/scan-me.svg\"\r\nimport Menu from \"../../UserAssets/images/toggle.svg\"\r\n\r\n//import css\r\nimport \"../../UserAssets/css/animate.css\"\r\nimport \"../../UserAssets/css/bootstrap.min.css\"\r\nimport \"../../UserAssets/css/style.css\"\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { QrReader } from \"react-qr-reader\";\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { fetchAllQrId, VerifyQrStatus } from '../../Redux/Api/fetch.api';\r\nimport QRThumbnail from './QRThumbnail';\r\nimport { getQrCodeIdData, setQrCodeIdData } from '../../Redux/Actions/QrCodeId';\r\nimport Header from '../UserLayout/Header';\r\nimport Footer from '../UserLayout/Footer';\r\n\r\n\r\n\r\n\r\nconst QRScan = () => {\r\n const allQRIdBasedData = useSelector((state) => state.allQrCodeIdReducers.allQRCodeId)\r\n console.log(\"data\",allQRIdBasedData);\r\n const [qrModal, setQrModal] = useState(false);\r\n const [data, setData] = useState('No result');\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [id, setId] = useState();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [codeId, setCodeId] = useState(0);\r\n const history=useHistory();\r\n \r\n const qrCameraShow = () => {\r\n\r\n setQrModal(true);\r\n }\r\n\r\n const handleError = (err) => {\r\n setData({ result: \"Device camera not found\", qrError: err.toString() })\r\n }\r\n\r\n\r\n \r\n //upload the QR \r\n const onResult = (result, error) => {\r\n \r\n if (result) {\r\n \r\n setData(result.text);\r\n var uri = result.text.toString();\r\n if (uri.indexOf(\"/\") > 0) { // Example : https://www.tekahelp.com/10000004\r\n var qrCode = uri.substring(uri.lastIndexOf('/') + 1);\r\n console.log(\"uri\", qrCode);\r\n if (qrCode) {\r\n \r\n fetchAllQrId(qrCode)\r\n .then(response => { \r\n \r\n if (response.data.success) {\r\n setId(qrCode);\r\n history.push(\"/\" + qrCode);\r\n }\r\n else {\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n });\r\n }\r\n else {\r\n \r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n }\r\n }\r\n else {\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n \r\n }\r\n }\r\n \r\n }\r\n\r\n const handleClose = () => {\r\n setQrModal(false)\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Welcome to TEKaHelp

\r\n

TEKaHelp, It gives Information through QR

\r\n
\r\n
\r\n {qrModal == true ?
\r\n \r\n {errorMessage}\r\n
: ''}\r\n {qrModal == true ?\r\n
\r\n :
}\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n

Get to Know us!

\r\n

Scan the QR code for more information!

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default connect()(QRScan);","export default __webpack_public_path__ + \"static/media/favorite_star.d0cbd94e.png\";","import React from \"react\"\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation,Navigate } from \"react-router-dom\";\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport comingSoon from \"../../UserAssets/images/comingSoon.png\"\r\nimport { Breadcrumb } from \"antd\";\r\n\r\n\r\nconst InvalidQR = () => {\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

Invalid Page. Please try Again.Thanks

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default connect()(InvalidQR);\r\n","import React, { useEffect, useState,useRef } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Loader from \"../loader\";\r\nimport favoriteIcon from \"../../assets/images/favorite_star.png\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Select } from 'antd';\r\nimport '../../assets/css/style.css'\r\nimport toast, { Toaster,useToasterStore } from 'react-hot-toast';\r\nimport Layout from '../Layout';\r\nimport '../../../src/custom.css'\r\nimport updateIcon from \"../../assets/images/updateIcon.svg\"\r\nimport { Modal } from 'antd';\r\nimport { Tooltip } from 'antd';\r\nimport { fetchAllParentQRId, fetchAllQrCodesWithThumbnail, fetchAllParentChildQRId, fetchAllQrCodes, updateAllParentQRId, fetchUpdatedQRCode } from '../../Redux/Api/fetch.api';\r\nimport { getQrCodeData, updateQRCodeData } from '../../Redux/Actions/QR';\r\nimport { getQrCodeThumbnail } from '../../Redux/Actions/QR';\r\nimport { setQrCodeIdData } from '../../Redux/Actions/QrCodeId';\r\nimport { updateParentByQRId } from '../../Redux/Actions/assignQR';\r\nimport LoginImage from \"../../assets/images/login-image.png\";\r\nimport { getQrParentChildData } from \"../../Redux/Actions/QRParentChild\";\r\nimport Switch from \"react-switch\";\r\nimport InvalidQR from '../UserLogin/InvalidQR';\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst IndexQrAssigning = () => {\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const allQrDataWithThumbnail = useSelector((state) => state.allQrDataWithThumbnail.qrCodeThumbnailData);\r\n const [qrId, setQRId] = useState()\r\n const [parentId, setParentId] = useState()\r\n const [qrCodeId, setQrCodeId] = useState([{}]);\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1 }, pageSize: pageSize\r\n });\r\n const [search, setSearch] = useState(\"\")\r\n const [searchData, setSearchData] = useState()\r\n const [checkScannedData, setCheckScannedData] = useState()\r\n const [searchClicked, setSearchClicked] = useState(false)\r\n const [searchError, setSearchError] = useState()\r\n const [count,setCount] = useState(0)\r\n const [searchOptions, setSearchOptions] = useState({\r\n pagination: { current: 1 }, pageSize: pageSize\r\n })\r\n const [total, setTotal] = useState()\r\n const [pageData, setPageData] = useState({});\r\n const [state, setState] = useState({ message: \"\", items: [] })\r\n const [pageURL, getPageURL] = useState(\"\");\r\n const dispatch = useDispatch();\r\n //To immediatel fetch favourite changes\r\n const [changeOnFav,setChangeOnFav] = useState(false)\r\n const [selectedItem,setSelectedItem] = useState(\"\")\r\n\r\n const prevCountRef = useRef(selectedItem);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n const nameUrl = window.location.host\r\n getPageURL(nameUrl)\r\n setLoading(false)\r\n getAllQRCodes(options);\r\n setPageData(options)\r\n getAllQRWithThumbnail();\r\n }, [changeOnFav,selectedItem])\r\n\r\n useEffect(() => {\r\n if (search !== \"\") {\r\n handleSearch()}\r\n }, [table])\r\nconst handleDataSearch =(e)=>{\r\n setSearchError(\"\")\r\n setSearch(e.target.value)\r\n setCount(e.target.value.length)\r\n if(e.target.value==\"\"){\r\n setSearchData(table)\r\n }\r\n}\r\n const handleSearch = () => {\r\n if (search==\"\") {\r\n setSearchError('Please Enter QR/Product');\r\n }\r\n else if(search !=\"\") {\r\n var searchProductName =table.length>0? table.filter(item=> item.product_Name!=null && item.product_Name.toLowerCase().startsWith(search.toLowerCase().trim()) || item.product_Name!=null && item.product_Name.toLowerCase().includes(search.toLowerCase().trim())) :\"\"\r\n var searchDataFinal = table.length>0? table.filter(item => item.qRcodeId.toString().startsWith(search)) :\"\"\r\n if(searchDataFinal.length<1){\r\n setSearchClicked(true)\r\n setSearchData(\"\")\r\n }\r\n if(searchDataFinal.length>0){\r\n setSearchClicked(true)\r\n setSearchData(searchDataFinal)\r\n setSearchOptions({\r\n ...searchOptions,\r\n pagination: {\r\n pageSize: searchOptions.pageSize,\r\n current: searchOptions.pagination.current,\r\n total: searchDataFinal.length,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n }\r\n else {\r\n if(searchProductName.length>0){\r\n setSearchClicked(true)\r\n setSearchData(searchProductName)\r\n setSearchOptions({\r\n ...searchOptions,\r\n pagination: {\r\n pageSize: searchOptions.pagination.pageSize,\r\n current: searchOptions.pagination.current,\r\n total: searchProductName.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n const handleResetButton = () => {\r\n setSearchClicked(false)\r\n setSearch(\"\")\r\n setSearchData(\"\")\r\n setSearchError(\"\")\r\n }\r\n\r\n const handleFavourite = (record) => {\r\n fetchUpdatedQRCode(record.qRcodeId)\r\n .then(response => {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getAllQRCodes();\r\n setChangeOnFav(true)\r\n })\r\n .catch((err) => console.log(\"error\", err))\r\n }\r\n\r\n const getAllQRCodes = (options) => {\r\n setLoading(true)\r\n fetchAllQrCodes({})\r\n .then(response => {\r\n dispatch(getQrCodeData(response.data));\r\n setTable(response.data.data)\r\n setQrCodeId(response.data.data.qrCodeId)\r\n setParentId(response.data.data.parent_QRCodeID)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n pageSize: options.pagination.pageSize,\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n }) \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n }\r\n\r\n const verifyQRCodeData = (id) => {\r\n fetchAllParentChildQRId(id)\r\n .then((response) => {\r\n \r\n if (response.data.success) {\r\n dispatch(getQrParentChildData(response.data.data));\r\n setCheckScannedData(response.data.data.scanedQRDetails); \r\n }\r\n })\r\n\r\n }\r\n\r\n const getAllQRWithThumbnail = () => {\r\n \r\n setLoading(true)\r\n fetchAllQrCodesWithThumbnail()\r\n .then(response => {\r\n dispatch(getQrCodeThumbnail(response.data));\r\n setChangeOnFav(false)\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n getAllQRCodes({\r\n ...updatedOptions,\r\n\r\n });\r\n };\r\n const { confirm } = Modal;\r\n const handleUpdate = (childQRCodeId,parentQRID) => {\r\n selectedItem >= 0 && prevCountRef.current!=selectedItem ?\r\n confirm({\r\n className: \"ant-modal\",\r\n title: 'Are you sure you want to update this Record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n updateParentByQR(childQRCodeId)\r\n },\r\n onCancel() {\r\n setSelectedItem(\"\")\r\n prevCountRef.current= \"\"\r\n },\r\n })\r\n :\r\n confirm({\r\n className: \"ant-modal\",\r\n title: 'Kindly assign QR Code',\r\n })\r\n }\r\n\r\n const getFullDate = (date) => { \r\n \r\n const dateAndTime = date.split('T');\r\n const time = dateAndTime[1].split(':')\r\n const newtime = time[0] + ':' + time[1];\r\n const times = time[0] > 12 ? \"0\" + time[0] % 12 : time[0]\r\n const newtime1= times + ':' + time[1]\r\n if (time[0] && time[0] >= 12) {\r\n return dateAndTime[0] == \"0001-01-01\" ? \"\" : dateAndTime[0].split('-').reverse().join('-') + ', ' + newtime1 + \" PM \";\r\n }\r\n else {\r\n return dateAndTime[0] == \"0001-01-01\" ? \"\" : dateAndTime[0].split('-').reverse().join('-') + ', ' + newtime + \" AM \";\r\n }\r\n };\r\n\r\n \r\n const updateParentByQR = (childQrCodeId) => {\r\n // get pid from state variable parentId\r\n const changedQrCodes = selectedQrCodePairs;\r\n let parentQRCodeId = changedQrCodes.find(item => item.child == childQrCodeId).parent;\r\n updateAllParentQRId(childQrCodeId, parentQRCodeId)\r\n .then(response => {\r\n dispatch(updateParentByQRId(response.data))\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setSelectedItem(\"\")\r\n prevCountRef.current= \"\"\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n//states and function for dropdown search\r\nconst [searchState, setSearchState] = useState()\r\nconst handleInputForDropdown = (e) => {\r\n const QRProductPresent = allQrDataWithThumbnail.filter((item) => item.qRcodeId.toString().startsWith(e) || item.qRcodeId.toString().includes(e))\r\n QRProductPresent.length > 0 ? setSearchState(\"Number\") : setSearchState(\"String\")\r\n}\r\nconst [selectedQrCodePairs, setSelectedQrCodePairs] = useState([]);\r\nconst parentDdChangeHndlr = (selectedParentValue, selectedForChild,defaultValue) => {\r\n prevCountRef.current = defaultValue;\r\n let alreadyChanged = false;\r\n let result = selectedQrCodePairs && selectedQrCodePairs.length > 0 && [...selectedQrCodePairs].map((item) => {\r\n if (item.child == selectedForChild) {\r\n item.parent = selectedParentValue\r\n alreadyChanged = true;\r\n }\r\n return item\r\n })\r\n if (alreadyChanged) // if already changed once and in the state array\r\n setSelectedQrCodePairs(result);\r\n else // add new object for new change\r\n setSelectedQrCodePairs([...selectedQrCodePairs, { child: selectedForChild, parent: selectedParentValue }]);\r\n setParentId(selectedParentValue);\r\n setSelectedItem(selectedParentValue)\r\n }\r\n\r\n const { Option } = Select;\r\n const columns = [\r\n\r\n {\r\n title: \"QR Code\",\r\n dataIndex: \"qRcodeId\",\r\n className: \"qrcode_mapping\",\r\n },\r\n {\r\n title : \"Location\",\r\n dataIndex: \"qRcodeId\",\r\n className: \"Locations\",\r\n key: 'index',\r\n render: (text, record, index) => (\r\n <>\r\n {record.location.name}\r\n \r\n )\r\n },\r\n\r\n {\r\n title: \"Product Name\",\r\n dataIndex: \"product_Name\",\r\n render: (product_Name) => {product_Name ? product_Name : \"- NA -\"},\r\n },\r\n\r\n {\r\n title: \"Mf. Date\",\r\n dataIndex: \"manufacturing_Date\",\r\n className: \"update_qrcode\",\r\n key: 'manufacturing_Date',\r\n render: ((date) => \r\n getFullDate(date) \r\n ) \r\n },\r\n\r\n \r\n {\r\n title: \"Assigned Parent QR\",\r\n dataIndex: \"parent_QRCodeID\",\r\n key: 'i',\r\n render: (parent_QRCodeID, row, i) => (\r\n \r\n
\r\n \r\n
\r\n )\r\n },\r\n\r\n {\r\n title: \"Update\",\r\n key: 'index',\r\n className: \"update_mapping\",\r\n render: (text, record, index) => (<>\r\n \r\n \r\n )\r\n },\r\n\r\n \r\n\r\n {\r\n title: \"Favourite\",\r\n key: 'index',\r\n render: (text, record, index) => (\r\n <>\r\n handleFavourite(record)}\r\n uncheckedIcon={false}\r\n checkedIcon={false}\r\n checked={record.favorites}\r\n onColor=\"#bb9977\"\r\n handleDiameter={20}\r\n height={16}\r\n width={35}\r\n boxShadow=\"0px 1px 5px rgba(0, 0, 0, 0.6)\"\r\n onHandleColor=\"#b97a57\"\r\n activeBoxShadow=\"0px 0px 1px 10px rgba(0, 0, 0, 0.2)\"\r\n />\r\n \r\n )\r\n },\r\n \r\n\r\n {\r\n title: \"User Section\",\r\n dataIndex: \"\",\r\n render: (record) =>\r\n \r\n ( \r\n verifyQRCodeData(record.qRcodeId)}>Preview\r\n \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 {!searchClicked ?\r\n <>\r\n
Search QR/Product : {\r\n handleDataSearch(e); setSearchError(false)\r\n }}>\r\n \r\n {\r\n < small className=\"text-danger d-block mt-2 searchError\">{searchError}\r\n }\r\n
\r\n\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n scroll={{ x: \"750px\" }}\r\n />\r\n
\r\n :\r\n <>\r\n
Search QR/Product : {\r\n handleDataSearch(e)\r\n }} >\r\n \r\n {search == \"\" ? \"\" : }\r\n {\r\n < small className=\"text-danger d-block mt-2 ms-5\">{searchError}\r\n }\r\n
\r\n
\r\n\r\n 10 ? searchOptions.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n scroll={{ x: \"750px\" }}\r\n />\r\n
\r\n \r\n }\r\n\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default connect()(IndexQrAssigning);\r\n","import { ParentQRId } from \"../Constants/assignQR\";\r\nexport const updateParentByQRId= (qrData) => {\r\n return {\r\n type: ParentQRId.PUT_PARENTQRID,\r\n payload: qrData\r\n };\r\n};\r\n","import { LocationTypes } from \"../Constants/Location-Types\";\r\n\r\nexport const setLocationType = (location) => {\r\n return {\r\n type: LocationTypes.SET_LOCATIONTYPES,\r\n payload: location\r\n };\r\n};\r\n\r\n\r\n//Add LocationType Data\r\nexport const addLocationTypeData = (location) => {\r\n return {\r\n type: LocationTypes.ADD_LOCATIONTYPES,\r\n payload: location\r\n };\r\n};\r\n\r\n//Update LocationType Data\r\nexport const updateLocationTypeData = (location) => {\r\n return {\r\n type:LocationTypes.UPDATE_LOCATIONTYPES,\r\n payload: location\r\n };\r\n};\r\n\r\n// Update Installation location\r\nexport const updateInstLocationData = (location) => {\r\n \r\n return {\r\n type: LocationTypes.UPDATE_INSTLOCATION,\r\n payload: location\r\n };\r\n};\r\n\r\n//Delete LocationType Data\r\nexport const deleteLocationData = (location) => {\r\n return {\r\n type:LocationTypes.DELETE_SELECTED_LOCATIONTYPES,\r\n payload: location\r\n };\r\n};\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { connect } from 'react-redux';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport { fetchLocationProducts } from \"../../Redux/Api/fetch.api\";\r\nimport { Modal } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Loader from \"../loader\";\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n// Import Layout\r\nimport Layout from '../Layout';\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Trash_duotone_line from \"../../assets/images/Trash_duotone_line.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport axios from \"axios\";\r\nimport { setLocationType, deleteLocationData } from \"../../Redux/Actions/LocationActions\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Tooltip } from 'antd';\r\n\r\nconst IndexLocationType = () => {\r\n const allLocationTypes = useSelector((state) => state.allLocationType.location);\r\n console.log(\"data\", allLocationTypes)\r\n const dispatch = useDispatch();\r\n const history = useHistory()\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortAdd, setSortAdd] = useState('');\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n const [table, setTable] = useState([]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getProducts(options)\r\n }, [])\r\n\r\n const getProducts = (options) => {\r\n setLoading(true)\r\n fetchLocationProducts({\r\n PageIndex: options.pagination.current,\r\n PazeSize: 5,\r\n })\r\n .then(response => {\r\n dispatch(setLocationType(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n });\r\n\r\n };\r\n const deleteLocationTypeData = async (locationId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_LOCATIONTYPE + '/' + locationId, {\r\n }).then(response => {\r\n dispatch(deleteLocationData(response.data)) \r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getProducts(options)\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(true)\r\n }\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (locationId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteLocationTypeData(locationId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n\r\n const handleEdit = (locationId) => {\r\n history.push('/Location/edit/' + locationId)\r\n console.log(locationId)\r\n }\r\n\r\n const uniqueIds = [];\r\n const filterDataAddress = data => formatter => data.filter(element => {\r\n \r\n if (element.address) {\r\n const isDublicate = uniqueIds.includes(element.address);\r\n if (!isDublicate) {\r\n uniqueIds.push(element.address);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }).map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n\r\n const filterData = data => formatter => data ? data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n })): \" \";\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n /* render:(text, record, index) => `${(options.pagination.current - 1) * 10 + index +1}`*/\r\n /* render: (text, record,index) =>`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index +1}`*/\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n filters: filterData(table)(i => i.name),\r\n onFilter: (value, record) => record.name === value,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n\r\n },\r\n {\r\n title: \"Address\",\r\n dataIndex: \"address\",\r\n render: (address) => {address},\r\n sorter: (a, b) => a.address.localeCompare(b.address),\r\n filters: filterDataAddress(table)(i => i.address),\r\n onFilter: (value, record) => record.address.indexOf(value) === 0,\r\n sortOrder: sortAdd,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortAdd(sortAdd === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, locationId) => (<>\r\n )\r\n },\r\n ]\r\n\r\n return (\r\n \r\n
\r\n
\r\n

Location

\r\n
\r\n Add Location\r\n
\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n scroll={{ x: \"450px\" }}\r\n />\r\n
\r\n
\r\n )\r\n};\r\nexport default connect()(IndexLocationType);\r\n","import React, { useEffect, useState, useCallback, useMemo } from \"react\";\r\nimport axios from \"axios\"\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setMediaTypes, deleteMediaData } from \"../../Redux/Actions/MediaActions\";\r\nimport Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport MediaComponent from './MediaComponent.js';\r\nimport { connect } from 'react-redux';\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport { fetchMediaData } from \"../../Redux/Api/fetch.api\";\r\nimport Loader from \"../loader\";\r\nimport { Modal } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\n//Media\r\nconst Index = () => {\r\n\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const history = useHistory()\r\n const [sort, setSort] = useState('');\r\n const dispatch = useDispatch();\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n getProducts(options)\r\n }, [])\r\n\r\n const handleEdit = (mediaTypeId) => {\r\n history.push('/MediaType/edit/' + mediaTypeId)\r\n }\r\n\r\n const getProducts = () => {\r\n setLoading(true)\r\n fetchMediaData()\r\n .then(response => {\r\n dispatch(setMediaTypes(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false);\r\n })\r\n \r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n });\r\n\r\n };\r\n\r\n const deleteMediaTypeData = async (mediaTypeId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_MEDIATYPES + '/' + mediaTypeId, {\r\n\r\n }).then(response => {\r\n dispatch(deleteMediaData(response.data))\r\n \r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, ); \r\n getProducts()\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(true)\r\n\r\n }\r\n const filterData = data => formatter => data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n /* render: (text, record) => `${table.indexOf(record) + 1}`*/\r\n /* render: (text, record, index) => `${(options.pagination.current - 1) * 10 + index + 1}`*/\r\n render: (text, record, index) => `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n filters: filterData(table)(i => i.name),\r\n onFilter: (value, record) => record.name.indexOf(value) === 0,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n \r\n },\r\n {\r\n title: \"Master Key\",\r\n dataIndex: \"key\",\r\n \r\n //sorter: (a, b) => a.key.localeCompare(b.key),\r\n //filters: filterData(table)(i => i.key),\r\n //onFilter: (value, record) => record.key.indexOf(value) === 0,\r\n\r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n //filters: [\r\n // { text: 'Active', value: true },\r\n // { text: 'Inactive', value: false }\r\n //],\r\n //onFilter: (value, record) => {\r\n // return record.active === value\r\n //}\r\n\r\n },\r\n //{\r\n // title: \"Action \",\r\n // dataIndex: \"\",\r\n // render: (data, areaTypeId) => (<>\r\n // )\r\n //},\r\n ]\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (mediaTypeId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteMediaTypeData(mediaTypeId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n\r\n return (\r\n\r\n \r\n
\r\n
\r\n

Media Type

\r\n {/*
*/}\r\n {/* Add Media Type*/}\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n onChange={handleChange}\r\n />\r\n
\r\n
\r\n );\r\n\r\n};\r\nexport default connect()(Index);","import { GuideTypes } from \"../Constants/Guide-Types\"\r\n\r\nexport const setGuideTypes = (guidetypes) => {\r\n return {\r\n type: GuideTypes.SET_GUIDETYPES,\r\n payload: guidetypes\r\n };\r\n};\r\n\r\n\r\n//Add GuideType Data\r\nexport const addGuideTypeData = (guidetypes) => {\r\n return {\r\n type: GuideTypes.ADD_GUIDETYPES,\r\n payload: guidetypes\r\n };\r\n};\r\n\r\n//Update GuideType Data\r\nexport const updateGuideTypeData = (guidetypes) => {\r\n return {\r\n type:GuideTypes.UPDATE_GUIDETYPES,\r\n payload: guidetypes\r\n };\r\n};\r\n\r\n//Delete GuideType Data\r\nexport const deleteGuideData = (guidetypes) => {\r\n return {\r\n type:GuideTypes.DELETE_SELECTED_GUIDETYPES,\r\n payload: guidetypes\r\n };\r\n};","import React, { useEffect, useState, useCallback, useMemo } from \"react\";\r\nimport axios from \"axios\"\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport { updateGuideTypeData, setGuideTypes, deleteGuideData } from \"../../Redux/Actions/GuideActions\";\r\n\r\n\r\nimport { connect } from 'react-redux';\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { fetchGuideProducts } from \"../../Redux/Api/fetch.api\";\r\nimport { Modal } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Loader from \"../loader\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Tooltip } from 'antd';\r\n\r\n\r\n//Gudelisting\r\n\r\nconst Index = () => {\r\n const allGuideTypes = useSelector((state) => state.allGuideType.guideTypes);\r\n const dispatch = useDispatch();\r\n const history = useHistory()\r\n const [table, setTable] = useState([]);\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortDesc, setSortDesc] = useState('');\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n /*const [page, setPage] = useState(1);*/\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n getProducts(options)\r\n }, [])\r\n\r\n const handleUpdate = (guideTypeId) => {\r\n history.push('/Guide/edit/' + guideTypeId)\r\n }\r\n\r\n const getProducts = (options) => {\r\n setLoading(true)\r\n fetchGuideProducts({\r\n PageIndex: options.pagination.current,\r\n pageSize: 5,\r\n\r\n })\r\n .then(response => {\r\n dispatch(setGuideTypes(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n\r\n });\r\n\r\n };\r\n\r\n const deleteGuideTypeData = async (guideTypeId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_GUIDETYPE + '/' + guideTypeId, {\r\n\r\n }).then(response => {\r\n dispatch(deleteGuideData(response.data))\r\n \r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getProducts(options)\r\n\r\n /*setLoading(false)*/\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n\r\n\r\n }\r\n const filterData = data => formatter => data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n // render:(text, record, index) => `${(options.pagination.current - 1) * 10 + index +1}`\r\n /* render: (text, record,index) =>`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index +1}`*/\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n filters: filterData(table)(i => i.name),\r\n onFilter: (value, record) => record.name.indexOf(value) === 0,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n\r\n },\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n render: (description) => {description},\r\n sorter: (a, b) => a.description.localeCompare(b.description),\r\n filters: filterData(table)(i => i.description),\r\n onFilter: (value, record) => record.description.indexOf(value) === 0,\r\n sortOrder: sortDesc,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortDesc(sortDesc === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n\r\n },\r\n\r\n {\r\n title: \"View Order\",\r\n dataIndex: \"viewOrder\",\r\n sorter: (a, b) => a.viewOrder - b.viewOrder,\r\n \r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, guideTypeId) => (<>\r\n )\r\n },\r\n ]\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (guideTypeId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteGuideTypeData(guideTypeId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n return (\r\n \r\n
\r\n
\r\n

Guide Type

\r\n
\r\n Add Guide Type\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n scroll={{ x: \"450px\" }}\r\n />\r\n\r\n
\r\n\r\n
\r\n );\r\n \r\n};\r\n\r\nexport default connect()(Index);\r\n","import { DeviceTypes } from \"../Constants/Device-Types\"\r\n\r\nexport const setDeviceTypes = (devictypes) => {\r\n return {\r\n type: DeviceTypes.SET_DEVICETYPES,\r\n payload: devictypes\r\n };\r\n};\r\n\r\n//Add DeviceType Data\r\nexport const addDeviceTypeData = (devictypes) => {\r\n return {\r\n type: DeviceTypes.ADD_DEVICETYPES,\r\n payload: devictypes\r\n };\r\n};\r\n\r\n//Update DeviceType Data\r\nexport const updateDeviceTypeData = (devictypes) => {\r\n return {\r\n type:DeviceTypes.UPDATE_DEVICETYPES,\r\n payload: devictypes\r\n };\r\n};\r\n\r\n//Delete DeviceType Data\r\nexport const deleteDeviceData = (devictypes) => {\r\n return {\r\n type:DeviceTypes.DELETE_SELECTED_DEVICETYPES,\r\n payload: devictypes\r\n };\r\n};\r\n","import React, { useEffect, useState, useCallback, useMemo } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setDeviceTypes, deleteDeviceData } from \"../../Redux/Actions/DeviceActions\";\r\nimport { Link, useHistory, useLocation} from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { fetchDeviceProducts } from \"../../Redux/Api/fetch.api\";\r\n\r\nimport { Modal } from 'antd';\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport Loader from \"../loader\";\r\nimport 'antd/dist/antd.css';\r\nimport { Tooltip } from 'antd';\r\n\r\n\r\nconst IndexDevice = () => {\r\n const allDeviceTypes = useSelector((state) => state.allDeviceType.deviceTypes);\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortDesc, setSortDesc] = useState('');\r\n const history = useHistory()\r\n const location = useLocation();\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getProducts(options)\r\n }, [])\r\n\r\n const handleEdit = (deviceTypeId) => {\r\n history.push('/Device/edit/' + deviceTypeId)\r\n \r\n }\r\n const getProducts = (options) => {\r\n setLoading(true)\r\n fetchDeviceProducts({\r\n PageIndex: options.pagination.current ,\r\n PazeSize: 5,\r\n })\r\n .then(response => {\r\n dispatch(setDeviceTypes(response.data))\r\n\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n // setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n\r\n });\r\n \r\n };\r\n\r\n const deleteDeviceTypeData = async (deviceTypeId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_DEVICETYPE + '/' + deviceTypeId, {\r\n\r\n }).then(response => {\r\n dispatch(deleteDeviceData(response.data))\r\n \r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 1000)\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getProducts(options)\r\n\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n \r\n }\r\n\r\n const filterData = data => formatter => data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n // render:(text, record, index) => `${(options.pagination.current - 1) * 10 + index +1}`\r\n /* render: (text, record,index) =>`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index +1}`*/\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n \r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n filters: filterData(table)(i => i.name),\r\n onFilter: (value, record) => record.name.indexOf(value) === 0,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n\r\n },\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n render: (description) => {description},\r\n sorter: (a, b) => a.description.localeCompare(b.description),\r\n filters: filterData(table)(i => i.description),\r\n onFilter: (value, record) => record.description.indexOf(value) === 0,\r\n sortOrder: sortDesc,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortDesc(sortDesc === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, deviceTypeId) => (<>\r\n )\r\n },\r\n ]\r\n\r\n const { confirm } = Modal;\r\n const handleDelete = (deviceTypeId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteDeviceTypeData(deviceTypeId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n

Device Type

\r\n
\r\n Add Device Type\r\n
\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n scroll={{ x: \"450px\" }}\r\n />\r\n
\r\n
\r\n\r\n )\r\n \r\n}\r\nexport default connect()(IndexDevice);","export default __webpack_public_path__ + \"static/media/SeekPng.534d1410.svg\";","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Footer from '../VerticalLayout/Footer';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n\r\n// Import static images \r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\n\r\nimport EyeClose from \"../../assets/images/eyeClose.svg\";\r\nimport PassLight from \"../../assets/images/fi-rr-lock1.svg\";\r\nimport SeekPng from \"../../assets/images/SeekPng.svg\";\r\nimport axios from 'axios';\r\n\r\nconst EmailConfirmation = (data) => {\r\n debugger;\r\n const sendEmail = async (e) => {\r\n \r\n const response = await axios.get(url.GET_EMAILVERIFICATION + '\\\\' + data.location.state.data )\r\n .then(response => {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n console.log(\"res\",response.data.data); \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n \r\n \r\n }\r\nreturn (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Welcome to TEkaHelp

\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n \r\n

Email Confirmation

\r\n

We have sent email to {data.location.state.data} to confirm\r\n the validity of our email address. After receiving the email follow\r\n the link provided to complete you registration.

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

If you not got any email sendEmail()}> Resend confirmation mail

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {/* Robertjohnson541@gmail.com */}\r\n \r\n \r\n
\r\n);\r\n};\r\n\r\nexport default connect()(EmailConfirmation);\r\n","import { AreaTypes } from \"../Constants/Area-Types\"\r\n\r\nexport const setAreaTypes = (aretypes) => {\r\n return {\r\n type: AreaTypes.SET_AREATYPES,\r\n payload: aretypes\r\n };\r\n};\r\n\r\nexport const setSelectedAreaType = (aretype) => {\r\n return {\r\n type: AreaTypes.SELECTED_AREATYPE,\r\n payload: aretype\r\n };\r\n};\r\n//#Developer\r\nexport const addAreaType = (aretype) => {\r\n return {\r\n type: AreaTypes.ADD_AREATYPE,\r\n payload: aretype\r\n };\r\n};\r\n\r\n//Update AreaType Data\r\nexport const updateAreaTypeData = (aretype) => {\r\n return {\r\n type:AreaTypes.UPDATE_AREATYPE,\r\n payload: aretype\r\n };\r\n};\r\n\r\n//Delete AreaTypeData\r\nexport const deleteAreaTypeData = (aretype) => {\r\n return {\r\n type:AreaTypes.DELETE_SELECTED_AREATYPE,\r\n payload: aretype\r\n };\r\n};\r\n\r\n","import React, { useEffect, useState, useCallback, useMemo } from \"react\";\r\nimport axios from \"axios\"\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport { connect } from 'react-redux';\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\n// Import static images\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Search_light from \"../../assets/images/Search_light.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport double_arrow from \"../../assets/images/double-arrow.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport Trash_light from \"../../assets/images/Trash_light.svg\";\r\nimport { UPDATE_AREATYPE } from \"../../api/uri_helper\";\r\nimport { deleteAreaTypeData, setAreaTypes, updateAreaTypeData } from \"../../Redux/Actions/AreaActions\";\r\nimport { fetchProducts } from \"../../Redux/Api/fetch.api\";\r\nimport { Modal } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Loader from \"../loader\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Tooltip } from 'antd';\r\nimport '../../custom.css';\r\n\r\nconst Index = () => {\r\n const allAreaTypes = useSelector((state) => state.allAreaType.areaTypes); // data\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const dispatch = useDispatch();\r\n const history = useHistory()\r\n const location = useLocation();\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [sort, setSort] = useState('');\r\n const [sortloc, setSortLoc] = useState('');\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1, pageSizeOptions: [5, 10, 20, 50] },\r\n\r\n });\r\n \r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n \r\n getProducts(options)\r\n }, [])\r\n\r\n const handleEdit = (areaTypeId) => {\r\n history.push('/Area/edit/' + areaTypeId)\r\n }\r\n //Get all the areaTypes\r\n const getProducts = (options) => { \r\n setLoading(true) \r\n fetchProducts() \r\n .then(response => {\r\n dispatch(setAreaTypes(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current, \r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n\r\n // setLoading(false)\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n \r\n }\r\n //change the page size\r\n const handleChange = (pagination, sorter, current) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n getProducts({\r\n ...updatedOptions,\r\n\r\n });\r\n };\r\n\r\n const deleteAreaData = async (areaTypeId) => {\r\n setLoading(true)\r\n await axios.delete(url.DELETE_AREATYPE + '/' + areaTypeId, {\r\n }).then(response => {\r\n dispatch(deleteAreaTypeData(response.data))\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n getProducts(options);\r\n setLoading(false)\r\n }).catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n \r\n\r\n }\r\n\r\n const filterData = data => formatter => data.map(item => ({\r\n text: formatter(item),\r\n value: formatter(item)\r\n }));\r\n\r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n sorter: (a, b) => a.name.localeCompare(b.name),\r\n filters: filterData(table)(i => i.name),\r\n onFilter: (value, record) => record.name.indexOf(value) === 0,\r\n sortOrder: sort,\r\n onHeaderCell: () => ({\r\n onClick: () => setSort(sort === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n {\r\n title: \"Description\",\r\n dataIndex: \"description\",\r\n render: (description) => {description},\r\n sorter: (a, b) => a.description.localeCompare(b.description),\r\n filters: filterData(table)(i => i.description),\r\n onFilter: (value, record) => record.description.indexOf(value) === 0,\r\n sortOrder: sortloc,\r\n onHeaderCell: () => ({\r\n onClick: () => setSortLoc(sortloc === 'ascend' ? 'descend' : 'ascend'),\r\n sortDirections: ['ascend', 'descend', 'ascend'],\r\n })\r\n },\r\n {\r\n title: \"Status\",\r\n dataIndex: \"active\",\r\n render: (data) => (data ? \"Active\" : \"Inactive\"),\r\n filters: [\r\n { text: 'Active', value: true },\r\n { text: 'Inactive', value: false }\r\n ],\r\n onFilter: (value, record) => {\r\n return record.active === value\r\n }\r\n },\r\n {\r\n title: \"Action \",\r\n dataIndex: \"\",\r\n render: (data, areaTypeId) => (<>\r\n )\r\n },\r\n ]\r\n const { confirm } = Modal;\r\n const handleDelete = (areaTypeId) => {\r\n confirm({\r\n title: 'Are you sure you want to delete this record?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n deleteAreaData(areaTypeId)\r\n },\r\n onCancel() {\r\n },\r\n });\r\n }\r\n return (\r\n \r\n \r\n
\r\n {/* {loading ? : ''} */}\r\n
\r\n

Area Type

\r\n
\r\n Add Area Type\r\n
\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n \r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n scroll={{ x: \"450px\" }}\r\n />\r\n
\r\n
\r\n );\r\n\r\n};\r\nexport default connect()(Index);","export default __webpack_public_path__ + \"static/media/Arrow_leftbrown.cad156a5.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { addAreaType, setAreaTypes, updateAreaTypeData } from \"../../Redux/Actions/AreaActions\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport Loader from \"../loader\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport '../../../src/custom.css'\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport { fetchAllAreaId, fetchProducts } from \"../../Redux/Api/fetch.api\";\r\n\r\nconst Add = () => {\r\n const [name, setName] = useState(\"\");\r\n const [desc, setDesc] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory();\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split('/');\r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllAreaId(urlData[3]).then(\r\n response => {\r\n setName(response.data.data.name);\r\n setDesc(response.data.data.description);\r\n setisActive(response.data.data.active)\r\n setCount(response.data.data.description.length)\r\n setLoading(false)\r\n })\r\n }\r\n }, [currentId])\r\n\r\n //Add areaType\r\n const postProducts = async (params) => {\r\n \r\n if (params.name) {\r\n setDisable(true);\r\n const response = await axios.post(url.POST_AREATYPE, {\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addAreaType(response.data))\r\n if (!response.data.success) \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n setLoading(false);\r\n setDisable(false);\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n \r\n history.push('/AreaType');\r\n setLoading(true);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(true)\r\n });\r\n setLoading(true);\r\n }\r\n };\r\n const updateAreaData = async (params) => {\r\n setLoading(true);\r\n if (params.name) {\r\n const response = await axios.put(url.UPDATE_AREATYPE, {\r\n areaTypeId: currentId,\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateAreaTypeData(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n setLoading(false);\r\n setDisable(false);\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push('/AreaType');\r\n setLoading(false);\r\n setDisable(true);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n initialValues: {\r\n name: name ? name : '',\r\n desc: desc ? desc : ''\r\n },\r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name').matches(\r\n \"^([A-Za-z0-9]+ )+[A-Za-z0-9]+$|^[A-Za-z0-9]+$\",\r\n \"Please enter valid Name\"\r\n ),\r\n desc: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Description\"\r\n )\r\n }),\r\n onSubmit: (values) => {\r\n setDisable(true)\r\n {\r\n currentId == undefined || currentId == null || currentId == isNaN\r\n ? postProducts(values) : updateAreaData(values)\r\n };\r\n }\r\n });\r\n \r\n\r\n return (\r\n \r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n {/*
*/}\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return false;\r\n }}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* { setName(e.target.value) }} onKeyUp={handleErrors} className=\"form-control\" name=\"Name\" placeholder=\"Enter Your Area\"> */}\r\n { validation.handleChange(e), setName(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.name}\r\n invalid={\r\n validation.touched.name && validation.errors.name ? true : false\r\n }\r\n />\r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n
\r\n { validation.handleChange(e), setCount(e.target.value.length), setDesc(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.desc}\r\n invalid={\r\n validation.touched.desc && validation.errors.desc ? true : false}\r\n />\r\n {count}/1000\r\n {validation.touched.desc && validation.errors.desc ? (\r\n {validation.errors.desc}\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n\r\n :\r\n\r\n }\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from 'react-redux';\r\nimport * as url from \"../../api/uri_helper\";\r\nimport Loader from \"../loader\";\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport { useRef } from \"react\";\r\nimport PhoneInput from 'react-phone-input-2'\r\nimport \"react-phone-input-2/lib/bootstrap.css\";\r\n\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\n// Import static images\r\nimport Arrow_left from \"../../assets/images/Arrow_left.svg\";\r\n/*import Back_img from \"../../assets/images/back_image.png\";*/\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport axios from \"axios\";\r\nimport '../../../src/custom.css'\r\nimport { updateCustomerTypeData, updateUserTypeData, addUserType } from \"../../Redux/Actions/UserActions\";\r\nimport { Checkbox, Select } from \"antd\";\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport \"antd/dist/antd.css\";\r\nimport { setUserRoles } from \"../../Redux/Actions/userRoles\";\r\nimport { fetchUserRoleData, fetchAllUserId } from \"../../Redux/Api/fetch.api\";\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\nconst Option = Select.Option;\r\n\r\nconst Add = () => {\r\n const allUserTypes = useSelector((state) => state.allUserType.user)\r\n const allUserRoles = useSelector((state) => state.allUserRoleReducers.user)\r\n\r\n let history = useHistory();\r\n const dispatch = useDispatch();\r\n const [phoneNumber, setPhoneNumber] = useState(\"\");\r\n const [name, setName] = useState(\"\");\r\n const [lname, setLname] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [address, setAddress] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [phnumber, setPhnumber] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [phnErr, setPhnErr] = useState();\r\n //const [error, setError] = useState({\r\n // nameErr: '', lnameErr: '', emailErr: '', addressErr: '', passwordErr: '', phnumberErr: ''\r\n //})\r\n const [isActive, setisActive] = useState(true)\r\n const [ifUpdate, setifUpdate] = useState(false)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [currentRoleId, setCurrentRoleId] = useState([]);\r\n const [selectRoles, setSelectRoles] = useState([]);\r\n const [checked, setChecked] = useState(true);\r\n const [roles, setRoles] = useState([]);\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const [phoneError, setPhoneError] = useState(false);\r\n const [rolesError, setRolesError] = useState(false);\r\n const [selectedCountryCode, setSlectedCountryCode] = useState()\r\n const [passwordType, setPasswordType] = useState(\"password\");\r\n const togglePassword = () => {\r\n if (passwordType === \"password\") {\r\n setPasswordType(\"text\")\r\n return;\r\n }\r\n setPasswordType(\"password\")\r\n }\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n //useEffect(() => {\r\n // let urlData = location.pathname.split('/');\r\n // setCurrentId(urlData[3])\r\n // if (currentId) {\r\n // let matchingData = allUserTypes.find(item => item.userId == currentId)\r\n // if (matchingData !== undefined) {\r\n // setName(matchingData.firstName);\r\n // setLname(matchingData.lastName)\r\n // setEmail(matchingData.emailId)\r\n // setCount(matchingData.address.length)\r\n // let pswd = matchingData.passwordHash.substr(0, 20);\r\n // /*setPassword(matchingData.password)*/\r\n // setPassword(pswd)\r\n // setPhnumber(matchingData.phoneNumber)\r\n // { matchingData.roles ? setSelectRoles(getRole(matchingData.roles)) : \"\" }\r\n // setAddress(matchingData.address)\r\n // setisActive(matchingData.active)\r\n // setifUpdate(true);\r\n // }\r\n // }\r\n //}, [currentId])\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split('/');\r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n fetchAllUserId(urlData[3]).then(\r\n response => {\r\n debugger;\r\n // let matchingData = allUserTypes.find(item => item.userId == currentId)\r\n // if (matchingData !== undefined) {\r\n setName(response.data.data.firstName);\r\n setLname(response.data.data.lastName)\r\n setEmail(response.data.data.emailId)\r\n setCount(response.data.data.address.length)\r\n let pswd = response.data.data.passwordHash.substr(0, 20);\r\n /*setPassword(matchingData.password)*/\r\n setPassword(pswd)\r\n setPhnumber(response.data.data.phoneNumber)\r\n { response.data.data.roles ? setSelectRoles(getRole(response.data.data.roles)) : \"\" }\r\n setAddress(response.data.data.address)\r\n setisActive(response.data.data.active)\r\n setifUpdate(true);\r\n })\r\n }\r\n }, [currentId])\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getProducts()\r\n }, [])\r\n\r\n const getRoleIds = (selectedRoles) => {\r\n let roles = [];\r\n selectedRoles.map(roleItem => {\r\n return roles.push(roleItem.roleId ? roleItem.roleId : roleItem.value)\r\n // return roles.push(roleItem.key)\r\n })\r\n return roles;\r\n }\r\n\r\n const getRole = (userRoles) => {\r\n let roles = [];\r\n userRoles.forEach(element => {\r\n let selectedRoles = {\r\n disabled: undefined, key: element.roleId, label: element.roleName,\r\n value: element.roleId\r\n };\r\n roles.push(selectedRoles);\r\n });\r\n return roles;\r\n }\r\n\r\n const getProducts = () => {\r\n setLoading(true)\r\n fetchUserRoleData()\r\n .then(response => dispatch(setUserRoles(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const validation = useFormik({\r\n enableReinitialize: true,\r\n initialValues: {\r\n name: name ? name : '',\r\n lname: lname ? lname : '',\r\n address: address ? address : '',\r\n email: email ? email : '',\r\n password: password ? password : '',\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name ').matches(\r\n \"^[A-Za-z][A-Za-z]*$\",\r\n \"Please enter valid Name\"),\r\n lname: Yup.string().required('Please Enter Last Name ').matches(\r\n \"^[A-Za-z][A-Za-z]*$\",\r\n \"Please enter valid Name\"),\r\n address: Yup.string().required('Please Enter Address ').matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Address\"),\r\n email: Yup.string().required('Please Enter Email').matches(\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i,\r\n \"Please enter valid email \"),\r\n password: Yup.string().when('currentId', {\r\n is: (currentId) => {\r\n // return bool result and if its true then next THEN will be executed\r\n return currentId === undefined && !ifUpdate\r\n },\r\n then: Yup.string().required(\"Please Enter Password\").matches(\r\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})/,\r\n \"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character\"), otherwise:\r\n null,\r\n }),\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n if (!phoneError && !rolesError) {\r\n setDisable(true)\r\n { (currentId == undefined || currentId == null || currentId == isNaN) ? postUserData(values) : updateUserData(values) };\r\n }\r\n }\r\n });\r\n const postUserData = async (params) => {\r\n if (params.name && params.lname && params.email && params.address && params.password) {\r\n const response = await axios.post(url.POST_USER, {\r\n FirstName: params.name.trim(),\r\n LastName: params.lname.trim(),\r\n emailId: params.email,\r\n PasswordHash: params.password,\r\n PhoneNumber: phnumber,\r\n role: getRoleIds(roles),\r\n Address: params.address.trim(),\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(addUserType(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n history.push('/User');\r\n setLoading(false);\r\n setDisable(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n })\r\n }\r\n };\r\n\r\n const updateUserData = async (params) => {\r\n\r\n const rolesIdsToUpdate = getRoleIds(roles && roles.length > 0 ? roles : selectRoles);\r\n if (params.name && phnumber) {\r\n const response = await axios.put(url.UPDATE_USER, {\r\n userId: currentId,\r\n FirstName: params.name.trim(),\r\n LastName: params.lname.trim(),\r\n emailId: params.email,\r\n PhoneNumber: phnumber,\r\n role: rolesIdsToUpdate,\r\n Address: params.address,\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateUserTypeData(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push('/User');\r\n setLoading(false);\r\n setDisable(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleChangeRoles = (selected) => {\r\n const arr1 = []\r\n selected.map((item, i) => {\r\n allUserRoles.filter(datas => datas.roleName === selected[i].label).map(filter_data => {\r\n arr1.push(filter_data)\r\n })\r\n })\r\n setRoles(arr1)\r\n setSelectRoles(selected)\r\n if (selected && selected.length > 0) {\r\n setRolesError(false);\r\n }\r\n else {\r\n setRolesError(true);\r\n }\r\n }\r\n //Function to be called in the main component\r\n const Update = () => {\r\n if (!ifUpdate) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {passwordType === \"password\" ? : }\r\n
\r\n
\r\n
\r\n {validation.touched.password && validation.errors.password ? (\r\n {validation.errors.password}\r\n ) : null}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n else {\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 return (\r\n \r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n if (!phnumber || !(phnumber && phnumber.length > 10)) {\r\n setPhoneError(true);\r\n }\r\n if (!selectRoles || !(selectRoles && selectRoles.length > 0)) {\r\n setRolesError(true);\r\n }\r\n return false;\r\n }}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {validation.touched.lname && validation.errors.lname ? (\r\n {validation.errors.lname}\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {validation.touched.email && validation.errors.email ? (\r\n {validation.errors.email}\r\n ) : null}\r\n
\r\n
\r\n
\r\n {Update()}\r\n
\r\n
\r\n \r\n
\r\n {\r\n setSlectedCountryCode((prevState) => {\r\n if (prevState !== country.countryCode) {\r\n setPhnumber(country.dialCode);\r\n }\r\n else {\r\n setPhnumber(phone);\r\n }\r\n return country.countryCode;\r\n })\r\n if (phone && phone.length > 10 && !phone.replace(country.dialCode, '').startsWith('0')) {\r\n setPhoneError(false);\r\n }\r\n else {\r\n setPhoneError(true);\r\n }\r\n }}\r\n />\r\n
\r\n {< small className=\"text-danger d-block mt-2\">{!phoneError ? ' ' : 'Please Enter Valid Phone Number'}}\r\n
\r\n
\r\n
\r\n \r\n \r\n {/* */}\r\n {allUserRoles && allUserRoles.map(roles =>\r\n \r\n )}\r\n \r\n {\r\n < small className=\"text-danger d-block mt-2\">{!rolesError ? ' ' : 'Please Select Roles'}\r\n }\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n { validation.handleChange(e), setCount(e.target.value.length) }}\r\n onBlur={validation.handleBlur} value={validation.values.address}\r\n invalid={\r\n validation.touched.address && validation.errors.address ? true : false\r\n }\r\n />{count}/250\r\n {validation.touched.address && validation.errors.address ? (\r\n {validation.errors.address}\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n\r\n :\r\n\r\n }\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n}\r\nexport default connect()(Add);\r\n","export default __webpack_public_path__ + \"static/media/Arrow_left.3b6f04a5.svg\";","\r\nimport { UserRoles } from \"../Constants/userRoles\";\r\n\r\n//get UserTypeData\r\nexport const setUserRoles = (userRole) => {\r\n return {\r\n type:UserRoles.SET_USERROLES,\r\n payload: userRole\r\n };\r\n};\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { addAreaType, setAreaTypes, updateAreaTypeData } from \"../../Redux/Actions/AreaActions\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\nimport Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport { Spinner } from \"reactstrap\";\r\n// import loading from \"../../assets/images/loading.gif\"\r\nimport Loader from \"../loader\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport '../../../src/custom.css'\r\nimport PhoneInput from 'react-phone-input-2'\r\nimport \"react-phone-input-2/lib/bootstrap.css\";\r\nimport { useRef } from \"react\";\r\nimport PlacesAutocomplete from \"react-places-autocomplete\";\r\nimport { geocodeByAddress, geocodeByPlaceId, getLatLng } from \"react-places-autocomplete\";\r\n\r\n////#Developer\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n\r\n// Import static images\r\n\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { METHODS } from \"http\";\r\nimport { updateCompanyData, addCompanyData } from \"../../Redux/Actions/CompanyActions\";\r\nimport { fetchAllCompanyId } from \"../../Redux/Api/fetch.api\";\r\n// import AreaType from './components/AreaType/Index.js';\r\n\r\nconst Add = () => {\r\n const allCompanyDetails = useSelector((state) => state.allCompanyDetails.company)\r\n let history = useHistory();\r\n const dispatch = useDispatch();\r\n const [companyName, setCompanyName] = useState(\"\");\r\n const [selectedCountryCode, setSlectedCountryCode] = useState();\r\n const [email, setEmail] = useState(\"\");\r\n const [contactEmail, setContactEmail] = useState(\"\");\r\n const [address, setAddress] = useState(\"\");\r\n const [allAddress, getAllAddress] = useState('')\r\n const [addressData, setAddressData] = useState(\"\");\r\n const [stateData, setStateData] = useState(\"\");\r\n const [postalCode, setPostalCode] = useState(\"\");\r\n const [country, setCountry] = useState(\"\");\r\n const [postalCodeDisable, setPostalCodeDisable] = useState(false);\r\n const [city, setCity] = useState(\"\");\r\n const [phoneNumber, setPhoneNumber] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [count, setCount] = useState(0);\r\n const [countText, setCountText] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const [contactName, setContactName]= useState(\"\");\r\n const [success, setSuccess] = useState(false);\r\n const [phoneError, setPhoneError] = useState(false);\r\n const [postalCodeData, setPostalCodeData] = useState();\r\n const [fieldValue, setFieldsValue] = useState(false);\r\n let btnRef = useRef();\r\n\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n\r\n let pageButton = \"Update\"\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n useEffect(() => {\r\n let urlData = location.pathname.split('/'); \r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllCompanyId(urlData[3]).then(\r\n response => {\r\n setLoading(false)\r\n setCompanyName(response.data.data.companyName);\r\n setAddressData(response.data.data.address1);\r\n setEmail(response.data.data.emailId)\r\n setPhoneNumber(response.data.data.phoneNumber)\r\n \r\n \r\n if (response.data.data.address1)\r\n setCity(response.data.data.city)\r\n setStateData(response.data.data.state)\r\n setPostalCodeData(response.data.data.postalCode)\r\n\r\n setCountry(response.data.data.country)\r\n\r\n setCount(response.data.data.address1.length)\r\n \r\n setisActive(response.data.data.active)\r\n \r\n })\r\n\r\n }\r\n }, [currentId])\r\n\r\n const handleAddressSelect = async (address, placeId) => {\r\n debugger;\r\n setAddressData(address);\r\n getAllAddress(address)\r\n\r\n const results = await geocodeByAddress(address);\r\n const latlang = await getLatLng(results[0]);\r\n console.log(\"data\", latlang.lat)\r\n \r\n geocodeByAddress('Montevideo, Uruguay')\r\n .then(results =>\r\n\r\n getLatLng(results[0]))\r\n .then(({ lat, lng }) =>\r\n //setLatitude({lat}),\r\n console.log('Successfully got latitude and longitude', { lat, lng }),\r\n\r\n );\r\n const [place] = await geocodeByPlaceId(placeId);\r\n\r\n const { long_name: postalCode = \"\" } =\r\n place.address_components.find((c) => c.types.includes(\"postal_code\")) ||\r\n {};\r\n let city = \"\",\r\n country = \"\",\r\n state = \"\"\r\n\r\n\r\n for (const component of results[0].address_components) {\r\n const componentType = component.types[0];\r\n\r\n switch (componentType) {\r\n case \"locality\": {\r\n city = component.long_name;\r\n break;\r\n }\r\n case \"administrative_area_level_1\": {\r\n state = component.long_name;\r\n break;\r\n }\r\n case \"country\": {\r\n country = component.long_name;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setPostalCodeDisable(!!postalCode);\r\n setFieldsValue({\r\n\r\n [\"postal_code\"]: postalCode,\r\n [\"city\"]: city,\r\n [\"state\"]: state,\r\n [\"country\"]: country,\r\n });\r\n { addressData != \"\" ? setCity(city) : '' }\r\n setPostalCodeData(postalCode)\r\n setCity(city)\r\n setStateData(state)\r\n setCountry(country)\r\n console.log(\"postal\", postalCode)\r\n console.log(\"city\", city)\r\n console.log(\"state\", state)\r\n console.log(\"country\", country)\r\n }\r\n\r\n const handleStateChangeForAddress = (e) => {\r\n debugger;\r\n if (e == \"\") {\r\n setCity(\"\")\r\n setPostalCodeData(\"\")\r\n setStateData(\"\")\r\n setCountry(\"\")\r\n \r\n getAllAddress(\"\")\r\n }\r\n }\r\n\r\n const renderFuncForGooglePlaces = ({\r\n getInputProps,\r\n suggestions,\r\n getSuggestionItemProps,\r\n loading,\r\n }) => (\r\n
\r\n \r\n\r\n
\r\n {loading &&
Loading...
}\r\n {suggestions.map((suggestion, index) => {\r\n const style = suggestion.active\r\n ? {\r\n backgroundColor: \"#f8f8f8\",\r\n cursor: \"pointer\",\r\n }\r\n : {\r\n backgroundColor: \"#ffffff\",\r\n cursor: \"pointer\",\r\n };\r\n return (\r\n \r\n {suggestion.description}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n\r\n const handleAddressChange = (value) => {\r\n debugger;\r\n if (value.length > 0) {\r\n setAddressData(value)\r\n }\r\n else {\r\n setAddressData(\"\")\r\n }\r\n\r\n };\r\n\r\n \r\n\r\n const postCompanyData = async (params) => {\r\n if (params.companyName ) {\r\n const response = await axios.post(url.POST_COMPANYDETAILS, {\r\n companyId: currentId,\r\n companyName: params.companyName.trim(),\r\n emailId: params.email,\r\n address1: addressData,\r\n phoneNumber: phoneNumber,\r\n city: city,\r\n state: stateData,\r\n postalCode: postalCodeData,\r\n country: country,\r\n contactName: contactName.trim(),\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addCompanyData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n //setLoading(false);\r\n //setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/Company');\r\n //setLoading(false);\r\n //setSuccess(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n\r\n const updateCompanyDetails = async (params) => {\r\n if (params.companyName) {\r\n // setLoading(true);\r\n const response = await axios.put(url.UPDATE_COMPANYDETAILS, {\r\n companyId: currentId,\r\n companyName: params.companyName.trim(),\r\n emailId: params.email,\r\n address1: addressData,\r\n phoneNumber: phoneNumber,\r\n city: city,\r\n state: stateData,\r\n postalCode: postalCodeData,\r\n country: country,\r\n contactName: contactName.trim(),\r\n Active: isActive\r\n }).then((response) => {\r\n dispatch(updateCompanyData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n //setLoading(false);\r\n //setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/Company');\r\n /* setLoading(false);*/\r\n // setDisable(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n const validation = useFormik({\r\n enableReinitialize: true,\r\n // initialize of the Values\r\n initialValues: {\r\n companyName: companyName ? companyName : '',\r\n email: email ? email : '',\r\n address: address ? address : '',\r\n addressData: addressData ? addressData : '',\r\n contactEmail:contactEmail?contactEmail:'',\r\n postalCode: postalCode?postalCode:''\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n companyName: Yup.string().required('Please Enter Name').matches(\r\n ///^[a-zA-Z0-9\\s\r\n \"^([A-Za-z0-9]+ )+[A-Za-z0-9]+$|^[A-Za-z0-9]+$\",\r\n \"Please enter valid Name\"\r\n ),\r\n \r\n postalCode: Yup.string().matches(\r\n /(^\\d{7}$)|(^\\d{7}-\\d{4}$)/,\r\n \"Please enter valid code \"\r\n ),\r\n \r\n email: Yup.string().matches(\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i,\r\n \"Please enter valid email \"\r\n ),\r\n contactEmail:Yup.string().matches(\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i,\r\n \"Please enter valid email \"\r\n ),\r\n address: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Address\"\r\n ),\r\n addressData: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Address\"\r\n )\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n if (!phoneError) {\r\n // call the api here\r\n setDisable(true)\r\n { currentId == undefined || currentId == null || currentId == isNaN ? postCompanyData(values) : updateCompanyDetails(values) };\r\n }\r\n }\r\n });\r\n return (\r\n \r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n {/*
*/}\r\n {\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n //if (phoneNumber.replace(country.dialCode, '').startsWith('0')) {\r\n // setPhoneError(true);\r\n //} \r\n //if (!(phoneNumber && phoneNumber.length >10)) {\r\n // setPhoneError(true);\r\n //}\r\n return false;\r\n }}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* { setName(e.target.value) }} placeholder=\"Enter First Name\"> */}\r\n { validation.handleChange(e), setCompanyName(e.target.value.replace(/\\s{2}/g, '')) }}\r\n onBlur={validation.handleBlur} value={validation.values.companyName} \r\n invalid={\r\n validation.touched.companyName && validation.errors.companyName ? true : false\r\n }\r\n />\r\n {validation.touched.companyName && validation.errors.companyName ? (\r\n {validation.errors.companyName}\r\n ) : null}\r\n
\r\n {/* {error.nameErr} */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setContactName(e.target.value) }} value={contactName} /> \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* { setEmail(e.target.value) }} placeholder=\"Enter Your Email\"> */}\r\n \r\n {validation.touched.email && validation.errors.email ? (\r\n {validation.errors.email}\r\n ) : null}\r\n
\r\n {/* {error.emailErr} */}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n setPhoneNumber(phone)}\r\n onChange={(phone, country) => {\r\n debugger;\r\n setSlectedCountryCode((prevState) => {\r\n if (prevState !== country.countryCode) {\r\n setPhoneNumber(country.dialCode);\r\n }\r\n else {\r\n setPhoneNumber(phone);\r\n }\r\n return country.countryCode; \r\n })\r\n\r\n //if (phone && phone.length > 10)\r\n // // && !phone.replace(country.dialCode, '').startsWith('0')) \r\n //{\r\n // setPhoneError(false);\r\n //}\r\n \r\n //else {\r\n // setPhoneError(true);\r\n //}\r\n\r\n \r\n }}\r\n />\r\n
\r\n {\r\n < small className=\"text-danger d-block mt-2\">{!phoneError ? ' ' : 'Please Enter Valid Phone Number'}\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleAddressChange(e), handleStateChangeForAddress(e)\r\n }}\r\n onSelect={handleAddressSelect}\r\n >\r\n {renderFuncForGooglePlaces}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {allAddress != '' || currentId ?\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setCity(e.target.value) }} value={addressData != \"\" ? city : ''} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n { setStateData(e.target.value) }} value={stateData} />\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 { setCountry(e.target.value) }} value={country} />\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 {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n :\r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default connect()(Add);\r\n\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n// import loading from \"../../assets/images/loading.gif\"\r\nimport Loader from \"../loader\";\r\nimport '../../../src/custom.css'\r\n////#Developer\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n// Import static images\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { METHODS } from \"http\";\r\nimport { setLocationType, updateLocationTypeData, addLocationTypeData } from \"../../Redux/Actions/LocationActions\";\r\nimport { fetchAllLocationId, fetchLocationProducts, fetchUserData } from \"../../Redux/Api/fetch.api\";\r\nimport { setUserType } from \"../../Redux/Actions/UserActions\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport PhoneInput from 'react-phone-input-2'\r\nimport PlacesAutocomplete from \"react-places-autocomplete\";\r\nimport { geocodeByAddress, geocodeByPlaceId, getLatLng } from \"react-places-autocomplete\";\r\n\r\n\r\nconst Add = () => {\r\n\r\n const allLocationTypes = useSelector((state) => state.allLocationType.location)\r\n // const allCustomerTypes = useSelector((state) => state.allCustomerType.customer)\r\n\r\n const [name, setName] = useState(\"\");\r\n const [address, setAddress] = useState('');\r\n const [allAddress, getAllAddress] = useState('')\r\n const [currentCustomerId, setCurrentCustomerId] = useState(0);\r\n const [id, setId] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState({\r\n nameErr: '',\r\n addressErr: ''\r\n })\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [selectedCountryCode, setSelectedCountryCode] = useState();\r\n const [stateData, setStateData] = useState(\"\");\r\n const [postalCode, setPostalCode] = useState(\"\");\r\n const [country, setCountry] = useState(\"\");\r\n const [latitude, setLatitude] = useState(\"\");\r\n const [longitude, setLongitude] = useState(\"\");\r\n const [city, setCity] = useState(\"\");\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const [contactEmail, setContactEmail] = useState(\"\");\r\n const [phoneNumber, setPhoneNumber] = useState(\"\");\r\n const [countText, setCountText] = useState(0);\r\n const [contactName, setContactName] = useState(\"\");\r\n const [phoneError, setPhoneError] = useState(false);\r\n const [fieldValue, setFieldsValue] = useState(false);\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory();\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n\r\n const [state, setState] = useState({ address: '' })\r\n const [postalCodeDisable, setPostalCodeDisable] = useState(false);\r\n const [zipCode, setZipCode] = useState(false);\r\n const [add, setAdd] = useState(false);\r\n const [addressData, setAddressData] = useState(\"\");\r\n const [postalCodeData, setPostalCodeData] = useState();\r\n\r\n useEffect(() => {\r\n let urlData = location.pathname.split('/');\r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllLocationId(urlData[3])\r\n .then(\r\n response => {\r\n setLoading(false)\r\n setName(response.data.data.name);\r\n setAddressData(response.data.data.address);\r\n if (response.data.data.address)\r\n setCount(response.data.data.address.length)\r\n setPhoneNumber(response.data.data.phoneNumber)\r\n setId(response.data.data.customerId)\r\n setisActive(response.data.data.active)\r\n setCity(response.data.data.city)\r\n setStateData(response.data.data.state)\r\n setPostalCodeData(response.data.data.postalCode)\r\n setCountry(response.data.data.country)\r\n setContactName(response.data.data.contactName)\r\n setContactEmail(response.data.data.contactEmail)\r\n setLatitude(response.data.data.latitude)\r\n setLongitude(response.data.data.longitude)\r\n })\r\n\r\n }\r\n else {\r\n // getCustomerData();\r\n\r\n }\r\n }, [currentId])\r\n useEffect(() => {\r\n\r\n getLocationData()\r\n }, [])\r\n\r\n const handleAddressChange = (value) => {\r\n debugger;\r\n if(value.length > 0) {\r\n setAddressData(value)\r\n }\r\n else {\r\n setAddressData(\"\")\r\n }\r\n \r\n \r\n \r\n };\r\n\r\n const handleAddressSelect = async (address, placeId) => {\r\n debugger;\r\n setAddressData(address);\r\n getAllAddress(address)\r\n\r\n const results = await geocodeByAddress(address);\r\n const latlang = await getLatLng(results[0]);\r\n console.log(\"data\", latlang.lat)\r\n setLatitude(latlang.lat)\r\n setLongitude(latlang.lng)\r\n geocodeByAddress('Montevideo, Uruguay')\r\n .then(results =>\r\n\r\n getLatLng(results[0]))\r\n .then(({ lat, lng }) =>\r\n //setLatitude({lat}),\r\n console.log('Successfully got latitude and longitude', { lat, lng }),\r\n\r\n );\r\n const [place] = await geocodeByPlaceId(placeId);\r\n\r\n const { long_name: postalCode = \"\" } =\r\n place.address_components.find((c) => c.types.includes(\"postal_code\")) ||\r\n {};\r\n let city = \"\",\r\n country = \"\",\r\n state = \"\"\r\n\r\n\r\n for (const component of results[0].address_components) {\r\n const componentType = component.types[0];\r\n\r\n switch (componentType) {\r\n case \"locality\": {\r\n city = component.long_name;\r\n break;\r\n }\r\n case \"administrative_area_level_1\": {\r\n state = component.long_name;\r\n break;\r\n }\r\n case \"country\": {\r\n country = component.long_name;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setPostalCodeDisable(!!postalCode);\r\n setFieldsValue({\r\n\r\n [\"postal_code\"]: postalCode,\r\n [\"city\"]: city,\r\n [\"state\"]: state,\r\n [\"country\"]: country,\r\n });\r\n { addressData != \"\" ? setCity(city) : '' }\r\n setPostalCodeData(postalCode)\r\n setCity(city)\r\n setStateData(state)\r\n setCountry(country)\r\n console.log(\"postal\", postalCode)\r\n console.log(\"city\", city)\r\n console.log(\"state\", state)\r\n console.log(\"country\", country)\r\n };\r\n const handleStateChangeForAddress = (e) => {\r\n debugger;\r\n if (e == \"\") {\r\n setCity(\"\")\r\n setPostalCodeData(\"\")\r\n setStateData(\"\")\r\n setCountry(\"\")\r\n setLatitude(\"\")\r\n setLongitude(\"\") \r\n getAllAddress(\"\")\r\n }\r\n }\r\n\r\n const renderFuncForGooglePlaces = ({\r\n getInputProps,\r\n suggestions,\r\n getSuggestionItemProps,\r\n loading,\r\n }) => (\r\n
\r\n \r\n \r\n
\r\n {loading &&
Loading...
}\r\n {suggestions.map((suggestion, index) => {\r\n const style = suggestion.active\r\n ? {\r\n backgroundColor: \"#f8f8f8\",\r\n cursor: \"pointer\",\r\n }\r\n : {\r\n backgroundColor: \"#ffffff\",\r\n cursor: \"pointer\",\r\n };\r\n return (\r\n \r\n {suggestion.description}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n\r\n const getLocationData = () => {\r\n fetchLocationProducts()\r\n .then(response => dispatch(setLocationType(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const addLocationType = async (params) => {\r\n\r\n if (params.name) {\r\n const response = await axios.post(url.POST_LOCATIONTYPE, {\r\n Name: params.name.trim(),\r\n city: city.trim(),\r\n state: stateData.trim(),\r\n postalCode: postalCodeData,\r\n country: country,\r\n // customerId: currentCustomerId,\r\n address: addressData,\r\n phoneNumber: phoneNumber,\r\n contactEmail: params.contactEmail,\r\n contactName: contactName.trim(),\r\n Latitude:latitude,\r\n Longitude:longitude,\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addLocationTypeData(response.data))\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n\r\n history.push('/Location');\r\n\r\n })\r\n .catch((err) => {\r\n setDisable(false)\r\n });\r\n\r\n }\r\n };\r\n\r\n const updateLocationType = async (params) => {\r\n if (params.name) {\r\n\r\n const response = await axios.put(url.UPDATE_LOCATIONTYPE, {\r\n locationId: currentId,\r\n Name: params.name.trim(),\r\n // customerId: currentCustomerId,\r\n address: addressData,\r\n city: city,\r\n state: stateData,\r\n postalCode: postalCodeData,\r\n Latitude:latitude,\r\n Longitude:longitude,\r\n country: country,\r\n contactName: contactName,\r\n phoneNumber: phoneNumber,\r\n contactEmail: params.contactEmail,\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateLocationTypeData(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n //setLoading(false);\r\n //setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push('/Location');\r\n // setLoading(false);\r\n // setDisable(true);\r\n } \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n\r\n }\r\n };\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n\r\n // initialize of the Values\r\n initialValues: {\r\n name: name ? name : '',\r\n address: address ? address : '',\r\n contactEmail: contactEmail ? contactEmail : ''\r\n\r\n\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name ').matches(\r\n \"^([A-Za-z0-9]+ )+[A-Za-z0-9]+$|^[A-Za-z0-9]+$\",\r\n \"Please enter valid Name\"\r\n ),\r\n \r\n contactEmail: Yup.string().matches(\r\n /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i,\r\n \"Please enter valid email \"\r\n ),\r\n address: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Address\"\r\n )\r\n\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n if (!phoneError) {\r\n setDisable(true)\r\n { currentId == undefined || currentId == null || currentId == isNaN ? addLocationType(values) : updateLocationType(values) };\r\n }\r\n\r\n }\r\n });\r\n\r\n // if (loading) return ;\r\n return (\r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n //if (phoneNumber.replace(country.dialCode, '').startsWith('0')) {\r\n // setPhoneError(true);\r\n //}\r\n //if (!(phoneNumber && phoneNumber.length > 10)) {\r\n // setPhoneError(true);\r\n //}\r\n return false;\r\n }}>\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n { validation.handleChange(e), setName(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.name}\r\n invalid={\r\n validation.touched.name && validation.errors.name ? true : false\r\n }\r\n />\r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n { setContactName(e.target.value) }} className=\"form-control\" placeholder=\"Enter Name\" type=\"text\" maxLength={50} value={contactName} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {/* { setContactEmail(e.target.value) }} placeholder=\"Enter Your Email\"> */}\r\n\r\n \r\n {validation.touched.contactEmail && validation.errors.contactEmail ? (\r\n {validation.errors.contactEmail}\r\n ) : null}\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n {\r\n setSelectedCountryCode((prevState) => {\r\n debugger;\r\n if (prevState !== country.countryCode) {\r\n setPhoneNumber(country.dialCode);\r\n }\r\n else {\r\n setPhoneNumber(phone);\r\n }\r\n return country.countryCode\r\n })\r\n\r\n //if (phone.length > 10 )\r\n // // && !phone.replace(country.dialCode, '').startsWith('0'))\r\n //{\r\n // setPhoneError(false);\r\n //}\r\n //else {\r\n // setPhoneError(true);\r\n //}\r\n \r\n }}\r\n />\r\n
\r\n {\r\n < small className=\"text-danger d-block mt-2\">{!phoneError ? ' ' : 'Please Enter Valid Phone Number'}\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleAddressChange(e), handleStateChangeForAddress(e)\r\n }} \r\n onSelect={handleAddressSelect} \r\n >\r\n {renderFuncForGooglePlaces}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {allAddress != '' || currentId?\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setCity(e.target.value) }} value={addressData != \"\" ? city : ''} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n { setStateData(e.target.value) }} value={stateData} />\r\n\r\n
\r\n {/* {error.addressErr} */}\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 { setCountry(e.target.value) }} value={country} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setLatitude(e.target.value) }} value={latitude} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setLongitude(e.target.value) }} value={longitude} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n : \"\"}\r\n\r\n
\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n\r\n :\r\n\r\n }\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n Cancel\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { connect } from 'react-redux';\r\nimport Loader from \"../loader\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Select } from 'antd';\r\nimport '../../assets/css/style.css'\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport Layout from '../Layout';\r\nimport '../../../src/custom.css'\r\nimport axios from \"axios\"\r\nimport updateIcon from \"../../assets/images/updateIcon.svg\"\r\nimport { Modal } from 'antd';\r\nimport { Tooltip } from 'antd';\r\nimport { fetchAllQrCodes, updateAllParentQRId, fetchCompanyDetails,fetchUpdatedQRCode, updateInstLocation,fetchLocationProducts } from '../../Redux/Api/fetch.api';\r\nimport { getQrCodeData, updateQRCodeData } from '../../Redux/Actions/QR';\r\nimport { setLocationType, updateInstLocationData } from '../../Redux/Actions/LocationActions';\r\n\r\nimport * as url from \"../../api/uri_helper\"\r\nimport { SetCompanyDetails } from \"../../Redux/Actions/CompanyActions\";\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst LocationUpdate = () => {\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const [options, setOptions] = useState({ pagination: { current: 1 }, pageSize: pageSize });\r\n const [pageSize, setPageSize] = useState(10);\r\n const [loading, setLoading] = useState(false);\r\n const [locname, setLocname] = useState([{}]);\r\n const [table, setTable] = useState([]);\r\n const [total, setTotal] = useState()\r\n const [currentLocationId, setCurrentLocationId] = useState()\r\n const [updatedLocationId, setUpdatedLocationId] = useState()\r\n const [currentCompanyId, setCurrentCompanyId] = useState()\r\n const [bulkLocationId, setBulkLocationId] = useState() \r\n const [disabledUpdate, setDisabledUpdate] = useState(true) \r\n const [qrCodeId, setQrCodeId] = useState([{}]);\r\n const [pageData, setPageData] = useState({});\r\n const [copyModal, setCopyModal] = useState(false);\r\n const [checkedListOfIds, setCheckedListOfIds] = useState([]);\r\n const [companyData, setCompanyData] = useState([]);\r\n const [getRadioButton, setGetRadioButton] = useState({ show: \"show\", selected: \"show\", });\r\n const [searchOptions, setSearchOptions] = useState({\r\n pagination: { current: 1 }, pageSize: pageSize\r\n })\r\n const dispatch = useDispatch();\r\n const allLocationTypes = useSelector((state) => state.allLocationType.location)\r\n\r\n useEffect(() => { \r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000) \r\n getAllQRCodes(options); \r\n getProducts();\r\n getAllCompanies();\r\n }, [])\r\n\r\n const handleChange = (pagination, sorter) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n };\r\n const handleCheck = (qRcodeId) => { \r\n debugger;\r\n var updatedList = [...checkedListOfIds];\r\n if (event.target.checked) {\r\n updatedList = [...checkedListOfIds, qRcodeId];\r\n } else {\r\n updatedList.splice(checkedListOfIds.indexOf(qRcodeId), 1);\r\n }\r\n setCheckedListOfIds([...updatedList]);\r\n \r\n };\r\n\r\n const radioButtonValueChange = (e) => {\r\n if (e.target.value === \"show\") {\r\n setGetRadioButton({\r\n show: \"show\",\r\n selected: e.target.value,\r\n });\r\n } else {\r\n setGetRadioButton({\r\n show: \"hide\",\r\n selected: e.target.value,\r\n });\r\n }\r\n };\r\n\r\n const getProducts = () => {\r\n setLoading(true)\r\n fetchLocationProducts()\r\n .then(response => {\r\n dispatch(setLocationType(response.data));\r\n\r\n setLocname(response.data.data.name)\r\n\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getAllCompanies = () => {\r\n debugger;\r\n setLoading(true)\r\n fetchCompanyDetails()\r\n .then(response => {\r\n debugger;\r\n dispatch(SetCompanyDetails(response.data));\r\n setCompanyData(response.data.data); \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n\r\n }\r\n\r\n \r\n\r\n const uncheckcheckbox = () => {\r\n var items = document.getElementsByName('checkname');\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i].type == 'checkbox')\r\n items[i].checked = false;\r\n }\r\n }\r\n\r\n const handleBulkLocationUpdate = async () => {\r\n debugger;\r\n setLoading(true)\r\n if (checkedListOfIds.length >=1) {\r\n const data = [];\r\n checkedListOfIds.map(x => data.push({\r\n QRcodeId: x,\r\n LocationId: bulkLocationId\r\n }))\r\n const response = await axios.put(url.UPDATE_INSTLOCATION,\r\n {\r\n \"InstLocationQrs\": data\r\n }).then(response => {\r\n debugger;\r\n dispatch(updateInstLocationData(response.data))\r\n setBulkLocationId();\r\n if (!response.data.success) // False \r\n {\r\n debugger;\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n })\r\n }\r\n setLoading(false)\r\n })\r\n getAllQRCodes()\r\n setCheckedListOfIds('')\r\n uncheckcheckbox();\r\n setDisabledUpdate(true)\r\n }\r\n };\r\n\r\n const getFullInstalDate = (date) => {\r\n // setLoading(true)\r\n if (date) {\r\n const dateAndTime = date.split('T');\r\n const time = dateAndTime[1].split(':')\r\n const newtime = time[0] + ' : ' + time[1]\r\n const times = time[0] > 12 ? time[0] % 12 : time[0]\r\n const newtime1 = times + ' : ' + time[1]\r\n if (time[0] && time[0] >= 12) {\r\n return dateAndTime[0].split('-').reverse().join('-') + ',' + newtime1 + \" PM \";\r\n }\r\n else {\r\n return dateAndTime[0].split('-').reverse().join('-') + ',' + newtime + \" AM \";\r\n }\r\n }\r\n };\r\n\r\n const handleSingleLocationUpdate = async (qRcodeId, currentLocationId) => {\r\n setLoading(true)\r\n if ( currentLocationId) {\r\n const response = await axios.put(url.UPDATE_INSTLOCATION, {\r\n \"InstLocationQrs\": [{\r\n \"QRcodeId\": qRcodeId,\r\n \"LocationId\": currentLocationId\r\n }] \r\n }).then(response => {\r\n debugger;\r\n dispatch(updateInstLocationData(response.data.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n \r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n setLoading(false)\r\n })\r\n getAllQRCodes()\r\n }\r\n \r\n };\r\n\r\n \r\n\r\n const getAllQRCodes = (options) => { \r\n if (options && options.pagination == undefined) {\r\n options.pagination = pageData.pagination;\r\n options.pageSize = pageData.pageSize;\r\n }\r\n fetchAllQrCodes()\r\n .then(response => {\r\n debugger;\r\n setTable(response.data.data)\r\n setQrCodeId(response.data.data.qRcodeId)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n pageSize: options.pagination.pageSize,\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n const { Option } = Select;\r\n const columns = [\r\n\r\n ...(getRadioButton.selected === \"hide\" ?\r\n [\r\n {\r\n title: \" \",\r\n dataIndex: \"qRcodeId\",\r\n hidden : false,\r\n render: (qRcodeId) => (
\r\n {\r\n { handleCheck(qRcodeId) }}\r\n key={qRcodeId} \r\n >\r\n }\r\n
)\r\n },\r\n ] : []\r\n ),\r\n {\r\n title: \"QR Codes\",\r\n dataIndex: \"qRcodeId\",\r\n className: \"update_qrcode\"\r\n },\r\n\r\n {\r\n title: \"Product Name\",\r\n className: \"update_qrcode\",\r\n dataIndex: \"product_Name\",\r\n render: (product_Name) => {product_Name ? product_Name : \"- NA -\"},\r\n },\r\n\r\n {\r\n title: \"Inst. Date\",\r\n className: \"update_qrcode\",\r\n dataIndex: \"installation_Date\",\r\n //key: 'installation_Date',\r\n\r\n render: ((date) => getFullInstalDate(date))\r\n\r\n },\r\n ...(getRadioButton.selected === \"hide\" ?\r\n [\r\n {\r\n title: \"Location\",\r\n className: \"update_qrcode\",\r\n dataIndex: \"\",\r\n render: (text, record, index) => (\r\n <>\r\n {record.location.name}\r\n \r\n )\r\n\r\n },\r\n ] : []\r\n ),\r\n\r\n ...(getRadioButton.selected === \"show\" ?\r\n [\r\n {\r\n title: \"Inst. Location\",\r\n key: 'i',\r\n hidden: true,\r\n render: (record, row, i) => (\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 ...(getRadioButton.selected === \"show\" ?\r\n [\r\n {\r\n title: \"Update\",\r\n key: 'index',\r\n hidden: true,\r\n // className: \"update_mapping\",\r\n render: (text, record, index) => (<>\r\n\r\n \r\n )\r\n } \r\n ] : []\r\n )\r\n ]\r\n \r\n const { confirm } = Modal;\r\n const handleUpdate = (qRcodeId, currentLocationId) => {\r\n debugger;\r\n confirm({\r\n title: 'Are you sure you want to update this location?',\r\n okText: 'Yes',\r\n okType: 'danger',\r\n cancelText: 'No',\r\n onOk() {\r\n handleSingleLocationUpdate(qRcodeId, currentLocationId)\r\n },\r\n onCancel() {\r\n },\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 {getRadioButton.show == \"hide\" ? (\r\n
Update Location :\r\n \r\n\r\n {\r\n getRadioButton.show == \"hide\" ?\r\n checkedListOfIds.length >= 1 && bulkLocationId ?\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 getRadioButton.show == \"show\" ?\r\n\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n />\r\n
:\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\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\nexport default connect()(LocationUpdate);\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from 'react-redux';\r\n// Import Layout\r\nimport Layout from '../Layout';\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n// Import static images\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport { setMediaTypes, updateMediaTypeData, addMediaTypeData } from '../../Redux/Actions/MediaActions';\r\nimport { fetchAllMediaId, fetchMediaData } from \"../../Redux/Api/fetch.api\";\r\nimport Loader from \"../loader\";\r\nimport axios from \"axios\";\r\nimport '../../../src/custom.css'\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\n\r\n\r\nconst Add = () => {\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes)\r\n const [name, setName] = useState(\"\");\r\n const [key, setKey] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState({\r\n nameErr: '',\r\n addressErr: ''\r\n })\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory();\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n useEffect(() => {\r\n let urlData = location.pathname.split('/');\r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllMediaId(urlData[3]).then(\r\n response => { \r\n setName(response.data.data.name);\r\n setKey(response.data.data.key);\r\n setisActive(response.data.data.active)\r\n setLoading(false)\r\n })\r\n }\r\n }, [currentId])\r\n\r\n useEffect(() => {\r\n\r\n getMediaData()\r\n }, [])\r\n\r\n const getMediaData = () => {\r\n fetchMediaData()\r\n .then(response => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const addMediaType = async (params) => {\r\n if (params.name) { \r\n const response = await axios.post(url.POST_MEDIATYPES, {\r\n Name: params.name,\r\n Key: params.key,\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addMediaTypeData(response.data)) \r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, ); \r\n history.push('/MediaType'); \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n\r\n const updateMediaType = async (params) => { \r\n if (params.name) {\r\n const response = await axios.put(url.UPDATE_MEDIATYPES, {\r\n mediaTypeId: currentId,\r\n Name: params.name,\r\n Key: params.key,\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateMediaTypeData(response.data))\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/MediaType');\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n // initialize of the Values\r\n initialValues: {\r\n name: name ? name : '',\r\n key: key ? key : ''\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name ').matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Name\"\r\n ),\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n setDisable(true)\r\n { currentId == undefined || currentId == null || currentId == isNaN ? addMediaType(values) : updateMediaType(values) };\r\n\r\n }\r\n });\r\n // if (loading) return ;\r\n return (\r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return false;\r\n }}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {validation.touched.key && validation.errors.key ? (\r\n {validation.errors.key}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n :\r\n\r\n }\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);\r\n\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n// import loading from \"../../assets/images/loading.gif\"\r\nimport Loader from \"../loader\";\r\n////#Developer\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n// Import static images\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { METHODS } from \"http\";\r\nimport { setLocationType, updateLocationTypeData } from \"../../Redux/Actions/LocationActions\";\r\nimport { fetchAllLocationComapnyId, fetchCompanyDetails, fetchLocationCompanyData, fetchLocationProducts, fetchUserData } from \"../../Redux/Api/fetch.api\";\r\nimport { setUserType } from \"../../Redux/Actions/UserActions\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport { SetCompanyDetails, setSelectedCompanydDetails } from \"../../Redux/Actions/CompanyActions\";\r\nimport { setRelationData, updateCompanyLocationData, updateRelationData, addCompanyLocationData } from \"../../Redux/Actions/RelationActions\";\r\nimport \"../../../src/custom.css\"\r\n\r\nconst Add = () => {\r\n const allLocationTypes = useSelector((state) => state.allLocationType.location)\r\n const allCompanyData = useSelector((state) => state.allCompanyDetails.company)\r\n const allCompanyLocation = useSelector((state)=>state.allCompanyLocationData.relation)\r\n\r\n const [currentLocationId, setCurrentLocationId] = useState(0);\r\n const [currentCompanyId, setCurrentCompanyId] = useState(0);\r\n const [id, setId] = useState();\r\n const [loading, setLoading] = useState(false);\r\n \r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [disable, setDisable] = useState(false);\r\n\r\n\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory();\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n\r\n useEffect(() => {\r\n \r\n let urlData = location.pathname.split('/');\r\n \r\n setCurrentId(urlData[3])\r\n\r\n if (currentId) {\r\n\r\n setLoading(true);\r\n fetchAllLocationComapnyId(urlData[3]).then(\r\n response => { \r\n \r\n setCurrentCompanyId(response.data.data.companyId)\r\n setCurrentLocationId(response.data.data.locationId)\r\n setisActive(response.data.data.active)\r\n setLoading(false)\r\n })\r\n\r\n }\r\n \r\n }, [currentId])\r\n\r\n useEffect(() => {\r\n \r\n getLocationData()\r\n getCompanyDetails()\r\n // getLocationCompanyData()\r\n \r\n }, [])\r\n const getLocationData = () => {\r\n \r\n fetchLocationProducts()\r\n .then(response => dispatch(setLocationType(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n \r\n }\r\n\r\n const getCompanyDetails = () => {\r\n \r\n fetchCompanyDetails()\r\n .then(response => dispatch(SetCompanyDetails(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n // const getLocationCompanyData = () => {\r\n \r\n // fetchLocationCompanyData()\r\n // .then(response => dispatch(getLocationCompanyData(response.data)))\r\n // .catch((err) => {\r\n // console.log(\"Err: \", err);\r\n // })\r\n \r\n // }\r\n \r\n\r\n const addRelationData = async () => {\r\n \r\n const response = await axios.post(url.POST_COMPANYLOCATIONDATA, {\r\n locationId: currentLocationId,\r\n companyId: currentCompanyId,\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addCompanyLocationData(response.data))\r\n \r\n if (response.data.success) {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/Relation');\r\n }\r\n else {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n\r\n }\r\n \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n\r\n \r\n });\r\n setLoading(false);\r\n };\r\n\r\n const updateLocationType = async () => {\r\n \r\n const response = await axios.put(url.UPDATE_COMPANYLOCATIONDATA, {\r\n id: currentId,\r\n locationId: currentLocationId,\r\n companyId: currentCompanyId,\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(updateCompanyLocationData(response.data))\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/Relation');\r\n \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n setLoading(false);\r\n \r\n };\r\n \r\n let pageButton = \"Update\"\r\n\r\n if(!currentId)\r\n {\r\n pageButton = \"Save\"\r\n }\r\n\r\n /*if (loading) return ;*/\r\n return (\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n {/*
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return 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 {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n :\r\n\r\n }\r\n
\r\n \r\n\r\n
\r\n {currentLocationId && currentCompanyId ? \r\n : } \r\n \r\n Cancel\r\n\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);\r\n\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from 'react-redux';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Loader from \"../loader\";\r\nimport Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport '../../../src/custom.css'\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\n\r\n// Import Layout\r\nimport Layout from '../Layout';\r\n\r\n// Import static images\r\nimport Arrow_left from \"../../assets/images/Arrow_left.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport axios from \"axios\";\r\nimport { addGuideTypeData, updateGuideTypeData } from \"../../Redux/Actions/GuideActions\";\r\nimport { fetchAllGuideId } from \"../../Redux/Api/fetch.api\";\r\n\r\nconst Add = () => {\r\n const allGuideTypes = useSelector((state) => state.allGuideType.guideTypes)\r\n const [name, setName] = useState(\"\");\r\n const [desc, setDesc] = useState('');\r\n const [viewOrder, setViewOrder] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState({\r\n nameErr: ''\r\n })\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const [success,setSuccess] = useState(false);\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory(); \r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n useEffect(() => { \r\n let urlData = location.pathname.split('/'); \r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllGuideId(urlData[3]).then(\r\n response => { \r\n setName(response.data.data.name);\r\n setDesc(response.data.data.description);\r\n setCount(response.data.data.description.length)\r\n setViewOrder(response.data.data.viewOrder); \r\n setisActive(response.data.data.active)\r\n setLoading(false)\r\n })\r\n }\r\n }, [currentId])\r\n\r\n const addGuideType = async (params) => {\r\n if (params.name) {\r\n setLoading(true);\r\n const response = await axios.post(url.POST_GUIDETYPE, {\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n ViewOrder: params.viewOrder,\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addGuideTypeData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else { \r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/GuideType');\r\n setLoading(false);\r\n setDisable(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n }); \r\n }\r\n };\r\n\r\n const updateGuideType = async (params) => {\r\n if (name) {\r\n const response = await axios.put(url.UPDATE_GUIDETYPE, {\r\n guideTypeId: currentId,\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n ViewOrder: params.viewOrder,\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateGuideTypeData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/GuideType');\r\n setLoading(false);\r\n setDisable(true)\r\n }\r\n \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n \r\n }\r\n };\r\n\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n // initialize of the Values\r\n initialValues: {\r\n name: name ? name : '',\r\n desc: desc ? desc : '',\r\n viewOrder: viewOrder ? viewOrder : '', \r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name ').matches(\r\n \"^([A-Za-z0-9]+ )+[A-Za-z0-9]+$|^[A-Za-z0-9]+$\",\r\n \"Please enter valid Name\"\r\n ),\r\n desc: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Description\"\r\n ),\r\n viewOrder: Yup.string().required('Please Enter View order '),\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n setDisable(true)\r\n { currentId == undefined || currentId == null || currentId == isNaN ? addGuideType(values) : updateGuideType(values) };\r\n\r\n }\r\n });\r\n \r\n \r\n return (\r\n \r\n \r\n
\r\n {/* {loading ? : ''} */}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return false;\r\n }}>\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n {/* { setName(e.target.value) }} placeholder=\"Enter Your Name\"> */}\r\n { validation.handleChange(e), setName(e.target.value.trimLeft()) }}\r\n onBlur={validation.handleBlur} value={validation.values.name}\r\n invalid={\r\n validation.touched.name && validation.errors.name ? true : false\r\n }\r\n />\r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n { validation.handleChange(e), setCount(e.target.value.length), setDesc(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.desc}\r\n invalid={\r\n validation.touched.desc && validation.errors.desc ? true : false\r\n }\r\n />\r\n {count}/1000\r\n {validation.touched.desc && validation.errors.desc ? (\r\n {validation.errors.desc}\r\n ) : null}\r\n\r\n {/**/}\r\n {/*{count}/1000*/}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {validation.touched.viewOrder && validation.errors.viewOrder ? (\r\n {validation.errors.viewOrder}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n\r\n :\r\n\r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport axios from \"axios\"\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\n//import Message from 'antd-message';\r\nimport { Spinner } from \"reactstrap\";\r\n// import loading from \"../../assets/images/loading.gif\"\r\nimport Loader from \"../loader\";\r\n\r\n\r\n////#Developer\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\n// Import static images\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport Add1 from \"../../assets/images/Add.svg\";\r\nimport { METHODS } from \"http\";\r\nimport { addDeviceTypeData, updateDeviceTypeData } from \"../../Redux/Actions/DeviceActions\";\r\nimport { Formik, Field, useFormik } from 'formik';\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport * as Yup from 'yup';\r\nimport '../../../src/custom.css'\r\nimport { fetchAllDeviceId } from \"../../Redux/Api/fetch.api\";\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n\r\nconst Add = () => {\r\n const allDeviceTypes = useSelector((state) => state.allDeviceType.deviceTypes)\r\n\r\n const [name, setName] = useState(\"\");\r\n const [desc, setDesc] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState({\r\n nameErr: ''\r\n })\r\n const [isActive, setisActive] = useState(true)\r\n const [currentId, setCurrentId] = useState(null);\r\n const [checked, setChecked] = useState(true);\r\n const [count, setCount] = useState(0);\r\n const [disable, setDisable] = useState(false);\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n let history = useHistory();\r\n const handleChange = () => {\r\n setisActive(!isActive)\r\n }\r\n let pageButton = \"Update\"\r\n\r\n if (!currentId) {\r\n pageButton = \"Save\"\r\n }\r\n \r\n useEffect(() => {\r\n let urlData = location.pathname.split('/');\r\n setCurrentId(urlData[3])\r\n if (currentId) {\r\n setLoading(true)\r\n fetchAllDeviceId(urlData[3]).then(\r\n response => {\r\n setName(response.data.data.name);\r\n setDesc(response.data.data.description);\r\n setCount(response.data.data.description.length)\r\n setisActive(response.data.data.active)\r\n setLoading(false)\r\n })\r\n }\r\n }, [currentId])\r\n\r\n const addDeviceType = async (params) => {\r\n if (params.name) {\r\n const response = await axios.post(url.POST_DEVICETYPE, {\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n Active: isActive\r\n }).then(response => {\r\n dispatch(addDeviceTypeData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/DeviceType');\r\n setLoading(false);\r\n setDisable(true)\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n\r\n };\r\n const updateDeviceType = async (params) => {\r\n if (params.name) {\r\n const response = await axios.put(url.UPDATE_DEVICETYPE, {\r\n deviceTypeId: currentId,\r\n Name: params.name.trim(),\r\n Description: params.desc.trim(),\r\n Active: isActive,\r\n }).then(response => {\r\n dispatch(updateDeviceTypeData(response.data))\r\n if(!response.data.success) // False \r\n {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setLoading(false);\r\n setDisable(false)\r\n }\r\n else {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/DeviceType');\r\n setLoading(false);\r\n setDisable(true);\r\n } \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setDisable(false)\r\n });\r\n }\r\n };\r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n // initialize of the Values\r\n initialValues: {\r\n name: name ? name : '',\r\n desc: desc ? desc : ''\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n name: Yup.string().required('Please Enter Name ').matches(\r\n \"^([A-Za-z0-9]+ )+[A-Za-z0-9]+$|^[A-Za-z0-9]+$\",\r\n \"Please enter valid Name\"\r\n ),\r\n desc: Yup.string().matches(\r\n \"^(.|\\s)*[a-zA-Z]+(.|\\s)*$\",\r\n \"Please enter valid Description\"\r\n )\r\n }),\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n setDisable(true)\r\n { currentId == undefined || currentId == null || currentId == isNaN ? addDeviceType(values) : updateDeviceType(values) };\r\n \r\n }\r\n });\r\n \r\n // if (loading) return ;\r\n return (\r\n \r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n
\r\n
{\r\n e.preventDefault();\r\n \r\n validation.handleSubmit();\r\n return false;\r\n }}>\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n {/* { setName(e.target.value) }} className=\"form-control\" name=\"Name\" placeholder=\"Enter Your Area\"> */}\r\n { validation.handleChange(e), setName(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.name}\r\n invalid={\r\n validation.touched.name && validation.errors.name ? true : false\r\n }\r\n />\r\n {validation.touched.name && validation.errors.name ? (\r\n {validation.errors.name}\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n { validation.handleChange(e), setCount(e.target.value.length), setDesc(e.target.value.trim()) }}\r\n onBlur={validation.handleBlur} value={validation.values.desc}\r\n invalid={\r\n validation.touched.desc && validation.errors.desc ? true : false\r\n }\r\n />\r\n {count}/1000\r\n {validation.touched.desc && validation.errors.desc ? (\r\n {validation.errors.desc}\r\n ) : null}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {loading && currentId == undefined || currentId == null || currentId == isNaN ?\r\n\r\n :\r\n\r\n }\r\n
\r\n
\r\n \r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default connect()(Add);\r\n\r\n","export default __webpack_public_path__ + \"static/media/error-icon.150c3e67.svg\";","import React from \"react\";\r\nimport ImageUploader from \"react-images-upload\";\r\n\r\nconst UploadImage = (props) => {\r\n const onDrop = (pictureFiles, pictureDataURLs) => {\r\n const newImagesUploaded = pictureDataURLs.slice(\r\n props.defaultImages.length\r\n );\r\n props.handleChange(newImagesUploaded);\r\n debugger;\r\n //if (props.mediaTypeSelected) {\r\n // debugger;\r\n // props.setMediaTypeSelected(false)\r\n //} else {\r\n // debugger;\r\n // props.setMediaTypeSelected(true)\r\n //}\r\n };\r\n\r\n return (\r\n \r\n );\r\n\r\n}\r\n\r\nexport default UploadImage;","import React, { useState } from 'react';\r\nimport Webcam from \"react-webcam\";\r\n\r\n\r\nconst WebcamComponent = () => ;\r\n\r\nconst videoConstraints = {\r\n width: 220,\r\n height: 200,\r\n facingMode: \"user\"\r\n};\r\n\r\n// export const WebcamCapture = () => {\r\n\r\n// const [image,setImage]=useState('');\r\n// const webcamRef = React.useRef(null);\r\n\r\n \r\n// const capture = React.useCallback(\r\n// () => {\r\n// const imageSrc = webcamRef.current.getScreenshot();\r\n// setImage(imageSrc)\r\n// });\r\n// return (\r\n//
\r\n//
\r\n// {image == '' ? \r\n// : }\r\n//
\r\n//
\r\n// {image != '' ?\r\n// :\r\n// \r\n// }\r\n//
\r\n//
\r\n// );\r\n// };\r\n\r\n\r\nexport const WebcamCapture = ({images}) => {\r\n const webcamRef = React.useRef(null);\r\n const [imgSrcs, setImgSrcs] = React.useState([]);\r\n \r\n const capture = React.useCallback(() => {\r\n const imageSrc = webcamRef.current.getScreenshot();\r\n setImgSrcs(prev => [...prev, imageSrc]);\r\n images(imageSrc)\r\n }, [webcamRef, setImgSrcs]);\r\n \r\n const handleRemoveImgClick = () => {\r\n setImgSrcs((prevImgs) => prevImgs.slice(1));\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 {imgSrcs.map(imgSrc =>\r\n
\r\n X\r\n \r\n {console.log(\"image\",imgSrcs)}\r\n
\r\n )} \r\n
*/}\r\n \r\n );\r\n };\r\n ","import { CopyQRCodeId } from \"../Constants/CopyQRCode\";\r\n\r\nexport const copyQRCodeIdData = (copyData) => {\r\n return {\r\n type: CopyQRCodeId.SET_CopyQRCodeIdData,\r\n payload: copyData\r\n };\r\n};","export default __webpack_public_path__ + \"static/media/scan-qr.6d7a5d61.svg\";","export default __webpack_public_path__ + \"static/media/enter-qr.175f89a0.svg\";","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Loader from \"../loader\";\r\nimport '../QR/scan.css';\r\nimport Layout from '../Layout';\r\nimport { Select } from 'antd';\r\nimport { Tooltip } from \"antd\";\r\nimport AddVirtual from \"../../assets/images/Add.svg\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { checkQrVerifyStatus, fetchAllLocationByQRId, fetchNotMappedLocationId, fetchCompanyLocationMappingData, fetchCustomerData, fetchDeviceProducts, fetchGuideProducts, fetchLocationByQRCodeId, fetchLocationDataQr, copyAllQRDataById, fetchLocationProducts, fetchMediaData, fetchProducts, fetchQrCodeData, VerifyQrStatus } from '../../Redux/Api/fetch.api';\r\nimport { setLocationType } from '../../Redux/Actions/LocationActions';\r\nimport { QrReader } from \"react-qr-reader\";\r\nimport { Link } from 'react-router-dom';\r\nimport errorIcon from \"../../assets/images/error-icon.svg\";\r\nimport qrcodeduotone from \"../../assets/images/qrcode_duotone.svg\"\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Button from 'react-bootstrap/Button';\r\nimport ReactPlayer from \"react-player\";\r\nimport UploadImage from \"../QR/QRUpload\"\r\nimport { setDeviceTypes } from '../../Redux/Actions/DeviceActions';\r\nimport { setAreaTypes } from '../../Redux/Actions/AreaActions';\r\nimport { WebcamCapture } from '../QR/WebcamComponent'\r\nimport { updateLocationByQRCode } from '../../Redux/Actions/QR';\r\nimport { setMediaTypes } from '../../Redux/Actions/MediaActions';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport { copyQRCodeIdData } from \"../../Redux/Actions/CopyQRCode\";\r\nimport favoriteIcon from \"../../assets/images/favorite_star.png\";\r\nimport LoginImage from \"../../assets/images/login-image.png\";\r\nimport ScanQR from \"../../assets/images/scan-qr.svg\";\r\nimport EnterQR from \"../../assets/images/enter-qr.svg\";\r\nimport axios from 'axios';\r\nimport { setGuideTypes } from '../../Redux/Actions/GuideActions';\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport { setCompanyLocationMapping } from '../../Redux/Actions/CompanyLocationMapping';\r\nimport { verifyNotMappedLocation } from '../../Redux/Actions/CompanyLocationMapping';\r\nimport { fetchAllQrCodesWithThumbnail, AddQRCodes } from \"../../Redux/Api/fetch.api\";\r\nimport { getQrCodeThumbnail } from '../../Redux/Actions/QR';\r\nimport '../QrReview/QRReview.css'\r\n//import { Editor } from \"react-draft-wysiwyg\";\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from 'ckeditor5-build-classic-base64-upload';\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\nimport { addQrCodes } from \"../../Redux/Actions/QrCodeId\";\r\nimport { EditorState, ContentState } from 'draft-js';\r\n// import {HtmlToDraft} from 'draft-js-import-html';\r\nimport htmlToDraft from 'html-to-draftjs';\r\nconst { Option } = Select;\r\n//const TOAST_LIMIT = 1;\r\n\r\nconst AssignQR = () => {\r\n //const { toasts } = useToasterStore();\r\n //useEffect(() => {\r\n // toasts\r\n // .filter((t) => t.visible) // Only consider visible toasts\r\n // .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n // .forEach((t) => toast.dismiss(t.id)); // Dismiss � Use toast.remove(t.id) removal without animation\r\n //}, [toasts]);\r\n\r\n const allLocationTypes = useSelector((state) => state.allLocationType.location)\r\n const allDeviceTypes = useSelector((state) => state.allDeviceType.deviceTypes)\r\n const allAreaTypes = useSelector((state) => state.allAreaType.areaTypes);\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n const allGuideTypes = useSelector((state) => state.allGuideType.guideTypes)\r\n const allCompanyLocationMappingData = useSelector((state) => state.allCompanyLocationMapping.CompanyLocationMappingData)\r\n const [createModal, setCreateModal] = useState(false);\r\n const [disable, setDisable] = useState(false);\r\n const dispatch = useDispatch();\r\n const [copyQRCodeId, setCopyQRCodeId] = useState(\"Select QR\");\r\n let history = useHistory();\r\n const [loading, setLoading] = useState(true);\r\n const [getRadioButton, setGetRadioButton] = useState({ show: \"show\", selected: \"show\", });\r\n const [handleLocation, setHandleLocation] = useState(false);\r\n const [showCamera, setShowCamera] = useState(false);\r\n const [showEnter, setShowEnter] = useState(false);\r\n const [currentLocationId, setCurrentLocationId] = useState();\r\n const [verifyLocationId, setVerifyLocationId] = useState();\r\n const [currentCompanyId, setCurrentCompanyId] = useState();\r\n const [currentLocationIdShow, setCurrentLocationIdShow] = useState();\r\n const [currentDeviceTypeId, setCurrentDeviceTypeId] = useState();\r\n const [currentAreaTypeId, setCurrentAreaTypeId] = useState();\r\n const [currentMediaTypeId, setCurrentMediaTypeId] = useState();\r\n const [currentMediaTypeKey, setCurrentMediaTypeKey] = useState();\r\n const [currentGuideTypeId, setCurrentGuideTypeId] = useState();\r\n const [companyName, setCompanyName] = useState([]);\r\n const [locationName, setLocationName] = useState([]);\r\n const [countDesc, setCountDesc] = useState(0);\r\n const [showLocation, setShowLocation] = useState([]);\r\n const [showLocationNameByQR, setShowLocationNameByQR] = useState([]);\r\n const [deviceName, setDeviceName] = useState([]);\r\n const [areaName, setAreaName] = useState([]);\r\n const [copyModal, setCopyModal] = useState(false);\r\n const [mediaName, setMediaName] = useState([]);\r\n const [guideName, setGuideName] = useState([]);\r\n const [data, setData] = useState('No result');\r\n const [qrError, setQRError] = useState('');\r\n const [textError, setTextError] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [qrcodeError, setQrcodeError] = useState(false);\r\n const [validqrError, setValidQrError] = useState(false);\r\n const [videoMessage, setVideoMessage] = useState(false);\r\n const [currentCompanyLocationId, setcurrentCompanyLocationId] = useState();\r\n const [locationNameByQRId, setLocationNameByQRId] = useState();\r\n const [locationIdByQRId, setLocationIdByQRId] = useState(1);\r\n const [played, setPlayed] = useState(0);\r\n const [mediaTypeSelected, setMediaTypeSelected] = useState(false)\r\n const [id, setId] = useState();\r\n const [showQrDetail, setShowQrDetail] = useState(false);\r\n const [locationMapError, setLocationMapError] = useState(false);\r\n const [modal, setModal] = useState(false);\r\n const [qrModal, setQrModal] = useState(false);\r\n const [camera, setCamera] = useState(false);\r\n const [imgSrcs, setImgSrcs] = useState([]);\r\n const fileInputRef = useRef(null);\r\n const [show, setShow] = useState(true);\r\n const [images, setImages] = useState({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [\r\n ]\r\n }\r\n\r\n })\r\n const [urlMedia, setUrlMedia] = useState(\"\");\r\n const [desc, setDesc] = useState('');\r\n const InputRef = useRef();\r\n const [source, setSource] = useState();\r\n const [showVideo, setShowVideo] = useState();\r\n const [urlFormatError, setUrlFormatError] = useState(false);\r\n const [videoFormatError, setVideoFormatError] = useState(false);\r\n const [videoSizeError, setVideoSizeError] = useState(false);\r\n const [pdfMedia, setPdfMedia] = useState(\"\");\r\n const [videoMedia, setVideoMedia] = useState(\"\");\r\n const [showQrDropdown, setShowQrDropdown] = useState();\r\n const [pdfFileName, setPDFFileName] = useState(\"\");\r\n const [searchState, setSearchState] = useState()\r\n const [qrcode, setqrcode] = useState(\"\");\r\n //const [editorState, setEditorState] = useState(EditorState.createEmpty());\r\n //const [textMedia, setTextMedia] = useState(\"\");\r\n const [textMedia, setTextMedia] = useState(\"\");\r\n let mediaKey = '';\r\n\r\n const [videoFileName, setVideoFileName] = useState(\"\");\r\n const [error, setError] = useState({\r\n video: '',\r\n imagesErr: '',\r\n urlMediaErr: '',\r\n pdfMediaErr: '',\r\n // durationError: '',\r\n textMediaErr: '',\r\n\r\n })\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getDeviceTypeData();\r\n getAreaTypeDetails();\r\n getMediaTypeDetails();\r\n getGuideTypeDetails();\r\n getCompanyLocationMapping();\r\n getLocationDetails();\r\n getAllQRWithThumbnail();\r\n }, [])\r\n const getAllQRWithThumbnail = () => {\r\n\r\n fetchAllQrCodesWithThumbnail()\r\n .then(response => {\r\n dispatch(getQrCodeThumbnail(response.data));\r\n\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n //Data from Thumnbail action\r\n const allQrDataWithThumbnail = useSelector((state) => state.allQrDataWithThumbnail.qrCodeThumbnailData);\r\n const ProductName = allQrDataWithThumbnail.find(x => x.qRcodeId === parseInt(id))\r\n const [pdferror, setPdfError] = useState(\"\");\r\n const [mediaFiles, setMediaFiles] = useState([]);\r\n const [pdfData, setPdfData] = useState()\r\n //pdf onchanges\r\n const onPdfSaveData = (e) => {\r\n debugger;\r\n\r\n setPdfData(e.target.value.replace(/ /g, \"_\"))\r\n setUrlMedia()\r\n setVideoMedia()\r\n setVideoFileName('')\r\n setMediaFiles([])\r\n setTextMedia(\"\")\r\n const files = e.target.files[0];\r\n if (files && files.type == \"application/pdf\") {\r\n\r\n setPDFFileName(files.name.replace(/ /g, \"_\"));\r\n setPdfMedia(files)\r\n setMediaTypeSelected(true)\r\n }\r\n else {\r\n setPdfError(\"Only PDFs are valid.\")\r\n return;\r\n }\r\n setError('')\r\n setPdfError('')\r\n //setPDFFileName(\"\");\r\n\r\n };\r\n const errorShowClass = () => {\r\n\r\n setShow(!show);\r\n\r\n };\r\n\r\n //const onEditorStateChange = (editorState) => {\r\n // debugger;\r\n\r\n // setEditorState(editorState);\r\n // //setTextMedia(editorState);\r\n // setUrlMedia()\r\n // setVideoMedia()\r\n // setImages()\r\n // setImgSrcs([])\r\n\r\n\r\n // // setError('')\r\n\r\n\r\n //}\r\n\r\n const addQRCode = () => {\r\n\r\n if (qrcode) {\r\n setLoading(true)\r\n AddQRCodes(qrcode)\r\n .then(response => {\r\n\r\n dispatch(addQrCodes(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n })\r\n setLocationIdByQRId(response.data.data)\r\n setId(qrcode);\r\n // setqrcode(\"\")\r\n setValidQrError(false)\r\n setCreateModal(false);\r\n setDisable(false)\r\n\r\n }\r\n setLoading(false)\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(false)\r\n }\r\n\r\n\r\n }\r\n\r\n const setEditorReference = (ref) => {\r\n debugger;\r\n\r\n if (ref != null) {\r\n if (ref.innerText != \"\") {\r\n setTextMedia(ref.innerHTML);\r\n setTextError(false)\r\n }\r\n else {\r\n setTextError(true);\r\n }\r\n }\r\n else {\r\n setTextError(true);\r\n }\r\n }\r\n\r\n const radioButtonValueChange = (e) => {\r\n if (e.target.value === \"hide\") {\r\n setGetRadioButton({\r\n show: \"hide\",\r\n selected: e.target.value,\r\n });\r\n } else {\r\n setGetRadioButton({\r\n show: \"show\",\r\n selected: e.target.value,\r\n });\r\n }\r\n };\r\n\r\n const handleInputForDropdown = (e) => {\r\n const QRProductPresent = allQrDataWithThumbnail.filter((item) => item.qRcodeId.toString().startsWith(e) || item.qRcodeId.toString().includes(e))\r\n QRProductPresent.length > 0 ? setSearchState(\"Number\") : setSearchState(\"String\")\r\n }\r\n\r\n\r\n const emptyData = () => {\r\n if (source) {\r\n setPDFFileName(\"\");\r\n setPdfMedia(\"\");\r\n }\r\n\r\n }\r\n //for video onchange\r\n const handleFileChange = (event) => {\r\n debugger;\r\n setPDFFileName()\r\n setMediaFiles([])\r\n setPdfMedia()\r\n setTextMedia()\r\n if (event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n const size = file.size / 1024 / 1024;\r\n const url = URL.createObjectURL(file);\r\n setShowVideo(url);\r\n setSource(file.name);\r\n setVideoMedia(file);\r\n setVideoFileName(file.name);\r\n\r\n if (file.type == \"audio/mpeg\") {\r\n setVideoFormatError(true);\r\n setLoading(false)\r\n }\r\n else {\r\n setVideoFormatError(false)\r\n setError('');\r\n setMediaTypeSelected(true)\r\n // return;\r\n }\r\n\r\n if (size > 250) {\r\n setVideoSizeError(true);\r\n setLoading(false)\r\n }\r\n else {\r\n setVideoSizeError(false)\r\n setError('');\r\n setMediaTypeSelected(true)\r\n return;\r\n }\r\n }\r\n else {\r\n setSource();\r\n setShowVideo();\r\n setVideoMedia();\r\n setVideoFileName();\r\n setPDFFileName();\r\n setPdfMedia();\r\n setTextMedia();\r\n emptyData();\r\n\r\n\r\n }\r\n };\r\n\r\n const urlData = (e) => {\r\n setMediaFiles([]);\r\n setUrlMedia(e.target.value)\r\n var res = e.target.value.match('https?: \\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,}');\r\n if (res == null) {\r\n setUrlFormatError(true)\r\n } else {\r\n setUrlFormatError(false)\r\n setMediaTypeSelected(true)\r\n }\r\n setError('');\r\n }\r\n //for video\r\n const handleErrors = (e) => {\r\n\r\n e.preventDefault();\r\n let err = { ...error }\r\n if (source == undefined)\r\n err.video = \"Please select video\"\r\n if (mediaFiles == null)\r\n err.imagesErr = \"Please select image\"\r\n if (urlMedia == '')\r\n err.urlMediaErr = \"Please enter url\"\r\n if (pdfMedia == \"\")\r\n err.pdfMediaErr = \"Please select pdf\"\r\n //if (textMedia == \"\")\r\n // err.textMediaErr = \"Please enter text\"\r\n //const duration = Math.floor(played);\r\n //if (duration > 300) {\r\n // err.durationError = \"Duration of video must be less than 5 minutes\"\r\n // setLoading(false)\r\n //}\r\n setError(err)\r\n if (err.imagesErr != undefined) {\r\n err.imagesErr = \"Please select image\"\r\n return false;\r\n }\r\n\r\n //if (err.durationError != undefined) {\r\n // err.durationError = \"Duration of video must be less than 5 minutes\"\r\n // setLoading(false)\r\n // return false;\r\n //}\r\n //else {\r\n // return true;\r\n //}\r\n };\r\n //for image\r\n const handleChange = (files) => {\r\n debugger;\r\n const { pictures } = images.upload;\r\n\r\n setImages(\r\n {\r\n ...images,\r\n upload: {\r\n ...images.upload,\r\n pictures: [...pictures, ...files]\r\n },\r\n },\r\n () => {\r\n console.warn(\"It was added!\");\r\n }\r\n );\r\n setMediaFiles([...files]);\r\n setError('')\r\n setMediaTypeSelected(true)\r\n };\r\n\r\n const confirmUpload = (e) => {\r\n let result = handleErrors(e);\r\n return result\r\n };\r\n\r\n const handleEnterManualQR = async () => {\r\n setDisable(true)\r\n if (qrcode) {\r\n\r\n fetchLocationByQRCodeId(qrcode)\r\n .then(response => {\r\n //setLocationNameByQRId(response.data.data.name)\r\n //setLocationIdByQRId(response.data.data.locationId)\r\n if (response.data.success) {\r\n setLocationNameByQRId(response.data.data.name)\r\n setLocationIdByQRId(response.data.data.locationId)\r\n //toast.success(response.data.message, {\r\n // className: \"toastSuccess\",\r\n //},);\r\n setId(qrcode);\r\n }\r\n else {\r\n\r\n //toast.error(response.data.message, {\r\n // className: \"toastSuccess\",\r\n //},);\r\n setValidQrError(true)\r\n }\r\n // setqrcode()\r\n })\r\n\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n });\r\n }\r\n\r\n else {\r\n setQrcodeError(true)\r\n }\r\n\r\n }\r\n\r\n //upload the QR \r\n const onResult = async (result, error) => {\r\n if (!!result) {\r\n setShow(true);\r\n setData(result.text);\r\n var uri = result.text.toString();\r\n if (uri.indexOf(\"/\") > 0) { // Example : https://www.tekahelp.com/10000004\r\n var qrCode = uri.substring(uri.lastIndexOf('/') + 1);\r\n if (qrCode) {\r\n\r\n fetchLocationByQRCodeId(qrCode)\r\n .then(response => {\r\n setLocationNameByQRId(response.data.data.name)\r\n setLocationIdByQRId(response.data.data.locationId)\r\n if (response.data.success) {\r\n setId(qrCode);\r\n }\r\n else {\r\n debugger;\r\n setErrorMessage(\"Qr Code is not valid, please try again.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n });\r\n }\r\n else {\r\n setErrorMessage(\"Qr Code is not valid, please try again.\");\r\n }\r\n }\r\n else {\r\n setErrorMessage(\"Qr Code is not valid, please try again.\");\r\n }\r\n }\r\n (

{data}

)\r\n\r\n }\r\n\r\n const RedirecttoQREntries = () => {\r\n setCreateModal(true)\r\n }\r\n\r\n const handleCreateModalClose = () => {\r\n setCreateModal(false);\r\n };\r\n\r\n const handleError = (err) => {\r\n setData({ result: \"Device camera not found\", qrError: err.toString() })\r\n }\r\n\r\n \r\n\r\n const updateLocationByQRId = async (e) => {\r\n setLocationIdByQRId(parseInt(currentLocationIdShow));\r\n fetchAllLocationByQRId(id, currentLocationIdShow)\r\n .then(response => {\r\n dispatch(updateLocationByQRCode(response.data))\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n\r\n });\r\n };\r\n\r\n const getDeviceTypeData = () => {\r\n setLoading(true)\r\n fetchDeviceProducts()\r\n .then(response => {\r\n dispatch(setDeviceTypes(response.data))\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const handleCopyModalClose = () => {\r\n setCopyModal(false);\r\n };\r\n\r\n const handleAddLocation = () => {\r\n history.push(\"/Location\");\r\n setHandleLocation(true);\r\n }\r\n\r\n const getAreaTypeDetails = () => {\r\n setLoading(true)\r\n fetchProducts()\r\n .then(response => dispatch(setAreaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n const getMediaTypeDetails = () => {\r\n setLoading(true)\r\n fetchMediaData()\r\n .then(response => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getLocationDetails = () => {\r\n setLoading(true)\r\n fetchLocationProducts()\r\n .then(response => dispatch(setLocationType(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const verifyNotMappedLocations = (location) => {\r\n fetchNotMappedLocationId(location)\r\n .then(response => {\r\n dispatch(verifyNotMappedLocation(response.data))\r\n if (response.data.success) {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setLocationMapError(false)\r\n }\r\n else {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setTimeout(() => {\r\n history.push('/Relation');\r\n }, 4000)\r\n\r\n setLocationMapError(true)\r\n }\r\n })\r\n .catch((err) => console.log(\"error\", err))\r\n\r\n };\r\n\r\n const getGuideTypeDetails = () => {\r\n setLoading(true)\r\n fetchGuideProducts()\r\n .then(response => dispatch(setGuideTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getCompanyLocationMapping = () => {\r\n setLoading(true)\r\n fetchCompanyLocationMappingData()\r\n .then(response => dispatch(setCompanyLocationMapping(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getLocationData = (e) => {\r\n let locationDetails = allLocationTypes.find(x => x.locationId == e);\r\n if (locationDetails && locationDetails.name)\r\n setShowLocationNameByQR(locationDetails.name)\r\n if (locationDetails && locationDetails.locationId)\r\n setShowLocation(locationDetails.locationId)\r\n verifyNotMappedLocations(e);\r\n }\r\n\r\n const getDeviceDetails = (e) => {\r\n setCurrentDeviceTypeId(e.target.value)\r\n let deviceDetails = allDeviceTypes.find(x => x.deviceTypeId == e.target.value);\r\n { deviceDetails && deviceDetails.name ? setDeviceName(deviceDetails.name) : '' }\r\n\r\n }\r\n\r\n const getCompanyLocationTypeData = (e) => {\r\n setcurrentCompanyLocationId(e.target.value);\r\n if (e.target.value == \"0\")\r\n setCompanyName([])\r\n let companyLocationMappingData = allCompanyLocationMappingData.find(x => x.id == e.target.value);\r\n if (companyLocationMappingData)\r\n setCurrentLocationId(companyLocationMappingData.location.locationId); // get the selected location id\r\n if (e.target.value != \"0\") {\r\n setCompanyName(companyLocationMappingData.company.companyName)\r\n setLocationName(companyLocationMappingData.mappingName)\r\n setCurrentCompanyId(companyLocationMappingData.company.companyId)\r\n }\r\n }\r\n\r\n const getAreaDetails = (e) => {\r\n setCurrentAreaTypeId(e.target.value)\r\n let areaDetails = allAreaTypes.find(x => x.areaTypeId == e.target.value);\r\n { areaDetails && areaDetails.name ? setAreaName(areaDetails.name) : '' }\r\n }\r\n\r\n const getMediaDetails = (e) => {\r\n if (fileInputRef.current != null) { fileInputRef.current.value = ''; }\r\n if (InputRef.current != null) { InputRef.current.value = ''; }\r\n setCurrentMediaTypeId(e.target.value)\r\n let mediaDetails = allMediaTypes.find(x => x.mediaTypeId == e.target.value);\r\n if (mediaDetails && mediaDetails.name && mediaDetails.key) {\r\n setMediaName(mediaDetails.name)\r\n setCurrentMediaTypeKey(mediaDetails.key)\r\n }\r\n if (e.target.value === \"Select Media\") {\r\n setMediaName(\"Select Media\")\r\n setCurrentMediaTypeKey(\"Select Media\")\r\n setDesc(\"\");\r\n }\r\n\r\n setUrlMedia(\"\");\r\n setVideoMedia(\"\");\r\n setVideoFileName(\"\")\r\n setShowVideo(\"\");\r\n setPDFFileName(\"\");\r\n setSource();\r\n setPdfMedia(\"\");\r\n setTextMedia(\"\")\r\n }\r\n\r\n const getGuideDetails = (e) => {\r\n setCurrentGuideTypeId(e.target.value)\r\n let guideDetails = allGuideTypes.find(x => x.guideTypeId == e.target.value);\r\n { guideDetails && guideDetails.name ? setGuideName(guideDetails.name) : '' }\r\n }\r\n\r\n const copyMediaData = () => {\r\n debugger;\r\n const formData = new FormData();\r\n formData.append(\"secondaryQR\", id);\r\n formData.append(\"primaryQR\", copyQRCodeId);\r\n formData.append(\"QRCodeID\", id);\r\n // formData.append(\"QRDescription\", qrCodeDescription);\r\n // formData.append(\"Product_Name\", productData);\r\n copyAllQRDataById(formData).then(response => {\r\n dispatch(copyQRCodeIdData(formData))\r\n if (response.data.success) {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push('/QrReview');\r\n setModal(false);\r\n setCopyModal(false);\r\n setCopyQRCodeId(\"\");\r\n setCompanyName(\"\");\r\n }\r\n else {\r\n setCopyModal(false);\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n // setLoading(false);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n }\r\n\r\n const handleClear = () => {\r\n setCompanyName([]);\r\n setcurrentCompanyLocationId('');\r\n setLocationName(\"Select Location\");\r\n setcurrentCompanyLocationId(\"0\")\r\n }\r\n\r\n const handleImages = (data) => {\r\n setImgSrcs(prev => [...prev, data]);\r\n setCamera(false);\r\n setModal(true);\r\n }\r\n\r\n const handleClose = () => {\r\n setShowQrDetail(false);\r\n setModal(false);\r\n setQrModal(false);\r\n setId(false);\r\n setCamera(false);\r\n setCompanyName([]);\r\n setcurrentCompanyLocationId(\"\");\r\n setLocationName([]);\r\n setCurrentLocationId()\r\n setCurrentAreaTypeId(\"\");\r\n setCurrentGuideTypeId(\"\");\r\n setCurrentMediaTypeId(\"\");\r\n setCurrentDeviceTypeId(\"\");\r\n setShowVideo();\r\n setCurrentMediaTypeKey(\"\");\r\n setDesc(\"\");\r\n setCountDesc(\"\");\r\n setUrlFormatError(\"\");\r\n setUrlMedia(\"\");\r\n setTextMedia(\"\");\r\n // setEditorState(\"\");\r\n }\r\n\r\n const handleShow = () => {\r\n setQrModal(false);\r\n setModal(false);\r\n setCamera(false);\r\n setShowQrDetail(true);\r\n setcurrentCompanyLocationId(\"\");\r\n setCurrentAreaTypeId(\"\");\r\n setCurrentGuideTypeId(\"\");\r\n setCurrentMediaTypeId(\"\");\r\n setCurrentDeviceTypeId(\"\");\r\n setShowVideo();\r\n setCurrentMediaTypeKey(\"\");\r\n setDesc(\"\");\r\n setUrlFormatError(\"\");\r\n setUrlMedia(\"\");\r\n // setEditorState(\"\");\r\n }\r\n\r\n const handleQRModalShow = () => {\r\n setErrorMessage(\"\");\r\n setShowQrDetail(false);\r\n setQrModal(false);\r\n setCamera(false);\r\n setModal(true);\r\n //setSuccessMessage();\r\n }\r\n const handleCopyQRdata = () => {\r\n setCopyModal(true);\r\n };\r\n\r\n const handleRemoveImgClick = () => {\r\n setImgSrcs((prevImgs) => prevImgs.slice(1));\r\n }\r\n\r\n function b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n const saveMediaType = async (e) => {\r\n setLoading(true);\r\n debugger;\r\n let errResult = confirmUpload(e);\r\n if (errResult == true || !urlFormatError && !videoFormatError && !textError) {\r\n // setLoading(false);\r\n let isMedia = false;\r\n // setLoading(true);\r\n const formData = new FormData();\r\n //setLoading(true);\r\n //image\r\n mediaFiles.forEach((mFile) => {\r\n var imageUrl = mFile.split(\";\");\r\n var contentType = imageUrl[0].split(\":\")[1];\r\n var realData = imageUrl[2].split(\",\")[1];\r\n // Convert to blob\r\n var blob = b64toBlob(realData, contentType);\r\n const _fileData = new File([blob], imageUrl[1].substring(5)); // passing name \r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n })\r\n // for source / vedios\r\n if (source) {\r\n setMediaFiles([])\r\n setImages()\r\n\r\n const vedioData = new File([\r\n new Blob([videoMedia])\r\n ], videoFileName);\r\n formData.append(\"MediaFiles\", vedioData);\r\n isMedia = true;\r\n setVideoMessage(true);\r\n }\r\n // for PDF \r\n if (pdfMedia) {\r\n\r\n setMediaFiles([])\r\n setImages()\r\n const pdfData = new File([\r\n new Blob([pdfMedia])\r\n ], pdfFileName);\r\n formData.append(\"MediaFiles\", pdfData);\r\n isMedia = true;\r\n }\r\n\r\n // For TEXT\r\n\r\n if (textMedia) {\r\n setImages()\r\n isMedia = false;\r\n }\r\n formData.append(\"MediaData\", urlMedia);\r\n formData.append(\"locationId\", currentLocationId);\r\n formData.append(\"companyId\", currentCompanyId);\r\n formData.append(\"qRCode\", id);\r\n formData.append(\"deviceTypeId\", currentDeviceTypeId);\r\n formData.append(\"areaTypeId\", currentAreaTypeId);\r\n formData.append(\"guideTypeId\", currentGuideTypeId);\r\n formData.append(\"mediaTypeId\", currentMediaTypeId);\r\n formData.append(\"MediaTypeKey\", currentMediaTypeKey);\r\n //formData.append(\"description\", desc);\r\n formData.append(\"name\", 'abc');\r\n formData.append(\"IsMedia\", isMedia);\r\n\r\n if (mediaKey != \"Text\") {\r\n formData.append(\"description\", desc);\r\n }\r\n else {\r\n formData.append(\"description\", textMedia);\r\n }\r\n const response_ = await axios({\r\n method: 'post',\r\n url: url.SAVEMEDIA_QRDATA,\r\n data: formData,\r\n }).then(response => {\r\n debugger;\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setLoading(false);\r\n setVideoMessage(false);\r\n setUrlMedia(\"\");\r\n setPdfMedia(\"\");\r\n setPDFFileName();\r\n setVideoMedia(\"\");\r\n setSource(\"\");\r\n setTextMedia(\"\");\r\n // setEditorState(\"\");\r\n setCurrentAreaTypeId(\"\");\r\n setCurrentGuideTypeId(\"\");\r\n setCurrentMediaTypeId(\"\");\r\n setCurrentDeviceTypeId(\"\");\r\n setCurrentMediaTypeKey(\"\");\r\n setDesc(\"\");\r\n setCountDesc(\"\");\r\n setShowVideo(\"\");\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n\r\n setLoading(false);\r\n setImages({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: []\r\n }\r\n });\r\n setSource();\r\n setUrlMedia();\r\n setPdfMedia();\r\n setVideoMedia();\r\n setTextMedia(\"\");\r\n // setEditorState(\"\")\r\n }\r\n };\r\n\r\n const saveMediaData = async (e) => {\r\n debugger;\r\n setLoading(true);\r\n let errResult = confirmUpload(e);\r\n if (errResult == true || !urlFormatError && !videoFormatError || !textError) {\r\n let isMedia = false;\r\n const formData = new FormData();\r\n mediaFiles.forEach((mFile) => {\r\n var imageUrl = mFile.split(\";\");\r\n var contentType = imageUrl[0].split(\":\")[1];\r\n var realData = imageUrl[2].split(\",\")[1];\r\n // Convert to blob\r\n var blob = b64toBlob(realData, contentType);\r\n const _fileData = new File([blob], imageUrl[1].substring(5)); // passing name \r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n })\r\n // for source / vedios\r\n if (source) {\r\n const vedioData = new File([\r\n new Blob([videoMedia])\r\n ], videoFileName);\r\n formData.append(\"MediaFiles\", vedioData);\r\n isMedia = true;\r\n setVideoMessage(true);\r\n }\r\n // for PDF \r\n if (pdfMedia) {\r\n const pdfData = new File([\r\n new Blob([pdfMedia])\r\n ], pdfFileName);\r\n formData.append(\"MediaFiles\", pdfData);\r\n isMedia = true;\r\n }\r\n\r\n if (textMedia) {\r\n isMedia = false;\r\n }\r\n formData.append(\"MediaData\", urlMedia);\r\n formData.append(\"locationId\", currentLocationId);\r\n formData.append(\"companyId\", currentCompanyId);\r\n formData.append(\"qRCode\", id);\r\n formData.append(\"deviceTypeId\", currentDeviceTypeId);\r\n formData.append(\"areaTypeId\", currentAreaTypeId);\r\n formData.append(\"guideTypeId\", currentGuideTypeId);\r\n formData.append(\"mediaTypeId\", currentMediaTypeId);\r\n formData.append(\"MediaTypeKey\", currentMediaTypeKey);\r\n // formData.append(\"description\", desc);\r\n formData.append(\"name\", 'abc');\r\n formData.append(\"IsMedia\", isMedia)\r\n if (mediaKey != \"Text\") {\r\n formData.append(\"description\", desc);\r\n }\r\n else {\r\n formData.append(\"description\", textMedia);\r\n }\r\n const response_ = await axios({\r\n method: 'post',\r\n url: url.SAVEMEDIA_QRDATA,\r\n data: formData,\r\n }).then(response => {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setLoading(false);\r\n setVideoMessage(false);\r\n setUrlMedia(\"\");\r\n setPdfMedia(\"\");\r\n setVideoMedia(\"\");\r\n setSource(\"\");\r\n setTextMedia(\"\");\r\n //setEditorState(\"\");\r\n setCurrentMediaTypeId(\"\");\r\n setCurrentMediaTypeKey(\"\");\r\n setDesc(\"\")\r\n setCountDesc(\"\");\r\n setShowVideo(\"\");\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n\r\n setLoading(false);\r\n setImages({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: []\r\n }\r\n });\r\n setSource();\r\n setUrlMedia();\r\n setPdfMedia();\r\n setVideoMedia();\r\n setTextMedia();\r\n //setEditorState(\"\")\r\n }\r\n };\r\n\r\n const handleEditorChange = (event, editor) => {\r\n const data = editor.getData();\r\n setTextMedia(data);\r\n setTextError(data.trim() === '');\r\n };\r\n\r\n const selectMedia = (params) => {\r\n mediaKey = params\r\n switch (params) {\r\n case \"img\":\r\n return
\r\n
\r\n \r\n
\r\n
\r\n {imgSrcs.map(imgSrc =>\r\n
\r\n handleRemoveImgClick} >X\r\n \r\n
\r\n )}\r\n
\r\n {error ? {error.imagesErr} : \"\"}\r\n
;\r\n\r\n case \"vdo\":\r\n return
\r\n handleFileChange(e)}\r\n accept=\".mov,.mp4,.wmv,.avi,.MOV\"\r\n />\r\n {showVideo && showVideo.length > 0 ? {\r\n setPlayed(duration);\r\n }}\r\n /> : \"\"}\r\n {error ? {error.video} : \"\"}\r\n {/* {error ? {error.durationError} : \"\"}*/}\r\n {\r\n < small className=\"text-danger d-block mt-2\">{!videoFormatError ? ' ' : 'Invalid Format'}\r\n\r\n }\r\n {\r\n < small className=\"text-danger d-block mt-2\">{!videoSizeError ? ' ' : 'Size cannot exceed 250 MB'}\r\n\r\n }\r\n
;\r\n\r\n case \"url\":\r\n return
\r\n\r\n \r\n {error ? {error.urlMediaErr} : \"\"}\r\n {\r\n < small className=\"text-danger d-block mt-2\">{!urlFormatError ? ' ' : 'Invalid URL'}\r\n }\r\n\r\n
\r\n\r\n case \"pdf\":\r\n return
\r\n { onPdfSaveData(e) }} />\r\n {pdferror}\r\n {error ? {error.pdfMediaErr} : \"\"}\r\n
\r\n\r\n case \"Text\":\r\n return (\r\n
\r\n \r\n {textError ? Please Enter Text : \"\"}\r\n
\r\n );\r\n default:\r\n return
\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n {!id ?\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n {/*

Upload Medias

*/}\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 {!showEnter ?\r\n
\r\n
\r\n

Scan your QR code

\r\n
\r\n
\r\n \r\n
\r\n\r\n {\r\n errorMessage ?\r\n
\r\n
\r\n
\r\n
\r\n {errorMessage}\r\n
\r\n \r\n
\r\n
\r\n
\r\n : ''\r\n }\r\n\r\n < small className=\"qR-error-show text-danger d-block mt-2\">{errorMessage}\r\n {qrError}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n
: \"\"\r\n }\r\n
\r\n\r\n\r\n
\r\n {showEnter && !showCamera ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setDisable(false)\r\n const newValue = e.target.value.replace(/[^0-9]/g, '');\r\n setqrcode(e.target.value)\r\n if (e.target.value == \"Enter QRCode\") {\r\n setQrcodeError(true)\r\n }\r\n else {\r\n setQrcodeError(false)\r\n setValidQrError(false)\r\n }\r\n\r\n }} value={qrcode} />\r\n
\r\n
\r\n {qrcodeError ?\r\n

{!qrcodeError ? ' ' : 'Please Enter QRCode'}\r\n \r\n

: \"\"\r\n }\r\n\r\n {validqrError ?\r\n < p className=\"text-danger validation-msg d-block mb-2\">{validqrError ? 'QR Code Not found, Please create new one and then Try again' : ' '}\r\n \r\n

\r\n : \"\"\r\n }\r\n
\r\n {validqrError ?\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 : locationIdByQRId == 1 ?\r\n
\r\n
\r\n

Assign Location

\r\n
\r\n QR Code: {id}\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 {!locationMapError ?\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

Select Location

\r\n
\r\n
{id}
\r\n
{ProductName != null ? ProductName.product_Name : \"\"}
\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 {locationName && companyName && currentCompanyId && currentLocationId && currentCompanyLocationId != 0 ? : }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Assign Media to QR\r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • {locationName}
  • \r\n
  • {companyName}
  • \r\n
  • {ProductName != null ? ProductName.product_Name : \"\"}
  • \r\n
\r\n
\r\n
\r\n
\r\n QR Code: {id}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {locationName && companyName && id ? : }\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n Scan your QR code\r\n \r\n \r\n \r\n {qrError}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
Are you sure you want to link QR code?
\r\n
\r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n Camera\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Read QR Detail\r\n \r\n \r\n {loading ? : ''}\r\n
    \r\n
  • {locationName}
  • \r\n
  • {companyName}
  • \r\n
  • {id}
  • \r\n {/*
  • {ProductName.product_Name != null ? ProductName.product_Name : \"\"}
  • */}\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 {getRadioButton.show == \"hide\" ? (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n var productFound = allQrDataWithThumbnail.filter((item) => item.product_Name == e)\r\n if (productFound.length > 0) {\r\n setCopyQRCodeId(productFound[0].qRcodeId);\r\n }\r\n else {\r\n setCopyQRCodeId(e);\r\n }\r\n }}\r\n onSearch={(e) => {\r\n handleInputForDropdown(e)\r\n }}\r\n >\r\n \r\n {allQrDataWithThumbnail &&\r\n allQrDataWithThumbnail.map((QRCode, k) =>\r\n\r\n \r\n
\r\n
\r\n {QRCode.filename ?\r\n <>\r\n < img className=\"img-mapping\" src={QRCode.filename}>{QRCode.favorites == true ? : \"\"}\r\n \r\n :\r\n <>\r\n < img className=\"img-mapping\" src={LoginImage}>{QRCode.favorites == true ? : \"\"}\r\n }\r\n
\r\n
\r\n {QRCode.product_Name ? \r\n
{QRCode.product_Name}
\r\n
\r\n :
- NA -
}\r\n

{QRCode.qRcodeId}

\r\n \r\n

{QRCode.qR_Description}

\r\n
\r\n
\r\n
\r\n \r\n\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {id && copyQRCodeId && copyQRCodeId != \"Select QR\" ? copyMediaData()}\r\n >\r\n Link & Save\r\n : copyMediaData()} disabled\r\n >\r\n Link & Save\r\n }\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {getRadioButton.show == \"show\" ?\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 {currentMediaTypeKey != null && currentMediaTypeId != \"Select Media\" ?
{selectMedia(currentMediaTypeKey)}
: ''}\r\n
\r\n {videoMessage ? < small className=\"text-success d-block mt-2 alert-success video_message\">Video is Uploading, Please Wait : \"\"}\r\n {mediaKey != \"Text\" ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {countDesc}/1000\r\n
\r\n
\r\n
\r\n
: \"\"\r\n }\r\n
\r\n {currentDeviceTypeId && currentDeviceTypeId != \"0\" && mediaTypeSelected && currentAreaTypeId && currentAreaTypeId != 'Select Area' && currentGuideTypeId != 'Select Guide' && currentGuideTypeId && currentMediaTypeId && currentMediaTypeId != 'Select Media' && !videoFormatError && !videoSizeError && !urlFormatError || textMedia != \"\" && !textError\r\n ? \r\n : }\r\n\r\n {currentDeviceTypeId && currentDeviceTypeId != \"0\" && mediaTypeSelected && currentAreaTypeId && currentAreaTypeId != 'Select Area' && currentGuideTypeId != 'Select Guide' && currentAreaTypeId && currentGuideTypeId && currentMediaTypeId && currentMediaTypeId != 'Select Media' && !videoFormatError && !videoSizeError && !urlFormatError || textMedia != \"\" && !textError\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
Are you sure you want to add QR code?
\r\n
\r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\nexport default AssignQR","import { CompanyLocationMapping } from \"../Constants/CompanyLocationMapping\";\r\nexport const setCompanyLocationMapping = (CompanyLocationMappingData) => {\r\n return {\r\n type: CompanyLocationMapping.SET_COMPANYLOCATIONMAPPING,\r\n payload: CompanyLocationMappingData\r\n };\r\n};\r\n\r\nexport const verifyNotMappedLocation = (CompanyLocationMappingData) => {\r\n return {\r\n type: CompanyLocationMapping.GET_NOTMAPPEDLOCATION,\r\n payload: CompanyLocationMappingData\r\n };\r\n};\r\n","import React from \"react\";\r\nimport ImageUploader from \"react-images-upload\";\r\n\r\nconst UploadComponent = (props) => {\r\n const onDrop = (pictureFiles, pictureDataURLs) => {\r\n const newImagesUploaded = pictureDataURLs.slice( props.defaultImages.length);\r\n props.handleChange(newImagesUploaded);\r\n //for save section conditions\r\n if (newImagesUploaded.length > 0) {\r\n props.setConditionalStyleImage(false)\r\n props.setUploadMedia((prev) => ({ ...prev, image: false }))\r\n } else {\r\n props.setConditionalStyleImage(true)\r\n props.setUploadMedia((prev) => ({ ...prev, image: true }))\r\n }\r\n }; \r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default UploadComponent;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport PDF from \"../../UserAssets/images/pdf-icn.svg\";\r\nimport downloadIcon from \"../../UserAssets/images/download-icn.svg\";\r\nimport favoriteIcon from \"../../assets/images/favorite_star.png\";\r\nimport Loader from \"../loader\";\r\nimport Layout from \"../Layout\";\r\nimport AddVirtual from \"../../assets/images/Add.svg\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport \"../../../src/custom.css\";\r\nimport { Tooltip } from \"antd\";\r\nimport { Checkbox, Select } from 'antd';\r\nimport { getQrCodeThumbnail, getVirtualQRCode } from '../../Redux/Actions/QR';\r\nimport LoginImage from \"../../assets/images/login-image.png\";\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport { Link } from \"react-router-dom\";\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport {\r\n fetchAllQRByLocationId, fetchDeviceProducts, fetchAllLocationByCompanyId, fetchGuideProducts,\r\n fetchCompanyDetails, fetchMediaData, fetchProducts, fetchVirtualQRCode,copyAllQRDataById,fetchAllQrCodesWithThumbnail} from \"../../Redux/Api/fetch.api\";\r\nimport {\r\n fetchAllQrCodes, fetchAllQrId} from \"../../Redux/Api/fetch.api\";\r\nimport { setDeviceTypes } from \"../../Redux/Actions/DeviceActions\";\r\nimport { setAreaTypes } from \"../../Redux/Actions/AreaActions\";\r\nimport { setGuideTypes } from \"../../Redux/Actions/GuideActions\";\r\nimport { getQrCodeData } from \"../../Redux/Actions/QR\";\r\nimport { setMediaTypes } from \"../../Redux/Actions/MediaActions\";\r\nimport { SetCompanyDetails } from \"../../Redux/Actions/CompanyActions\";\r\nimport { getAllLocationByCompanyId } from \"../../Redux/Actions/LocationByCompany\";\r\nimport { getAllQRByLocationId } from \"../../Redux/Actions/qrByLocationId\";\r\nimport UploadComponent from \"../QR/upload\";\r\nimport axios from \"axios\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport ReactPlayer from \"react-player\";\r\nimport UrlImage from \"../../UserAssets/images/attach.png\";\r\nimport { copyQRCodeIdData } from \"../../Redux/Actions/CopyQRCode\";\r\nimport ErrorOutlineOutlinedIcon from '@mui/icons-material/ErrorOutlineOutlined';\r\nimport '../QrReview/QRReview.css'\r\nimport { Editor } from \"react-draft-wysiwyg\";\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\nimport { EditorState, ContentState } from 'draft-js';\r\nimport htmlToDraft from 'html-to-draftjs';\r\nimport IndexQrDetails from \"../QrReview/index.js\";\r\n\r\nlet PAGE_SIZE = 1;\r\nconst { Option } = Select;\r\nconst TOAST_LIMIT = 1;\r\n\r\nconst Add = () => {\r\n let locationObject = useLocation(); \r\n const iswithmasterqr = locationObject.state\r\n ? locationObject.state.iswithmasterqr \r\n : \"\"; \r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const allQrDataWithThumbnail = useSelector((state) => state.allQrDataWithThumbnail.qrCodeThumbnailData);\r\n const allDeviceTypes = useSelector((state) => state.allDeviceType.deviceTypes );\r\n const allAreaTypes = useSelector((state) => state.allAreaType.areaTypes);\r\n const allGuideTypes = useSelector((state) => state.allGuideType.guideTypes); \r\n const allCompanyDataDetails = useSelector((state) => state.allCompanyDetails.company);\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n const selectedCompanyLocations = useSelector((state) => state.allLocationByCompany.allLocationByCompanyId);\r\n const selectedQrByLocation = useSelector((state) => state.allQRByLocationId.allQRByLocation); \r\n const [countQr, setCountQr] = useState(0);\r\n const [countProduct, setCountProduct] = useState(0);\r\n const [countDevice, setCountDevice] = useState(0);\r\n const [played, setPlayed] = useState(0);\r\n const [getRadioButton, setGetRadioButton] = useState({show: \"show\",selected: \"show\",});\r\n const [productData, setProductData] = useState()\r\n const [countArea, setCountArea] = useState(0);\r\n const [countGuide, setCountGuide] = useState(0);\r\n const [countMedia, setCountMedia] = useState(0);\r\n const [countText, setCountText] = useState(0);\r\n const [videoSizeError, setVideoSizeError] = useState(false);\r\n const [isChecked, setIsChecked] = useState(false);\r\n const [zoomFilename, setZoomFilename] = useState();\r\n const [zoomVideo, setZoomVideo] = useState();\r\n const [showQrDropdown, setShowQrDropdown] = useState();\r\n const [qrInfoSearch, setQrInfoSearch] = useState()\r\n const [assignBtnDisable, setAssignBtnDisable] = useState(true);\r\n const [mediaTypeIdToFilter, setMediaTypeIdToFilter] = useState();\r\n let qrCodeToUpdate = {};\r\n \r\n const priorityList = [{ name: \"0\", value: 0 }, { name: \"1\", value: 1 }, { name: \"2\", value: 2 }, { name: \"3\", value: 3 }, { name: \"4\", value: 4 }, { name: \"5\", value: 5 }, { name: \"6\", value: 6 },];\r\n const [loading, setLoading] = useState(false);\r\n const [currentDeviceTypeId, setCurrentDeviceTypeId] = useState();\r\n const [currentAreaTypeId, setCurrentAreaTypeId] = useState();\r\n const [currentVirtualqrcode, setCurrentVirtualqrcode] = useState();\r\n const [showVirtualqrcode, setShowVirtualqrcode] = useState();\r\n const [currentGuideTypeId, setCurrentGuideTypeId] = useState();\r\n const [currentCompanyId, setCurrentCompanyId] = useState(0);\r\n const [currentLocationId, setCurrentLocationId] = useState(0);\r\n const [currentMediaTypeId, setCurrentMediaTypeId] = useState();\r\n const [currentMediaTypeKey, setCurrentMediaTypeKey] = useState();\r\n const [deviceName, setDeviceName] = useState([]);\r\n const [areaName, setAreaName] = useState([]);\r\n const [guideName, setGuideName] = useState([]);\r\n const [deviceDescription, setDeviceDescription] = useState();\r\n const [currentQRCodeId, setCurrentQRCodeId] = useState(\"Select QR\");\r\n const [copyQRCodeId, setCopyQRCodeId] = useState(\"Select QR\");\r\n const [qrCodeDescription, setQrCodeDescription] = useState();\r\n const [areaDescription, setAreaDescription] = useState();\r\n const [mediaName, setMediaName] = useState([]);\r\n const [guideDescription, setGuideDescription] = useState();\r\n const [ifAddingQrCode, setifAddingQrCode] = useState(true);\r\n const [pdfLink, setpdfLink] = useState();\r\n const [country, setCountry] = useState();\r\n const [state, setState] = useState();\r\n const [city, setCity] = useState();\r\n const [postalCode, setPostalCode] = useState();\r\n const [address, setAddress] = useState();\r\n const [priority, setPriority] = useState();\r\n const [header, setHeader] = useState();\r\n const [changeCount, setChangeCount] = useState(0);\r\n const [mediaIdToUpdate, setMediaIdToUpdate] = useState();\r\n const [qrcodeToAdd, setqrcodeToAdd] = useState();\r\n const [modal, setModal] = useState(false);\r\n const [showmodal, setShowModal] = useState(false);\r\n const [videoModal, setVideoModal] = useState(false);\r\n const [copyModal, setCopyModal] = useState(false);\r\n const [virtualModal, setVirtualModal] = useState(false);\r\n const [filteredMediaData, setFilteredMediaData] = useState([]);\r\n const [videoFormatError, setVideoFormatError] = useState(false);\r\n const [hasMoreThumbnail, setHasMoreThumbnail] = useState(true)\r\n const [imgSrcs, setImgSrcs] = useState([]);\r\n const dispatch = useDispatch();\r\n const [filteredResults, setFilteredResults] = useState();\r\n const [images, setImages] = useState({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [\r\n ],\r\n },\r\n });\r\nconst [AssignError,setAssignError] = useState(false)\r\n const [editorState, setEditorState] = useState(EditorState.createEmpty());\r\n const [textMedia, setTextMedia] = useState(\"\");\r\n let mediaKey = '';\r\n const [urlMedia, setUrlMedia] = useState(\"\"); \r\n const [mediaDesc, setMediaDesc] = useState(\"\");\r\n const [mediaFilename, setMediaFilename] = useState(\"\");\r\n const InputRef = useRef();\r\n const [source, setSource] = useState();\r\n const [showVideo, setShowVideo] = useState();\r\n const [urlFormatError, setUrlFormatError] = useState(false);\r\n const [videoMedia, setVideoMedia] = useState(\"\");\r\n const [videoFileName, setVideoFileName] = useState(\"\");\r\n const [pdfFileName, setPDFFileName] = useState(\"\");\r\n const [pdfMedia, setPdfMedia] = useState(\"\");\r\n let history = useHistory();\r\n const [checkedListOfMedia, setCheckedListOfMedia] = useState([]);\r\n const [selectedMediaList, setSelectedMediaList] = useState([]);\r\n const [hasMore, setHasMore] = useState(false);\r\n //States for Conditional Styling in case of error\r\n const [conditionalStyleQR, setConditionalStyleQR] = useState(false)\r\n const [conditionalStyleDevice, setConditionalStyleDevice] = useState(false)\r\n const [conditionalStyleCompany, setConditionalStyleCompany] = useState(false)\r\n const [conditionalStyleLocation, setConditionalStyleLocation] = useState(false)\r\n const [conditionalStyleArea, setConditionalStyleArea] = useState(false)\r\n const [conditionalStyleGuide, setConditionalStyleGuide] = useState(false)\r\n const [conditionalStyleUpload, setConditionalStyleUpload] = useState(false)\r\n const [conditionalStyleHeader, setConditionalStyleHeader] = useState(false)\r\n const [conditionalStylePriority, setConditionalStylePriority] = useState(false)\r\n const [conditionalStyleImage, setConditionalStyleImage] = useState(false)\r\n const [conditionalStyleVideo, setConditionalStyleVideo] = useState(false)\r\n const [conditionalStylePdf, setConditionalStylePdf] = useState(false)\r\n const [conditionalStyleUrl, setConditionalStyleUrl] = useState(false)\r\n //state to automatically close the Link QR section \r\n const [closeLinkSection, setCloseLinkSection] = useState(0)\r\n const [error, setError] = useState({\r\n video: \"\",\r\n imagesErr: \"\",\r\n urlMediaErr: \"\",\r\n pdfMediaErr: \"\",\r\n //durationError: \"\",\r\n textMediaError:\"\"\r\n });\r\n\r\n const [dataErrorShow, setDataErrorShow] = useState({\r\n companyErr: \"\",\r\n locationErr: \"\",\r\n qrcodeErr: \"\",\r\n deviceErr: \"\",\r\n areaErr: \"\",\r\n guideErr: \"\",\r\n mediaErr: \"\",\r\n priorityErr: \"\",\r\n subPriorityErr: \"\",\r\n headerErr: \"\",\r\n });\r\n const [mediaFiles, setMediaFiles] = useState([]);\r\n const getAllQRWithThumbnail = () => {\r\n fetchAllQrCodesWithThumbnail()\r\n .then(response => {\r\n dispatch(getQrCodeThumbnail(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n const getAllQRCodes = () => {\r\n fetchAllQrCodes({\r\n })\r\n .then((response) => {\r\n dispatch(getQrCodeData(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n //for video\r\n const handleFileChange = (event) => {\r\n \r\n setPdfMedia()\r\n setUrlMedia()\r\n setImages()\r\n setImgSrcs([])\r\n if(event.target.files.length>0){ \r\n const file = event.target.files[0];\r\n const url = URL.createObjectURL(file);\r\n const size = file.size / 1024 / 1024;\r\n setSource(file.name);\r\n setShowVideo(url);\r\n setVideoMedia(file);\r\n setVideoFileName(file.name);\r\n if (file.type == \"audio/mpeg\") {\r\n setVideoFormatError(true);\r\n setConditionalStyleVideo(true)\r\n setUploadMedia((prev) => ({ ...prev, video: true }))\r\n } \r\n else {\r\n setError(\"\");\r\n setVideoFormatError(false);\r\n setConditionalStylePdf(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setConditionalStyleVideo(false) \r\n \r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n //return;\r\n }\r\n\r\n if (size > 250) {\r\n setVideoSizeError(true);\r\n setConditionalStyleVideo(true)\r\n setUploadMedia((prev) => ({ ...prev, video: true }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }\r\n else {\r\n setError(\"\");\r\n setVideoSizeError(false)\r\n setConditionalStylePdf(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setConditionalStyleVideo(false)\r\n\r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n return;\r\n }\r\n setChangeCount(changeCount + 1);\r\n }\r\n else{ \r\n setSource();\r\n setShowVideo();\r\n setVideoMedia();\r\n setVideoFileName();\r\n setConditionalStyleVideo(true)\r\n }\r\n };\r\n\r\n const handleErrors = (e) => {\r\n \r\n e.preventDefault();\r\n let err = { ...error };\r\n \r\n setError(err);\r\n if (err.imagesErr != \"\" && err.imagesErr != undefined && ifAddingQrCode) {\r\n setConditionalStyleImage(true)\r\n return false;\r\n }\r\n if (!ifAddingQrCode && err.imagesErr != \"\" && err.imagesErr != undefined) {\r\n setUploadMedia((prev) => ({ image: true }))\r\n }\r\n if (header == null && priority == null) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n\r\n if (videoSizeError == true) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianupload: true }))\r\n }\r\n \r\n else {\r\n return true;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n \r\n //setLoading(true);\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 2000);\r\n getDeviceTypeData();\r\n getCompanyDetails();\r\n allQRByLocation();\r\n getAllQRCodes();\r\n getAllQRWithThumbnail();\r\n // getAllLocationByCompany();\r\n getAreaTypeDetails();\r\n getMediaTypeDetails();\r\n getGuideTypeDetails()\r\n let urlData = location.pathname.split(\"/\");\r\n\r\n if (urlData[4] && urlData[6] && urlData[4] !== 0 && urlData[6] !== 0) {\r\n setCurrentQRCodeId(urlData[4]);\r\n setMediaIdToUpdate(urlData[6]);\r\n setqrcodeToAdd(urlData[4]);\r\n\r\n setifAddingQrCode(false);\r\n // setLoading(false);\r\n }\r\n\r\n }, []);\r\n useEffect(() => {\r\n setUploadMedia((prev) => ({ ...prev, image: false, video: false, pdf: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: false, activeAccordianDevice: false, activeAccordianGuides: false, activeAccordianHeader: false, activeAccordianQR: false, activeAccordianUpload: false }))\r\n }, [])\r\n\r\n useEffect(() => { \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }, [iswithmasterqr])\r\n\r\n //Searching operation on dropdown\r\n const [searchState, setSearchState] = useState()\r\n const handleInputForDropdown = (e) => {\r\n const QRProductPresent = allQrDataWithThumbnail.filter((item) => item.qRcodeId.toString().startsWith(e) || item.qRcodeId.toString().includes(e))\r\n QRProductPresent.length > 0 ? setSearchState(\"Number\") : setSearchState(\"String\")\r\n }\r\n const radioButtonValueChange = (e) => {\r\n if (e.target.value === \"show\") {\r\n setGetRadioButton({\r\n show: \"show\",\r\n selected: e.target.value,\r\n });\r\n } else {\r\n setGetRadioButton({\r\n show: \"hide\",\r\n selected: e.target.value,\r\n });\r\n }\r\n };\r\n\r\n const handleInputForQRInfo = (e) => {\r\n \r\n const QRInfoProduct = selectedQrByLocation.filter((item) => item.qRcodeId.toString().startsWith(e) || item.qRcodeId.toString().includes(e) )\r\n QRInfoProduct.length > 0 ? setQrInfoSearch(\"Number\") : setQrInfoSearch(\"String\")\r\n }\r\n\r\n const showDataError = (e) => {\r\n e.preventDefault();\r\n\r\n \r\n let errors = { ...dataErrorShow };\r\n if (videoSizeError && mediaIdToUpdate) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }\r\n if (ifAddingQrCode) {\r\n if (!currentCompanyId && currentCompanyId == 0) {\r\n setConditionalStyleCompany(true)\r\n }\r\n if (!currentCompanyId && currentCompanyId == 0 || closeLinkSection == 0 || currentQRCodeId == \"Select QR\" || currentDeviceTypeId == null || currentAreaTypeId == null || currentGuideTypeId == null || currentMediaTypeId == null || checkedListOfMedia < 1 || priority == null || header == null) {\r\n setCloseLinkSection(1)\r\n }\r\n if (currentLocationId == 0) {\r\n setConditionalStyleLocation(true)\r\n }\r\n \r\n if (currentDeviceTypeId == null) {\r\n setConditionalStyleDevice(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: true }))\r\n }\r\n if (currentAreaTypeId == null) {\r\n setConditionalStyleArea(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n }\r\n if (currentGuideTypeId == null) {\r\n setConditionalStyleGuide(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: true }))\r\n }\r\n if (currentMediaTypeId == null && checkedListOfMedia < 1) {\r\n setConditionalStyleUpload(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }\r\n if (priority == null || priority == \"Select Priority\") {\r\n setConditionalStylePriority(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n if (header == null) {\r\n setConditionalStyleHeader(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n }\r\n \r\n setDataErrorShow(errors);\r\n //if (ifAddingQrCode) {\r\n // if (errors.companyErr) {\r\n // errors.companyErr = \"Please select Company & Location\";\r\n // return false;\r\n // }\r\n // if (errors.locationErr) {\r\n // errors.locationErr = \"Please select Location\";\r\n // return false;\r\n // }\r\n // if (errors.qrcodeErr) {\r\n // errors.qrcodeErr = \"Please select QR Code\";\r\n // return false;\r\n // }\r\n // if (errors.areaErr) {\r\n // errors.areaErr = \"Please select Area\";\r\n // return false;\r\n // }\r\n // if (errors.guideErr) {\r\n // errors.guideErr = \"Please select Guide\";\r\n // return false;\r\n // }\r\n // if (errors.mediaErr) {\r\n // errors.mediaErr = \"Please Add Media\";\r\n // return false;\r\n // }\r\n // if (errors.priorityErr) {\r\n // errors.priorityErr = \"Please select Priority & Header\";\r\n // return false;\r\n // }\r\n //}\r\n if (errors.headerErr) {\r\n errors.headerErr = \"Please Enter Header\";\r\n return false;\r\n }\r\n if (errors.priorityErr) {\r\n errors.priorityErr = \"Please select Priority & Header\";\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const mediaFilterChangeHndlr = (mediaTypeId) => {\r\n PAGE_SIZE = 1;\r\n setMediaTypeIdToFilter(mediaTypeId);\r\n const emptyArray = [];\r\n getMediaDataForModal(mediaTypeId, true);\r\n };\r\n\r\n //for image\r\n const handleImageUploadChange = (files) => {\r\n \r\n setUrlMedia()\r\n setPdfMedia()\r\n setVideoMedia()\r\n const { pictures } = images.upload;\r\n if (!ifAddingQrCode) {\r\n setCurrentMediaTypeId(1); // for image type as this method is an en event handler for image upload\r\n }\r\n setImages(\r\n {\r\n ...images,\r\n upload: {\r\n ...images.upload,\r\n pictures: [...pictures, ...files],\r\n },\r\n },\r\n );\r\n setMediaFiles([...files]);\r\n setChangeCount(changeCount + 1);\r\n setError(\"\");\r\n setConditionalStylePdf(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStyleVideo(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setUploadMedia((prev) => ({ ...prev, image: false, video: false, url: false, pdf: false }))\r\n setImgSrcs([]);\r\n };\r\n const confirmUpload = (e) => {\r\n let result = handleErrors(e);\r\n return result;\r\n };\r\n\r\n useEffect(() => {\r\n \r\n setLoading(true)\r\n\r\n let urlData = location.pathname.split(\"/\");\r\n fetchAllQrId(urlData[4]).then(response => {\r\n qrCodeToUpdate = response.data.data.find((q) => q.mediaId == urlData[6]);\r\n setCurrentQRCodeId(urlData[4]);\r\n if (qrCodeToUpdate.guideTypeId)\r\n setCurrentGuideTypeId(qrCodeToUpdate.guideTypeId);\r\n setCurrentAreaTypeId(qrCodeToUpdate.areaTypeId);\r\n setCurrentDeviceTypeId(qrCodeToUpdate.deviceTypeId);\r\n // setUpdateGuideid(qrCodeToUpdate.guideTypeId);\r\n // Company & Location\r\n if (qrCodeToUpdate && qrCodeToUpdate.companyId)\r\n setCurrentCompanyId(qrCodeToUpdate.companyId);\r\n if (qrCodeToUpdate && qrCodeToUpdate.locationId)\r\n setCurrentLocationId(qrCodeToUpdate.locationId);\r\n if (qrCodeToUpdate && qrCodeToUpdate.address)\r\n setAddress(qrCodeToUpdate.address);\r\n if (qrCodeToUpdate && qrCodeToUpdate.state)\r\n setState(qrCodeToUpdate.state);\r\n if (qrCodeToUpdate && qrCodeToUpdate.city)\r\n setCity(qrCodeToUpdate.city);\r\n if (selectedCompanyLocations && selectedCompanyLocations.length > 0) {\r\n setCurrentLocationId(qrCodeToUpdate.locationId);\r\n let countryObj = selectedCompanyLocations.find(\r\n (c) => c.locationId == qrCodeToUpdate.locationId\r\n );\r\n if (countryObj) {\r\n setCountry(countryObj.location.country);\r\n setPostalCode(countryObj.location.postalCode);\r\n }\r\n }\r\n // media\r\n if (allMediaTypes && allMediaTypes.length > 0) {\r\n \r\n if (qrCodeToUpdate.mediaKey == \"pdf\" && !iswithmasterqr) {\r\n setPdfPresent(qrCodeToUpdate.mediaTypeId)\r\n }\r\n if (qrCodeToUpdate.mediaKey == \"img\" && !iswithmasterqr) {\r\n setImgPresent(qrCodeToUpdate.mediaTypeId)\r\n }\r\n if (!iswithmasterqr) {\r\n setCurrentMediaTypeId(qrCodeToUpdate.mediaTypeId);\r\n setMediaDesc(qrCodeToUpdate.mediaDescription);\r\n }\r\n if (qrCodeToUpdate.mediaDescription != null && !iswithmasterqr)\r\n setCountMedia(qrCodeToUpdate.mediaDescription.length);\r\n setMediaFilename(qrCodeToUpdate.filename);\r\n let mediaDetails = allMediaTypes.find(\r\n (x) => x.mediaTypeId == qrCodeToUpdate.mediaTypeId\r\n );\r\n\r\n if (mediaDetails && mediaDetails.name && !iswithmasterqr)\r\n setMediaName(mediaDetails.name);\r\n if (mediaDetails && mediaDetails.key && !iswithmasterqr)\r\n setCurrentMediaTypeKey(mediaDetails.key);\r\n if (qrCodeToUpdate.mediaKey === \"img\" && !iswithmasterqr)\r\n setImgSrcs([qrCodeToUpdate.filename]);\r\n if (qrCodeToUpdate.mediaKey === \"vdo\" && !iswithmasterqr)\r\n setShowVideo([qrCodeToUpdate.filename]);\r\n if (qrCodeToUpdate.mediaKey === \"pdf\" && !iswithmasterqr)\r\n setpdfLink(qrCodeToUpdate.filename);\r\n if (qrCodeToUpdate.mediaKey === \"url\" && !iswithmasterqr) {\r\n setUrlMedia(qrCodeToUpdate.filename);\r\n }\r\n if (qrCodeToUpdate.mediaKey === \"Text\" && !iswithmasterqr) {\r\n setTextMedia(qrCodeToUpdate.mediaDescription);\r\n }\r\n }\r\n\r\n if (priorityList && qrCodeToUpdate.priority && priorityList.length > 0 || qrCodeToUpdate.priority == 0) {\r\n setPriority(qrCodeToUpdate.priority);\r\n }\r\n \r\n if (qrCodeToUpdate.header) {\r\n setHeader(qrCodeToUpdate.header);\r\n\r\n }\r\n if (qrCodeToUpdate.header == null || qrCodeToUpdate.priority == \"Select Priority\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n\r\n setLoading(false)\r\n });\r\n }, [mediaIdToUpdate]);\r\n\r\n \r\n const [imgPresent, setImgPresent] = useState()\r\n const [pdfpresent, setPdfPresent] = useState()\r\n\r\n useEffect(() => {\r\n getDeviceTypeData();\r\n }, [currentQRCodeId]);\r\n \r\n useEffect(() => { \r\n getAreaTypeDetails();\r\n }, [currentQRCodeId]);\r\n\r\n useEffect(() => {\r\n getGuideTypeDetails()\r\n }, [currentQRCodeId]);\r\n\r\n useEffect(() => {\r\n if (currentCompanyId > 0)\r\n getAllLocationByCompany();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n \r\n if (currentCompanyId > 0)\r\n allQRByLocation();\r\n }, [currentLocationId]);\r\n\r\n useEffect(() => {\r\n if (allGuideTypes && allGuideTypes.length > 0) {\r\n // setCurrentGuideTypeId(qrCodeToUpdate.guideTypeId);\r\n let guideType = allGuideTypes.find(\r\n (g) => g.guideTypeId == currentGuideTypeId\r\n );\r\n if (guideType && guideType.name)\r\n setGuideName(guideType.name);\r\n if (guideType && guideType.description)\r\n setGuideDescription(guideType.description);\r\n if (guideType && guideType.description)\r\n setCountGuide(guideType.description.length);\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n if (allAreaTypes && allAreaTypes.length > 0) \r\n {\r\n //setCurrentAreaTypeId(qrCodeToUpdate.areaTypeId);\r\n let areaType = allAreaTypes.find(\r\n (a) => a.areaTypeId == currentAreaTypeId\r\n );\r\n if (areaType && areaType.name)\r\n setAreaName(areaType.name);\r\n if (areaType && areaType.description)\r\n setAreaDescription(areaType.description);\r\n if (areaType && areaType.description)\r\n setCountArea(areaType.description.length);\r\n }\r\n\r\n })\r\n\r\n useEffect(() => {\r\n if (allDeviceTypes && allDeviceTypes.length > 0) {\r\n // setCurrentDeviceTypeId(qrCodeToUpdate.deviceTypeId);\r\n let deviceType = allDeviceTypes.find(\r\n (a) => a.deviceTypeId == currentDeviceTypeId\r\n );\r\n if (deviceType && deviceType.name) setDeviceName(deviceType.name);\r\n if (deviceType && deviceType.description)\r\n setDeviceDescription(deviceType.description);\r\n if (deviceType && deviceType.description)\r\n setCountDevice(deviceType.description.length);\r\n }\r\n\r\n })\r\n\r\n useEffect(() => {\r\n if (selectedQrByLocation && selectedQrByLocation.length > 0) { \r\n let qrcodedeDesc = selectedQrByLocation.find(\r\n (q) => q.qRcodeId == currentQRCodeId\r\n ); \r\n if (qrcodedeDesc && qrcodedeDesc.description) {\r\n setQrCodeDescription(qrcodedeDesc.description);\r\n setCountQr(qrcodedeDesc.description.length);\r\n }\r\n if (qrcodedeDesc && qrcodedeDesc.product_Name) {\r\n setProductData(qrcodedeDesc.product_Name);\r\n setCountProduct(qrcodedeDesc.product_Name.length);\r\n }\r\n }\r\n\r\n }, [selectedQrByLocation]);\r\n\r\n const createVirtualQRCode = () => { \r\n fetchVirtualQRCode()\r\n .then(response => { \r\n dispatch(getVirtualQRCode(response.data.data));\r\n setCurrentVirtualqrcode(response.data.data);\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n setCurrentQRCodeId(0)\r\n setProductData(\"\");\r\n setQrCodeDescription(\"\");\r\n setVirtualModal(false);\r\n //setConditionalStylePriority(false)\r\n \r\n })\r\n }\r\n\r\n const getDeviceTypeData = () => {\r\n fetchDeviceProducts()\r\n .then((response) => {\r\n dispatch(setDeviceTypes(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n const getAreaTypeDetails = () => {\r\n fetchProducts()\r\n .then((response) => {\r\n dispatch(setAreaTypes(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n const getGuideTypeDetails = () => { \r\n fetchGuideProducts()\r\n .then(response => {\r\n \r\n dispatch(setGuideTypes(response.data)) \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n const getCompanyDetails = () => {\r\n fetchCompanyDetails()\r\n .then((response) => {\r\n dispatch(SetCompanyDetails(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n const allQRByLocation = () => {\r\n fetchAllQRByLocationId(currentLocationId)\r\n .then((response) => dispatch(getAllQRByLocationId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getAllLocationByCompany = () => {\r\n fetchAllLocationByCompanyId(currentCompanyId)\r\n .then((response) => {\r\n dispatch(getAllLocationByCompanyId(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getMediaTypeDetails = () => {\r\n fetchMediaData()\r\n .then((response) => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n const getDeviceDetails = (e) => {\r\n setCurrentDeviceTypeId(e.target.value);\r\n setCopyQRCodeId(\"\");\r\n let deviceDetails = allDeviceTypes.find(\r\n (x) => x.deviceTypeId == e.target.value\r\n );\r\n if (deviceDetails && deviceDetails.name) {\r\n setDeviceName(deviceDetails.name)\r\n setDeviceDescription(deviceDetails.description)\r\n setCountDevice(deviceDetails.description.length)\r\n }\r\n if (e.target.value == \"Select Device\" || e.target.value == 0) {\r\n setDeviceName(\"Select Device\")\r\n setDeviceDescription(\"\")\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n const getQRCodeDetails = (e) => {\r\n \r\n setCurrentQRCodeId(e);\r\n let qrCode = selectedQrByLocation.find((q) => q.qRcodeId == e);\r\n if (qrCode && qrCode.description) {\r\n setQrCodeDescription(qrCode.description);\r\n // setProductData(qrCode.product_Name);\r\n }\r\n else {\r\n setQrCodeDescription(\"\");\r\n\r\n }\r\n if (qrCode && qrCode.product_Name) {\r\n setProductData(qrCode.product_Name);\r\n }\r\n \r\n if (qrCode && qrCode.product_Name) {\r\n setCountProduct(qrCode.product_Name.length);\r\n }\r\n if (e == \"Select QR\" || e == \"0\") {\r\n setCurrentQRCodeId(\"Select QR\")\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n //For Area Details\r\n const getAreaDetails = (e) => {\r\n setCurrentAreaTypeId(e.target.value);\r\n let areaDetails = allAreaTypes.find((x) => x.areaTypeId == e.target.value);\r\n if (areaDetails && areaDetails.name) {\r\n setAreaName(areaDetails.name);\r\n setAreaDescription(areaDetails.description)\r\n setCountArea(areaDetails.description.length)\r\n }\r\n if (e.target.value == \"Select Area\" || e.target.value == 0) {\r\n setAreaName(\"Select Area\")\r\n setAreaDescription(\"\")\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n //For Guide Details\r\n const getGuideDetails = (e) => {\r\n setCurrentGuideTypeId(e.target.value);\r\n let guideDetails = allGuideTypes.find(\r\n (x) => x.guideTypeId == e.target.value\r\n );\r\n guideDetails ? setGuideName(guideDetails.name) : setGuideName(\"\");\r\n guideDetails ? setGuideDescription(guideDetails.description) : setGuideDescription(\"\");\r\n if (guideDetails && guideDetails.description) {\r\n setCountGuide(guideDetails.description.length)\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n const getMediaDetailsUpload = (e) => {\r\n const MediaChanges = e.target.value\r\n setCurrentMediaTypeId(e.target.value)\r\n let mediaDetails = allMediaTypes.find(\r\n (x) => x.mediaTypeId == MediaChanges\r\n );\r\n if (mediaDetails && mediaDetails.name) {\r\n setMediaName(mediaDetails.name);\r\n setCurrentMediaTypeKey(mediaDetails.key);\r\n mediaDetails.mediaDescription ? setMediaDesc(mediaDetails.mediaDescription) : \"\";\r\n }\r\n if (e.target.value == \"Select Media\") {\r\n setMediaName(\"Select Media\")\r\n selectMedia(\"Select Media\")\r\n //setMediaDesc(\"\")\r\n }\r\n setDataErrorShow(\"\");\r\n }\r\n const getMediaDetails = (e) => {\r\n let mediaDetails = allMediaTypes.find(\r\n (x) => x.mediaTypeId == e.target.value\r\n );\r\n if (mediaDetails && mediaDetails.name) {\r\n setMediaName(mediaDetails.name);\r\n setCurrentMediaTypeKey(mediaDetails.key);\r\n mediaDetails.mediaDescription ? setMediaDesc(mediaDetails.mediaDescription) : \"\";\r\n }\r\n if (e.target.value == \"Select Media\") {\r\n setMediaName(\"Select Media\")\r\n selectMedia(\"Select Media\")\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n\r\n //For location in Company Section\r\n const getLocationDetails = (e) => {\r\n \r\n setCurrentLocationId(e.target.value);\r\n let locationDetails = selectedCompanyLocations.find(\r\n (loc) => loc.locationId == e.target.value\r\n );\r\n if (locationDetails && locationDetails.location.address) \r\n setAddress(locationDetails.location.address);\r\n if (locationDetails && locationDetails.location.city) {\r\n setCity(locationDetails.location.city);\r\n }\r\n else {\r\n setCity(\"\")\r\n }\r\n if (locationDetails && locationDetails.location.postalCode) {\r\n setPostalCode(locationDetails.location.postalCode);\r\n }\r\n else {\r\n setPostalCode(\"\");\r\n }\r\n if (locationDetails && locationDetails.location.state) {\r\n setState(locationDetails.location.state);\r\n }\r\n else {\r\n setState(\"\");\r\n }\r\n \r\n if (locationDetails && locationDetails.location.country) {\r\n setCountry(locationDetails.location.country);\r\n }\r\n else {\r\n setCountry(\"\");\r\n }\r\n \r\n if (e.target.value == \"Select Location\") {\r\n setCurrentLocationId(\"Select Location\")\r\n setAddress(\"\");\r\n setCity(\"\");\r\n setPostalCode(\"\");\r\n setState(\"\");\r\n setCountry(\"\");\r\n }\r\n setDataErrorShow(\"\"); \r\n };\r\n const handleCheckMedia = (mediaId, filename, mediaTypeName) => {\r\n \r\n var updatedList = [...checkedListOfMedia];\r\n\r\n if (event.target.checked) {\r\n updatedList = [\r\n ...checkedListOfMedia,\r\n { mediaId: mediaId, fileName: filename, mediaTypeName: mediaTypeName },\r\n ];\r\n } else {\r\n updatedList.splice(\r\n checkedListOfMedia.findIndex((x) => x.mediaId == mediaId),\r\n 1\r\n );\r\n setAssignBtnDisable(true);\r\n }\r\n if (updatedList.length > 0) setAssignBtnDisable(false);\r\n else {\r\n setAssignBtnDisable(true);\r\n }\r\n setCheckedListOfMedia([...updatedList]);\r\n };\r\n\r\n const CompanyDetails = (e) => {\r\n \r\n \r\n setCurrentCompanyId(e.target.value);\r\n setCurrentLocationId(\"\");\r\n setShowQrDropdown(true);\r\n setCurrentQRCodeId(\"\");\r\n setProductData(\"\");\r\n setQrCodeDescription(\"\");\r\n setCopyQRCodeId(\"\");\r\n \r\n \r\n let locationDetails = selectedCompanyLocations.find(\r\n (loc) => loc.locationId == e.target.value\r\n );\r\n if (!locationDetails)\r\n setCurrentLocationId(\"\")\r\n if (locationDetails && locationDetails.location.address) {\r\n setAddress(locationDetails.location.address);\r\n }\r\n else {\r\n setAddress(\"\")\r\n }\r\n if (locationDetails && locationDetails.location.city) {\r\n setCity(locationDetails.location.city);\r\n }\r\n else {\r\n setCity(\"\")\r\n }\r\n if (locationDetails && locationDetails.location.postalCode) {\r\n setPostalCode(locationDetails.location.postalCode);\r\n }\r\n else {\r\n setPostalCode(\"\");\r\n }\r\n if (locationDetails && locationDetails.location.state) {\r\n setState(locationDetails.location.state);\r\n }\r\n else {\r\n setState(\"\");\r\n }\r\n if (locationDetails && locationDetails.location.country) {\r\n setCountry(locationDetails.location.country);\r\n }\r\n else {\r\n setCountry(\"\");\r\n }\r\n \r\n if (e.target.value == \"Select Company\") {\r\n setCurrentCompanyId(\"Select Company\")\r\n setCurrentLocationId(\"\")\r\n setAddress(\"\");\r\n setCity(\"\");\r\n setPostalCode(\"\");\r\n setState(\"\");\r\n setCountry(\"\");\r\n }\r\n\r\n setDataErrorShow(\"\");\r\n };\r\n\r\n const handleRemoveImgClick = () => {\r\n setImgSrcs((prevImgs) => prevImgs.slice(1));\r\n };\r\n\r\n const getMediaDataForModal = (mediaTypeIdToFilter, resetTable = false) => {\r\n const API_URL = url.GET_ALLMEDIA + `/${PAGE_SIZE}/${mediaTypeIdToFilter}`;\r\n axios\r\n .get(API_URL)\r\n .then((response) => {\r\n const mediaDataFromDB = response.data.data.mediaList;\r\n const totalCount = response.data.data.totalCount;\r\n const currentDataLength = [...filteredMediaData, ...mediaDataFromDB]\r\n .length;\r\n if (mediaDataFromDB.length > 0 && currentDataLength < totalCount)\r\n setHasMore(true);\r\n else setHasMore(false);\r\n if (!resetTable) {\r\n setFilteredMediaData([...filteredMediaData, ...mediaDataFromDB]);\r\n } else {\r\n setFilteredMediaData([...mediaDataFromDB]);\r\n }\r\n PAGE_SIZE = PAGE_SIZE + 1;\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const handleRemoveMediaClick = (mediaId) => { \r\n let selectedMediaArray = [...selectedMediaList];\r\n selectedMediaArray.splice(\r\n selectedMediaArray.findIndex((x) => x.mediaId == mediaId),\r\n 1\r\n );\r\n setSelectedMediaList([...selectedMediaArray]);\r\n setCheckedListOfMedia([...selectedMediaArray]);\r\n };\r\n const urlDataMedia = (e) => {\r\n \r\n setPdfMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n setUrlMedia(e.target.value);\r\n var res = e.target.value.match(\r\n \"https?: //(?:www.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].[^s]{2,}|www.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].[^s]{2,}|https?://(?:www.|(?!www))[a-zA-Z0-9]+.[^s]{2,}|www.[a-zA-Z0-9]+.[^s]{2,}\"\r\n );\r\n if (res == null) {\r\n setConditionalStyleUrl(true)\r\n setUploadMedia((prev) => ({ ...prev, url: true }))\r\n } else {\r\n setConditionalStyleImage(false)\r\n setConditionalStyleVideo(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setConditionalStylePdf(false)\r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n }\r\n setError(\"\");\r\n };\r\n const [updateSection, setUpdateSection] = useState({ activeAccordianHeader: false, activeAccordianDevice: false, activeAccordianArea: false, activeAccordianGuides: false, activeAccordianUpload: false, activeAccordianQR: false })\r\n const [uploadMedia, setUploadMedia] = useState({ image: false, pdf: false, video: false, url: false, text: false })\r\n\r\n const onPdfSaveData = (e) => {\r\n \r\n setUrlMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n setTextMedia()\r\n const files = e.target.files[0];\r\n setPDFFileName(files.name.replace(/ /g, \"_\"));\r\n setPdfMedia(files);\r\n setError(\"\");\r\n setConditionalStylePdf(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStyleVideo(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setUploadMedia((prev) => ({ ...prev, pdf: false, image: false, video: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setChangeCount(changeCount + 1);\r\n };\r\n function b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || \"\";\r\n sliceSize = sliceSize || 512;\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n \r\n const onEditorStateChange = (editorState) => {\r\n \r\n \r\n setEditorState(editorState);\r\n setUrlMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n \r\n setConditionalStylePdf(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStyleVideo(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleUpload(false)\r\n setUploadMedia((prev) => ({ ...prev, pdf: false, image: false, video: false, url: false, text: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setChangeCount(changeCount + 1);\r\n }\r\n\r\n const setEditorReference = (ref) => {\r\n \r\n if (ref != null) {\r\n if (ref.innerText != \"\") {\r\n setTextMedia(ref.innerHTML);\r\n }\r\n else {\r\n setError(\"Media text should not be empty.\");\r\n }\r\n }\r\n else {\r\n setError(\"Media text should not be empty.\");\r\n }\r\n }\r\n \r\n\r\n const getMediaData = () => {\r\n\r\n \r\n const formData = new FormData();\r\n let isMedia = false;\r\n // convert base64 to fileData // this is for images\r\n //image\r\n mediaFiles.forEach((mFile) => {\r\n var imageUrl = mFile.split(\";\");\r\n\r\n var contentType = imageUrl[0].split(\":\")[1];\r\n var realData = imageUrl[2].split(\",\")[1];\r\n // Convert to blob\r\n var blob = b64toBlob(realData, contentType);\r\n const _fileData = new File([blob], imageUrl[1].substring(5)); // passing name\r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n });\r\n\r\n // for source / vedios\r\n if (source) {\r\n const vedioData = new File([new Blob([videoMedia])], videoFileName);\r\n formData.append(\"MediaFiles\", vedioData);\r\n isMedia = true;\r\n }\r\n\r\n // for PDF\r\n if (pdfMedia) {\r\n const pdfData = new File([new Blob([pdfMedia])], pdfFileName);\r\n formData.append(\"MediaFiles\", pdfData);\r\n isMedia = true;\r\n }\r\n\r\n // For TEXT\r\n\r\n if (textMedia) {\r\n isMedia = false;\r\n }\r\n\r\n if (ifAddingQrCode || iswithmasterqr) {\r\n // Add \r\n if (currentVirtualqrcode)\r\n formData.append(\"VirtualQRid\", currentVirtualqrcode)\r\n if (checkedListOfMedia.length > 0)\r\n formData.append(\"QRCode\", currentQRCodeId);\r\n else if (currentQRCodeId)\r\n formData.append(\"QRCodeID\", currentQRCodeId); \r\n formData.append(\"QRDescription\", qrCodeDescription);\r\n formData.append(\"Product_Name\", productData);\r\n formData.append(\"MediaData\", urlMedia);\r\n /* if (subPriority) formData.append(\"SubPriority\", subPriority);*/\r\n formData.append(\"LocationID\", currentLocationId);\r\n formData.append(\"CompanyId\", currentCompanyId);\r\n formData.append(\"DeviceDescription\", deviceDescription);\r\n formData.append(\"GuideDescription\", guideDescription);\r\n formData.append(\"AreaDescription\", areaDescription);\r\n formData.append(\"DeviceTypeId\", currentDeviceTypeId);\r\n formData.append(\"AreaTypeId\", currentAreaTypeId);\r\n formData.append(\"GuideTypeId\", currentGuideTypeId);\r\n formData.append(\"MediaTypeKey\", currentMediaTypeKey);\r\n if (currentMediaTypeId)\r\n formData.append(\"MediaTypeId\", currentMediaTypeId); \r\n if (checkedListOfMedia.length > 0)\r\n formData.append(\"Description\", mediaDesc);\r\n formData.append(\"name\", \"abc\");\r\n formData.append(\"deviceName\", deviceName);\r\n formData.append(\"areaName\", areaName);\r\n formData.append(\"guideName\", guideName);\r\n formData.append(\"IsMedia\", isMedia);\r\n if (checkedListOfMedia.length > 0)\r\n formData.append(\"PriorityQRSupport\", priority);\r\n else formData.append(\"PriorityQr\", priority);\r\n formData.append(\"Header\", header);\r\n if (mediaIdToUpdate) formData.append(\"MediaId\", mediaIdToUpdate);\r\n if (checkedListOfMedia.length > 0)\r\n formData.append(\r\n \"mediaIdsStr\",\r\n checkedListOfMedia.map((x) => x.mediaId).toString()\r\n );\r\n // New Changes\r\n if (mediaKey != \"Text\"){\r\n formData.append(\"MediaDescription\", mediaDesc);\r\n }\r\n else{\r\n formData.append(\"MediaDescription\", textMedia);\r\n }\r\n //End\r\n }\r\n return formData;\r\n };\r\n\r\n const handleBtnClick = () => {\r\n setModal(true);\r\n };\r\n\r\n const handleImageShow = (filename) => {\r\n setShowModal(true);\r\n setZoomFilename(filename);\r\n setModal(false);\r\n };\r\n const handleVideoShow = (filename) => {\r\n setVideoModal(true);\r\n setZoomVideo(filename);\r\n setModal(false);\r\n };\r\n const handleImageClose = () => {\r\n setShowModal(false);\r\n setModal(true);\r\n };\r\n\r\n const handleVideoClose = () => {\r\n setVideoModal(false);\r\n setModal(true);\r\n };\r\n\r\n const handleCopyModalClose = () => {\r\n setCopyModal(false);\r\n };\r\n\r\n const handleVirtualModalClose = () => {\r\n setVirtualModal(false);\r\n };\r\n const handleClose = () => {\r\n setModal(false);\r\n };\r\n const handleProductName = (e) => {\r\n \r\n setProductData(e.target.value)\r\n setCountProduct(e.target.value.length)\r\n let error = { ...dataErrorShow };\r\n if (e.target.value.trim() != \"\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: false }))\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: true }))\r\n }\r\n setDataErrorShow(error);\r\n }\r\n\r\n const handleDescription = (e) => {\r\n setQrCodeDescription(e.target.value),\r\n setCountQr(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n if (e.target.value.trim() != \"\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: false }))\r\n }\r\n else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: true }))\r\n }\r\n }\r\n const handleHeaderOnChange = (e) => {\r\n \r\n setChangeCount(changeCount + 1);\r\n setHeader(e.target.value);\r\n setCountText(e.target.value.length);\r\n let error = { ...dataErrorShow };\r\n if (priority != undefined && priority != \"Select priority\" && priority != null) {\r\n setConditionalStyleHeader(false)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: false }))\r\n } else {\r\n setConditionalStyleHeader(true)\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n } \r\n setDataErrorShow(error);\r\n };\r\n\r\n \r\n const assignBtnHndlr = () => {\r\n setModal(false);\r\n toast.success(\"All the medias are successfully Assigned to QRCode, To Save Please Click on Save button\", {\r\n className: \"toastSuccess\",\r\n }); \r\n setSelectedMediaList([...checkedListOfMedia]); \r\n if (checkedListOfMedia.length < 1) { \r\n setAssignError(true)\r\n }\r\n else { \r\n setAssignError(false)\r\n setConditionalStyleUpload(false)\r\n setConditionalStyleImage(false)\r\n setConditionalStylePdf(false)\r\n setConditionalStyleUrl(false)\r\n setConditionalStyleVideo(false)\r\n }\r\n \r\n setDataErrorShow(\"\");\r\n };\r\n const uncheckcheckbox = () => {\r\n \r\n var items = document.getElementsByName(\"acs\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i].type == \"checkbox\")\r\n items[i].checked = false;\r\n }\r\n setCheckedListOfMedia([]);\r\n setSelectedMediaList([]);\r\n setAssignBtnDisable(true);\r\n };\r\n\r\n const saveMediaType = async (e) => {\r\n debugger;\r\n let errResult = confirmUpload(e);\r\n let iffieldserror = showDataError(e); \r\n setLoading(true); \r\n const formData = getMediaData();\r\n if (iffieldserror === true && checkedListOfMedia.length > 0)\r\n {\r\n setLoading(false);\r\n // const formData = getMediaData();\r\n setLoading(true);\r\n if (ifAddingQrCode === true && checkedListOfMedia.length > 0) {\r\n const response_ = await axios({\r\n method: \"post\",\r\n url: url.SAVELISTOFMEDIA_QRDATA,\r\n data: formData,\r\n }).then((response) => {\r\n setSource();\r\n setLoading(false);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setLoading(false);\r\n history.push(\"/QrReview\");\r\n });\r\n setLoading(false);\r\n setImages({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [],\r\n },\r\n });\r\n setSource();\r\n setUrlMedia();\r\n setPdfMedia();\r\n setDataErrorShow(\"\");\r\n }\r\n }\r\n else if (iffieldserror === true && errResult === true && checkedListOfMedia.length <= 0 \r\n && !conditionalStyleQR\r\n && !conditionalStyleDevice\r\n && !conditionalStyleCompany\r\n && !conditionalStyleLocation\r\n && !conditionalStyleArea\r\n && !conditionalStyleGuide\r\n && !conditionalStyleUpload\r\n \r\n && !conditionalStylePriority\r\n && !conditionalStyleImage\r\n && !conditionalStyleVideo\r\n && !conditionalStylePdf \r\n && !conditionalStyleUrl\r\n && !updateSection.activeAccordianUpload \r\n && !videoSizeError\r\n && priority != null\r\n // && !updateSection.activeAccordianHeader\r\n /* || iswithmasterqr*/\r\n // \r\n ) { \r\n setLoading(true);\r\n const response_ = await axios({\r\n method: \"post\",\r\n url: url.SAVEQRDETAILS_QRDATA,\r\n data: formData,\r\n })\r\n .then((response) => {\r\n \r\n setSource();\r\n setLoading(false);\r\n if (currentVirtualqrcode && !showQrDropdown) {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push(\"/VirtualQRReview\");\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n history.push(\"/QrReview\");\r\n }\r\n setLoading(false);\r\n })\r\n\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n\r\n // setLoading(false);\r\n setImages({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [],\r\n },\r\n });\r\n setSource();\r\n setUrlMedia();\r\n setPdfMedia();\r\n setDataErrorShow(\"\");\r\n }\r\n setLoading(false);\r\n };\r\n \r\n const handleCopyQRdata = () => {\r\n setCopyModal(true);\r\n };\r\n\r\n const handleVirtualQRdata = () => {\r\n setVirtualModal(true);\r\n setShowQrDropdown(false);\r\n };\r\n\r\n const showActualDropdown = () => {\r\n \r\n setShowQrDropdown(true);\r\n setCurrentVirtualqrcode(\"\");\r\n setProductData(\"\");\r\n setCountProduct(\"\");\r\n setQrCodeDescription(\"\");\r\n setCountQr(\"\");\r\n };\r\n const copyMediaData = () => {\r\n const formData = new FormData();\r\n formData.append(\"secondaryQR\", currentQRCodeId);\r\n formData.append(\"primaryQR\", copyQRCodeId);\r\n formData.append(\"QRCodeID\", currentQRCodeId);\r\n formData.append(\"QRDescription\", qrCodeDescription);\r\n formData.append(\"Product_Name\", productData);\r\n copyAllQRDataById(formData).then(response => {\r\n dispatch(copyQRCodeIdData(formData))\r\n if (response.data.success) {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setProductData(\" \")\r\n history.push(\"/QrReview\");\r\n setLoading(false);\r\n }\r\n else {\r\n setCopyModal(false);\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n },);\r\n setLoading(false);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const selectMedia = (params) => { \r\n \r\n mediaKey = params\r\n //setMediaKey(params); \r\n switch (params) {\r\n case \"img\":\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {ifAddingQrCode ? imgSrcs.map((imgSrc) => (\r\n
\r\n \r\n X\r\n \r\n \r\n\r\n
\r\n )) :\r\n imgSrcs.map((imgSrc) => (\r\n
\r\n \r\n\r\n
))\r\n }\r\n
\r\n {updateSection.activeAccordianUpload && imgPresent ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n\r\n case \"vdo\": \r\n return (\r\n
\r\n handleFileChange(e)}\r\n accept=\".mov,.mp4,.wmv,.avi,.MOV\"\r\n />\r\n\r\n {showVideo ?\r\n {\r\n // setPlayed(duration);\r\n //}}\r\n /> \r\n : \"\"}\r\n\r\n {updateSection.activeAccordianUpload && showVideo ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n : ( \"\")}\r\n \r\n {\r\n \r\n {!videoFormatError ? \" \" : \"Invalid Format\"}\r\n \r\n }\r\n {\r\n < small className=\"text-danger d-inline-block mt-3\">{!videoSizeError ? ' ' : 'Size Cannot Exceed 250 MB'}\r\n\r\n }\r\n
\r\n );\r\n\r\n case \"url\":\r\n return (\r\n
\r\n \r\n {updateSection.activeAccordianUpload && urlMedia ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false })) : (\r\n \"\"\r\n )}\r\n {\r\n \r\n {!urlFormatError ? \" \" : \"Invalid URL\"}\r\n \r\n }\r\n
\r\n );\r\n\r\n case \"pdf\":\r\n return (\r\n
\r\n
\r\n {\" \"}\r\n {!ifAddingQrCode && pdfpresent ? (\r\n \r\n
{\" \"}\r\n
DOWNLOAD FILE
\r\n
\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {onPdfSaveData(e) }} />\r\n\r\n {updateSection.activeAccordianUpload && pdfpresent ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false })) : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n case \"Text\":\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return
;\r\n }\r\n };\r\n// functions to be called in the main component\r\n return (\r\n
\r\n \r\n \r\n
\r\n {loading ? : \"\"}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n {ifAddingQrCode ? (\r\n
\r\n

\r\n \r\n Company and Location\r\n {conditionalStyleCompany || conditionalStyleLocation ? : \"\"}\r\n \r\n

\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n CompanyDetails(e);\r\n if (e.target.value != \"Select Company\") {\r\n setConditionalStyleCompany(false)\r\n } else {\r\n setConditionalStyleCompany(true)\r\n }\r\n }\r\n }\r\n >\r\n \r\n {allCompanyDataDetails &&\r\n allCompanyDataDetails.map((company) => company.active && (\r\n \r\n {\" \"}\r\n {company.companyName}{\" \"}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {ifAddingQrCode && currentCompanyId && currentCompanyId != \"Select Company\"?\r\n
\r\n
\r\n \r\n
\r\n {\r\n getLocationDetails(e);\r\n setCurrentLocationId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Location\" || e.target.value == 0 || e.target.value == null) {\r\n setConditionalStyleLocation(false)\r\n } else {\r\n setConditionalStyleLocation(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {selectedCompanyLocations &&\r\n selectedCompanyLocations.map((data) => (\r\n \r\n {data.location.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.locationErr}\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 getLocationDetails(e);\r\n setCurrentLocationId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Location\" || e.target.value == 0 || e.target.value == null) {\r\n setConditionalStyleLocation(false)\r\n } else {\r\n setConditionalStyleLocation(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {selectedCompanyLocations &&\r\n selectedCompanyLocations.map((data) => (\r\n \r\n {data.location.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.locationErr}\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
\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 {dataErrorShow ? (\r\n \r\n {dataErrorShow.companyErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n ) : (\r\n
\r\n

\r\n \r\n Company and Location\r\n \r\n

\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n CompanyDetails(e)\r\n }}\r\n >\r\n \r\n {allCompanyDataDetails &&\r\n allCompanyDataDetails.map((company) => (\r\n \r\n {company.companyName}{\" \"}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.companyErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {ifAddingQrCode && currentCompanyId && currentCompanyId != \"Select Company\" ?\r\n
\r\n
\r\n \r\n
\r\n {\r\n getLocationDetails(e);\r\n }}\r\n >\r\n \r\n {selectedCompanyLocations &&\r\n selectedCompanyLocations.map((data) => (\r\n \r\n {data.location.name}\r\n \r\n ))}\r\n \r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.locationErr}\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 getLocationDetails(e);\r\n }}\r\n >\r\n \r\n {selectedCompanyLocations &&\r\n selectedCompanyLocations.map((data) => (\r\n \r\n {data.location.name}\r\n \r\n ))}\r\n \r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.locationErr}\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
\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 QR Information\r\n {conditionalStyleQR ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n {!currentVirtualqrcode || showQrDropdown ?\r\n
\r\n \r\n
\r\n {\r\n\r\n let error = { ...dataErrorShow };\r\n setDataErrorShow(error);\r\n\r\n var productFound = selectedQrByLocation.filter((item) => item.product_Name == e)\r\n if (productFound.length > 0) {\r\n setCurrentQRCodeId(productFound[0].qRcodeId);\r\n getQRCodeDetails(productFound[0].qRcodeId);\r\n }\r\n else {\r\n setCurrentQRCodeId(e);\r\n getQRCodeDetails(e);\r\n\r\n }\r\n }}\r\n onSearch={(e) => {\r\n handleInputForQRInfo(e)\r\n }}\r\n\r\n >\r\n \r\n \r\n {currentLocationId && currentLocationId != \"Select Location\" ? selectedQrByLocation &&\r\n selectedQrByLocation.map((QRCode) => (\r\n \r\n
\r\n {QRCode.product_Name ? \r\n
{QRCode.product_Name}
\r\n
\r\n :
- NA -
}\r\n

{QRCode.qRcodeId}

\r\n \r\n

{QRCode.description}

\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 < a className=\"btn btn-primary mt-3\"\r\n onClick={() => showActualDropdown()}\r\n\r\n >Back To QR\r\n\r\n
}\r\n \r\n
\r\n\r\n\r\n {currentQRCodeId != \"Select QR\" || currentVirtualqrcode ?
\r\n
\r\n \r\n handleProductName(e)}>\r\n \r\n {countProduct}/100\r\n \r\n
\r\n
: \"\"}\r\n \r\n {currentQRCodeId != \"Select QR\" ?
\r\n
\r\n \r\n
\r\n {\r\n handleDescription(e)\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {countQr}/1000\r\n \r\n
\r\n
\r\n
: \"\"}\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.qrcodeErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n\r\n \r\n \r\n Add Media\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n mediaFilterChangeHndlr(e.target.value);\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((m) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n getMediaDataForModal(mediaTypeIdToFilter);\r\n }}\r\n hasMore={hasMore}\r\n loader={
Loading...
}\r\n endMessage={\r\n

\r\n No More Records\r\n

\r\n }\r\n height={400}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {filteredMediaData &&\r\n filteredMediaData.length > 0 &&\r\n filteredMediaData.map((item, index) => {\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
Media\r\n Action\r\n
\r\n {\r\n handleCheckMedia(\r\n item.mediaId,\r\n item.filename,\r\n item.mediaType.name\r\n );\r\n }}\r\n >\r\n \r\n {item.mediaType.name == \"Image\" ? (\r\n
\r\n \r\n
\r\n ) : item.mediaType.name == \"video\" ? (\r\n \r\n ) : item.mediaType.name == \"pdf\" ? (\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {item.filename.substr(\r\n 64,\r\n 40\r\n )}{\" \"}\r\n \r\n \r\n \r\n ) : item.mediaType.name == \"url\" ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {item.mediaType.name == \"Image\" ? (\r\n
\r\n \r\n handleImageShow(item.filename)\r\n }\r\n >\r\n Click to Zoom Image\r\n \r\n
\r\n ) : \r\n item.mediaType.name == \"video\" ? (\r\n
\r\n \r\n handleVideoShow(item.filename)\r\n }\r\n >\r\n Preview\r\n \r\n
\r\n ) : item.mediaType.name == \"pdf\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : item.mediaType.name == \"url\" ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Assign\r\n \r\n \r\n Clear\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n {ifAddingQrCode && !currentVirtualqrcode || showQrDropdown\r\n ? (\r\n
\r\n

\r\n \r\n Link QR Data to Selected QR / Upload\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n {!currentVirtualqrcode || showQrDropdown ?\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 {getRadioButton.show == \"show\" ? (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n var productFound = allQrDataWithThumbnail.filter((item) => item.product_Name == e)\r\n if (productFound.length > 0) {\r\n setCopyQRCodeId(productFound[0].qRcodeId);\r\n }\r\n else {\r\n setCopyQRCodeId(e);\r\n }\r\n }}\r\n onSearch={(e) => {\r\n handleInputForDropdown(e)\r\n }}\r\n >\r\n \r\n {allQrDataWithThumbnail &&\r\n allQrDataWithThumbnail.map((QRCode, k) =>\r\n QRCode.qRcodeId != currentQRCodeId ? (\r\n \r\n
\r\n
\r\n {QRCode.filename ?\r\n <>\r\n < img className=\"img-mapping\" src={QRCode.filename}>{QRCode.favorites == true ? : \"\"}\r\n \r\n :\r\n <>\r\n < img className=\"img-mapping\" src={LoginImage}>{QRCode.favorites == true ? : \"\"}\r\n }\r\n
\r\n
\r\n {QRCode.product_Name ? \r\n
{QRCode.product_Name}
\r\n
\r\n :
- NA -
}\r\n

{QRCode.qRcodeId}

\r\n \r\n

{QRCode.qR_Description}

\r\n
\r\n
\r\n
\r\n \r\n ) : null\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {currentQRCodeId && currentQRCodeId != \"Select QR\" && copyQRCodeId && copyQRCodeId != \"Select QR\" ? handleCopyQRdata(copyQRCodeId)}\r\n >\r\n Link & Save\r\n : handleCopyQRdata(copyQRCodeId)} disabled\r\n >\r\n Link & Save\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 Device Detail\r\n {updateSection.activeAccordianDevice ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getDeviceDetails(e);\r\n setCurrentDeviceTypeId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Device\") { \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: false }))\r\n } else { \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: true }))\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allDeviceTypes &&\r\n allDeviceTypes.map(\r\n (d) =>\r\n !d.isDeleted && d.active && (\r\n \r\n {\" \"}\r\n {d.name}{\" \"}\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 setDeviceDescription(e.target.value),\r\n setCountDevice(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countDevice}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.deviceErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n

\r\n \r\n Area Details\r\n {updateSection.activeAccordianArea ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getAreaDetails(e);\r\n setCurrentAreaTypeId(e.target.value);\r\n if (e.target.value != \"Select Area\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: false }))\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allAreaTypes &&\r\n allAreaTypes.map(\r\n (a) =>\r\n !a.isDeleted && a.active && (\r\n \r\n {\" \"}\r\n {a.name}{\" \"}\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 setAreaDescription(e.target.value),\r\n setCountArea(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countArea}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.areaErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n
\r\n

\r\n \r\n Guide Details\r\n {updateSection.activeAccordianGuides ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getGuideDetails(e);\r\n setCurrentGuideTypeId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Guide\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: false }))\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: true }))\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allGuideTypes &&\r\n allGuideTypes.map(\r\n (g) =>\r\n !g.isDeleted && g.active && (\r\n \r\n {\" \"}\r\n {g.name}{\" \"}\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 setGuideDescription(e.target.value),\r\n setCountGuide(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countGuide}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.guideErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n {ifAddingQrCode || checkedListOfMedia.length > 0 || currentVirtualqrcode ? (\r\n
\r\n

\r\n \r\n Upload Media\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n getMediaDetails(e);\r\n setCurrentMediaTypeId(e.target.value);\r\n let error = { ...dataErrorShow }; \r\n if (\r\n e.target.value != \"Select Media\" &&\r\n checkedListOfMedia.length < 1\r\n ) {\r\n error.mediaErr = \"\";\r\n } else if (\r\n e.target.value == \"Select Media\" &&\r\n checkedListOfMedia.length >= 1\r\n ) {\r\n setConditionalStyleUpload(false)\r\n } else {\r\n setConditionalStyleUpload(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((mediaTypes) => (\r\n \r\n {mediaTypes.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {currentMediaTypeKey != null ? (\r\n
{selectMedia(currentMediaTypeKey)}
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {\r\n
\r\n {selectedMediaList &&\r\n selectedMediaList.map((item) => {\r\n return item.mediaTypeName == \"Image\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName == \"video\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName == \"pdf\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName == \"url\" ? (\r\n \r\n ) : (\r\n \"\"\r\n );\r\n })}\r\n
\r\n }\r\n\r\n
\r\n {mediaKey != \"Text\" ?\r\n\r\n
\r\n
\r\n \r\n
\r\n {\r\n /* getMediaDetails(e)*/\r\n setMediaDesc(e.target.value);\r\n setCountMedia(e.target.value.length);\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countMedia}/1000\r\n \r\n
\r\n {!currentVirtualqrcode ? \r\n
\r\n {\r\n handleBtnClick();\r\n // getMediaDataForModal(e)\r\n setMediaTypeIdToFilter(1);\r\n getMediaDataForModal(1, true);\r\n }}\r\n >\r\n Choose Existing Media\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 {dataErrorShow ? (\r\n \r\n {dataErrorShow.mediaErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n
\r\n

\r\n \r\n Upload Media\r\n {updateSection.activeAccordianUpload ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n setCurrentMediaTypeId(e.target.value)\r\n // getMediaDetails(e);\r\n getMediaDetailsUpload(e)\r\n if (e.target.value != \"Select Media\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n // setConditionalStyleUpload(false)\r\n }\r\n else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n //setConditionalStyleUpload(true)\r\n }\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((mediaTypes) => (\r\n \r\n {mediaTypes.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {currentMediaTypeKey != null && currentMediaTypeKey != undefined && currentMediaTypeId != \"Select Media\" ? (\r\n
{selectMedia(currentMediaTypeKey)}
\r\n ) : (\" \")}\r\n
\r\n
\r\n\r\n {\r\n mediaKey != \"Text\" ?\r\n\r\n
\r\n
\r\n \r\n
\r\n {\r\n setMediaDesc(e.target.value);\r\n setCountMedia(e.target.value.length);\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countMedia}/1000\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 Header & Priority\r\n {updateSection.activeAccordianHeader ? : \"\"}\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 setChangeCount(changeCount + 1);\r\n setPriority(e.target.value);\r\n let error = { ...dataErrorShow };\r\n\r\n if (e.target.value != \"Select Priorty\") {\r\n \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: false }))\r\n setConditionalStylePriority(false)\r\n \r\n } else {\r\n \r\n setConditionalStylePriority(false)\r\n // setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {priorityList &&\r\n priorityList.map((p, index) => (\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 handleHeaderOnChange(e);\r\n }}\r\n >{\" \"}\r\n \r\n {countText}/200\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.headerErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.priorityErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
\r\n
\r\n saveMediaType(e)}\r\n >\r\n Save\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n )}\r\n\r\n {getRadioButton.show == \"hide\" ? (\r\n
\r\n
\r\n

\r\n \r\n Device Detail\r\n {conditionalStyleDevice ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getDeviceDetails(e);\r\n setCurrentDeviceTypeId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Device\") {\r\n error.deviceErr = \"\";\r\n setConditionalStyleDevice(false)\r\n } else {\r\n setConditionalStyleDevice(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allDeviceTypes &&\r\n allDeviceTypes.map(\r\n (d) =>\r\n d.active && (\r\n \r\n {\" \"}\r\n {d.name}{\" \"}\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 setDeviceDescription(e.target.value),\r\n setCountDevice(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countDevice}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.deviceErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n

\r\n \r\n Area Detail\r\n {conditionalStyleArea ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getAreaDetails(e);\r\n setCurrentAreaTypeId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Area\") {\r\n setConditionalStyleArea(false)\r\n } else {\r\n setConditionalStyleArea(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allAreaTypes &&\r\n allAreaTypes.map(\r\n (a) =>\r\n a.active && (\r\n \r\n {\" \"}\r\n {a.name}{\" \"}\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 setAreaDescription(e.target.value),\r\n setCountArea(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countArea}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.areaErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n
\r\n

\r\n \r\n Guide Detail\r\n {conditionalStyleGuide ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getGuideDetails(e);\r\n setCurrentGuideTypeId(e.target.value);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Guide\") {\r\n setConditionalStyleGuide(false)\r\n } else {\r\n setConditionalStyleGuide(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allGuideTypes &&\r\n allGuideTypes.map(\r\n (g) =>\r\n g.active && (\r\n \r\n {\" \"}\r\n {g.name}{\" \"}\r\n )\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setGuideDescription(e.target.value),\r\n setCountGuide(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countGuide}/1000\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.guideErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n {ifAddingQrCode ? (\r\n
\r\n

\r\n \r\n Upload Medias\r\n {conditionalStyleUpload || conditionalStyleImage || conditionalStylePdf || conditionalStyleUrl || conditionalStyleVideo || AssignError? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setCurrentMediaTypeId(e.target.value === \"Select Media\" ? 0 : e.target.value);\r\n getMediaDetails(e);\r\n let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Media\" && checkedListOfMedia.length < 1) {\r\n setConditionalStyleUpload(true)\r\n }\r\n else {\r\n setCurrentMediaTypeId(\"Select Media\")\r\n setConditionalStyleUpload(true)\r\n setConditionalStylePriority(true)\r\n setConditionalStyleHeader(true)\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((mediaTypes) => (\r\n \r\n {mediaTypes.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {currentMediaTypeKey != null && currentMediaTypeId != \"Select Media\" ? (\r\n
{selectMedia(currentMediaTypeKey)}
\r\n ) : (\"\")}\r\n
\r\n {
\r\n {selectedMediaList &&\r\n selectedMediaList.map((item) => {\r\n \r\n\r\n return item.mediaTypeName == \"Image\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName.includes('Text') ? (\r\n
\r\n \r\n
\r\n )\r\n : item.mediaTypeName == \"video\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName == \"pdf\" ? (\r\n
\r\n {\r\n handleRemoveMediaClick(item.mediaId);\r\n }}\r\n >\r\n X\r\n \r\n \r\n
\r\n ) : item.mediaTypeName == \"url\" ? (\r\n \r\n ) : (\r\n \"\"\r\n );\r\n })}\r\n
\r\n }\r\n\r\n
\r\n \r\n {mediaKey != \"Text\" ?\r\n
\r\n
\r\n \r\n
\r\n {\r\n getMediaDetails(e)\r\n setMediaDesc(e.target.value);\r\n setCountMedia(e.target.value.length);\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countMedia}/1000\r\n \r\n
\r\n
\r\n {\r\n handleBtnClick();\r\n setMediaTypeIdToFilter(1);\r\n getMediaDataForModal(1, true);\r\n }}\r\n >\r\n Choose Existing Media\r\n \r\n
\r\n
\r\n
: \"\"\r\n }\r\n
\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.mediaErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n
\r\n

\r\n \r\n Upload Media\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n getMediaDetails(e);\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((mediaTypes) => (\r\n \r\n {mediaTypes.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {currentMediaTypeKey != null ? (\r\n
{selectMedia(currentMediaTypeKey)}
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {mediaKey != \"Text\" ?\r\n
\r\n
\r\n \r\n
\r\n {\r\n setMediaDesc(e.target.value);\r\n setCountMedia(e.target.value.length);\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countMedia}/1000\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 Header & Priorty\r\n {conditionalStylePriority ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n { \r\n setChangeCount(changeCount + 1);\r\n setPriority(e.target.value);\r\n \r\n let error = { ...dataErrorShow };\r\n\r\n if (e.target.value != \"Select Priorty\" ) {\r\n \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: false }))\r\n setConditionalStylePriority(false)\r\n \r\n } else {\r\n \r\n setConditionalStylePriority(true)\r\n // setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {priorityList &&\r\n priorityList.map((p, index) => (\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 handleHeaderOnChange(e);\r\n }}\r\n >{\" \"}\r\n \r\n {countText}/200\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.headerErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {dataErrorShow ? (\r\n \r\n {dataErrorShow.priorityErr}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n
\r\n
\r\n \r\n saveMediaType(e)}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n Cancel\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
\r\n
Are you sure you want to link QR code?
\r\n
\r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
Are you sure you want to Create Virtual QR code?
\r\n
\r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\nexport default connect()(Add);\r\n","import { VirtualQRDetails } from \"../Constants/VirtualQRDetails\";\r\n\r\nexport const getVirtualQrDataDetails = (virtualqrDetails) => {\r\n return {\r\n type: VirtualQRDetails.GET_VIRTUALQRDATADETAILS,\r\n payload: virtualqrDetails\r\n };\r\n};\r\n\r\nexport const assignvirtualQrCode = (virtualqrDetails) => {\r\n return {\r\n type: VirtualQRDetails.PUT_ASSIGNVIRTUALWITHQR,\r\n payload: virtualqrDetails\r\n };\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Loader from \"../loader\";\r\nimport Table, { Icon,Button} from \"antd/lib/table\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Layout from '../Layout';\r\nimport updateIcon from \"../../assets/images/updateIcon.svg\"\r\nimport \"antd/dist/antd.css\";\r\nimport '../../../src/custom.css'\r\nimport { Select } from 'antd';\r\nimport PDF from \"../../UserAssets/images/pdf-icn.svg\";\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport Union from \"../../assets/images/Union.svg\";\r\nimport Edit_light from \"../../assets/images/Edit_light.svg\";\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport { fetchAllLocationByCompanyId, fetchAllActiveNotMappedQRcodes,fetchAllVirtualQRByLocationId , fetchAllQRByLocationId, fetchAllQrCodes, fetchCompanyDetails, fetchMediaData } from '../../Redux/Api/fetch.api';\r\nimport { SetCompanyDetails } from '../../Redux/Actions/CompanyActions';\r\nimport { getAllLocationByCompanyId } from '../../Redux/Actions/LocationByCompany';\r\nimport { getVirtualQrDataDetails, assignvirtualQrCode } from '../../Redux/Actions/VirtualQRDetails';\r\nimport { getQRCodesNotmapped } from '../../Redux/Actions/QRCodesToAssign';\r\nimport { getVirtualQRByLocationId } from '../../Redux/Actions/VirtualQrByLocation';\r\nimport { setMediaTypes } from '../../Redux/Actions/MediaActions';\r\nimport axios from \"axios\"\r\nimport PhotoIcon from '@mui/icons-material/Photo';\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport ReactPlayer from \"react-player\";\r\nimport downloadIcon from \"../../UserAssets/images/download-icn.svg\";\r\nimport { Tooltip } from 'antd';\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst VirtualQRReview = () => {\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const allCompanyDetails = useSelector((state) => state.allCompanyDetails.company);\r\n const allQRCodesAssigned = useSelector((state) => state.allQRCodesToAssign.qrAssign);\r\n const allVirtualQRByLocations = useSelector((state) => state.allVirtualQRByLocation.allVirtualQRByLocation);\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n const [currentCompanyId, setCurrentCompanyId] = useState(0);\r\n const [virtualId, setVirtualId] = useState();\r\n const [zoomVideo, setZoomVideo] = useState();\r\n const [currentLocationId, setCurrentLocationId] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [assignIndex, setAssignIndex] = useState(); \r\n const [currentMediaId, setCurrentMediaId] = useState(0); \r\n const [currentVirtualQRId, setCurrentVirtualQRId] = useState(); \r\n const [assignQrCode, setAssignQrCode] = useState();\r\n const [table, setTable] = useState([]);\r\n const [tableChild, setTableChild] = useState();\r\n const [assignModal, setAssignModal] = useState(false) \r\n const [imageModal, setImageModal] = useState(false)\r\n const [videoModal, setVideoModal] = useState(false);\r\n const [imageData, setImageData] = useState()\r\n const [imageFilename, setImageFilename] = useState()\r\n const [total, setTotal] = useState()\r\n const selectedCompanyLocations = useSelector((state) => state.allLocationByCompany.allLocationByCompanyId);\r\n const getAllVirtualData = useSelector((state) => state.allvirtualqrcodes.virtualqrTypes)\r\n const [qRcodeError, setQRCodeError] = useState(false);\r\n const [count, setCount] = useState(0);\r\n const [QrCodeID ,setQrCodeId] = useState()\r\n const [ProductName, setProductName] = useState()\r\n const [AssignQR, setAssignQr] = useState()\r\n\r\n const [options, setOptions] = useState({\r\n pagination: { current: 1 }, pageSize: pageSize\r\n });\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageData, setPageData] = useState({});\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n addVirtualQrDetails(options)\r\n getCompanyDetails()\r\n getMediaData()\r\n allLocationByCompany()\r\n setPageData(options)\r\n getQRCodesToAssign()\r\n // allVirtualQRByLocation()\r\n \r\n }, [])\r\n\r\n useEffect(() => {\r\n allLocationByCompany()\r\n }, [currentCompanyId])\r\n\r\n useEffect(() => {\r\n allVirtualQRByLocation()\r\n }, [currentLocationId])\r\n\r\n const getCompanyDetails = () => {\r\n\r\n fetchCompanyDetails()\r\n .then(response => dispatch(SetCompanyDetails(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getQRCodesToAssign = () => { \r\n fetchAllActiveNotMappedQRcodes()\r\n .then(response => dispatch(getQRCodesNotmapped(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const allLocationByCompany = () => {\r\n fetchAllLocationByCompanyId(currentCompanyId)\r\n .then(response => dispatch(getAllLocationByCompanyId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const allVirtualQRByLocation = () => {\r\n fetchAllVirtualQRByLocationId(currentLocationId)\r\n .then(response => dispatch(getVirtualQRByLocationId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const getMediaData = () => {\r\n fetchMediaData()\r\n .then(response => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n }\r\n\r\n const handleImageOpen = (fileurl,filename) => { \r\n setImageFilename(filename)\r\n setImageData(fileurl)\r\n setImageModal(true)\r\n }\r\n\r\n const handleVideoOpen = (fileurl, filename) => { \r\n setImageFilename(filename)\r\n setVideoModal(true);\r\n setZoomVideo(fileurl)\r\n setImageModal(false)\r\n }\r\n\r\n const handleImageClose = () => {\r\n setImageModal(false);\r\n };\r\n\r\n const handleVideoClose = () => {\r\n setVideoModal(false); \r\n };\r\n \r\n let qRCodeIdToSend = 0;\r\n if (virtualId && virtualId != '')\r\n qRCodeIdToSend = parseInt(virtualId);\r\n const addVirtualQrDetails = async (options, isReset = false) => { \r\n \r\n setLoading(true)\r\n if (options && options.pagination == undefined) {\r\n options.pagination = pageData.pagination;\r\n options.pageSize = pageData.pageSize;\r\n }\r\n\r\n const response = await axios.post(url.GET_VIRTUALQRDETAIL, { \r\n PageIndex: options.pagination ? options.pagination.current : '1',\r\n pageSize: options.pagination.pageSize != undefined ? options.pagination.pageSize : options.pageSize,\r\n companyId: isReset ? 0 : currentCompanyId,\r\n locationId: isReset ? 0 : currentLocationId,\r\n mediaTypeId: isReset ? 0 : currentMediaId,\r\n QRcodeId: isReset ? 0 : currentLocationId ? currentVirtualQRId : qRCodeIdToSend,\r\n }).then(response => {\r\n \r\n dispatch(getVirtualQrDataDetails(response.data)),\r\n setTable(response.data.data) \r\n setTableChild(response.data.data) \r\n setTotal(response.data.count),\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n pageSize: options.pagination.pageSize,\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n setAssignModal(false);\r\n // setLoading(false)\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n }\r\n \r\n const handleUpdate = () => { \r\n setLoading(true)\r\n if (AssignQR) {\r\n const response = axios.put(url.PUT_ASSIGNVIRTUALWITHQR, {\r\n \"VirtualQRid\": QrCodeID,\r\n \"Product_Name\": ProductName,\r\n \"QRcodeId\": AssignQR \r\n }).then(response => { \r\n dispatch(assignvirtualQrCode(response.data)) \r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n }\r\n setAssignModal(false);\r\n addVirtualQrDetails(options);\r\n setAssignQrCode(0);\r\n setAssignQr()\r\n setAssignIndex()\r\n setLoading(false)\r\n }) \r\n } \r\n }\r\n\r\n const handleChange = (pagination, sorter) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n addVirtualQrDetails({\r\n ...updatedOptions,\r\n });\r\n };\r\n\r\n const handleCompanyChange = (e) => {\r\n // let companyData = allCompanyDetails.filter(x => x.companyId == e.target.value)\r\n setCurrentCompanyId(e.target.value)\r\n if (e.target.value == 0) {\r\n setCurrentLocationId(0);\r\n setCurrentVirtualQRId(0);\r\n }\r\n }\r\n\r\n const handleAssignModal = () => {\r\n setAssignModal(true) \r\n }\r\n\r\n const handleAssignModalClose = () => {\r\n setAssignModal(false);\r\n };\r\n\r\n const resetButtonSearch = async () => {\r\n setCurrentLocationId(0);\r\n setCurrentMediaId(0);\r\n setCurrentVirtualQRId(0);\r\n setCurrentCompanyId(0);\r\n qRCodeIdToSend = 0;\r\n addVirtualQrDetails(options, true)\r\n }\r\n\r\n const { Option } = Select;\r\n const columns = [\r\n \r\n {\r\n title: \"Virtual QR Code\",\r\n dataIndex: \"qRcodeId\",\r\n key:\"i\"\r\n },\r\n\r\n {\r\n title: \"Product Name\",\r\n dataIndex: \"product_Name\",\r\n className: \"Products\",\r\n render: (product_Name) => {product_Name},\r\n\r\n },\r\n\r\n {\r\n title: \"Company\",\r\n dataIndex: \"companyName\",\r\n className: \"companyName\",\r\n \r\n \r\n },\r\n\r\n {\r\n title: \"Location\",\r\n dataIndex: \"name\",\r\n className: \"Locations\",\r\n \r\n },\r\n \r\n {\r\n title: \"Assign to QR\",\r\n dataIndex: \"qRcodeId\",\r\n key: 'i',\r\n render: (record, row, i) => (\r\n\r\n
\r\n \r\n
\r\n )\r\n },\r\n\r\n {\r\n title: \"Assign\",\r\n dataIndex: \"qRcodeId\",\r\n key: 'index',\r\n // className: \"update_mapping\",\r\n render: (text, record, row, index) => ( \r\n <>\r\n {AssignQR && row == assignIndex ?\r\n \r\n : }\r\n )\r\n },\r\n ]\r\n\r\n const expandedRowRender = (index) => {\r\n debugger;\r\n \r\n const nestedcolumns = [\r\n\r\n {\r\n title: \"Table Id\",\r\n dataIndex: \"mediaId\", \r\n key: \"tableid\"\r\n },\r\n\r\n {\r\n title: \"Guide Type\",\r\n dataIndex: \"guideType\",\r\n key: \"Guidetype\"\r\n },\r\n\r\n {\r\n title: \"Area Type\",\r\n dataIndex: \"areaType\",\r\n key: \"areatype\"\r\n },\r\n\r\n {\r\n title: \"Media Type\",\r\n dataIndex: \"mediaType\",\r\n key: \"mediatype\"\r\n },\r\n\r\n {\r\n title: \"Media FileName\",\r\n dataIndex: \"filename\",\r\n key: \"fileName\"\r\n },\r\n\r\n {\r\n title: \"Preview\",\r\n render: (mediaId, row, i) => <>\r\n \r\n \r\n {row.mediaType == \"pdf\" ?\r\n \r\n \r\n \r\n \r\n :\r\n \r\n {row.mediaType == \"Text (HTML)\" ? \"\" :\r\n {\r\n row.mediaType == \"Image\" ?\r\n handleImageOpen(row.fileurl, row.filename) :\r\n handleVideoOpen(row.fileurl, row.filename)\r\n }\r\n } />} }\r\n \r\n \r\n },\r\n ]\r\n return ;\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 if (new RegExp(/^[0-9\\b]+$/).test(e.key)) {\r\n } else e.preventDefault();\r\n }}\r\n disabled={!currentCompanyId && !currentLocationId && !currentMediaId && !currentVirtualQRId ? \"\" : \"disabled\"}\r\n onChange={(e) => {\r\n setVirtualId(e.target.value);\r\n setCount(e.target.value.length);\r\n if (e.target.value.startsWith('0') || count > 6) { setQRCodeError(\"Enter Valid QR Code\") }\r\n else { setQRCodeError(\"\") }\r\n }} >\r\n \r\n OR\r\n
    \r\n {qRcodeError} \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 {loading ? : ''}\r\n expandedRowRender(index)}\r\n pagination={options.pagination.total >10 ? options.pagination : \"\"}\r\n \r\n onChange={handleChange}\r\n paginationTotalRows={total} \r\n scroll={{ x: \"750px\" }}\r\n >
\r\n \r\n\r\n \r\n \r\n
Media File Name :
{imageFilename}
\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
Media File Name :
{imageFilename}
\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
Are you sure you want to Assign QR code?
\r\n
\r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default connect()(VirtualQRReview);\r\n","import { QRAssign } from \"../Constants/QRCodesToAssign\";\r\n\r\nexport const getQRCodesNotmapped = (qrCodestoassign) => {\r\n return {\r\n type: QRAssign.GET_QRCODESNOTMAPPED,\r\n payload: qrCodestoassign\r\n };\r\n};\r\n","import { virtualQRByLocationId } from \"../Constants/VirtualQrByLocation\";\r\n\r\nexport const getVirtualQRByLocationId = (virtualqrByLocationId) => {\r\n return {\r\n type: virtualQRByLocationId.GET_VIRTUALQRByLocationId,\r\n payload: virtualqrByLocationId\r\n };\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Loader from '../loader';\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\n\r\n// Added api url\r\nimport * as url from \"../../api/uri_helper\"\r\nimport axios from 'axios';\r\n\r\n// added Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { useFormik } from \"formik\";\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport { useHistory, useParams } from 'react-router';\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport EyeClose from \"../../assets/images/eyeClose.svg\";\r\nimport PassLight from \"../../assets/images/fi-rr-lock1.svg\";\r\n\r\nconst changePassword = (data) => {\r\n const [loading, setLoading] = useState(false);\r\n const [passwordType, setPasswordType] = useState(\"password\");\r\n const [passwordTypeCon, setPasswordTypeCon] = useState(\"password\");\r\n const togglePassword = () => {\r\n if (passwordType === \"password\") {\r\n setPasswordType(\"text\")\r\n return;\r\n }\r\n setPasswordType(\"password\")\r\n }\r\n const togglePasswordCon = () => {\r\n if (passwordTypeCon === \"password\") {\r\n setPasswordTypeCon(\"text\")\r\n return;\r\n }\r\n setPasswordTypeCon(\"password\")\r\n }\r\n let history = useHistory();\r\n \r\n let { emailId } = useParams();\r\n\r\n\r\n // On Validation \r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n\r\n // initialize of the Values\r\n initialValues: {\r\n newPassword: '',\r\n conPassword: ''\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n newPassword: Yup.string().required(\"Please Enter New password\").matches(\r\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})/,\r\n \"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character\"\r\n ),\r\n\r\n conPassword: Yup.string().required(\"Please Enter Confirm password\").oneOf([Yup.ref(\"newPassword\"), null], \"Passwords must match\")\r\n }),\r\n\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n // call the api here\r\n debugger;\r\n\r\n onUpdatePassword(values, emailId);\r\n }\r\n });\r\n\r\n //Call update password api\r\n const onUpdatePassword = async (params,emailId) => {\r\n // call the api here\r\n debugger;\r\n // setLoading(true);\r\n const response = await axios.post(url.ADD_UPDATEPASSWORD, {\r\n // emailId: \"saunak@gmail.com\",\r\n emailId: emailId,\r\n newPassword: params.newPassword,\r\n\r\n }).then(response => {\r\n debugger;\r\n if (response.data.success) { \r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setTimeout(() => {\r\n history.push('/');\r\n }, 2000)\r\n // setLoading(false); \r\n } \r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n \r\n }\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Welcome to TEkaHelp

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

Reset Password

\r\n {/*
Enter your new password below.
*/}\r\n {/*
*/}\r\n {\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return 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 {passwordType === \"password\" ? : }\r\n
\r\n
\r\n
\r\n {validation.touched.newPassword && validation.errors.newPassword ? (\r\n {validation.errors.newPassword}\r\n ) : null}\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 {passwordTypeCon === \"password\" ? : }\r\n
\r\n
\r\n
\r\n\r\n {validation.touched.conPassword && validation.errors.conPassword ? (\r\n {validation.errors.conPassword}\r\n ) : null}\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\nexport default connect()(changePassword);\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Loader from '../loader';\r\nimport Layout from '../Layout';\r\n// Added api url\r\nimport * as url from \"../../api/uri_helper\"\r\nimport axios from 'axios';\r\nimport LockIcon from '@mui/icons-material/Lock';\r\n// added Formik validation\r\nimport * as Yup from \"yup\";\r\nimport { useFormik } from \"formik\";\r\nimport { Input, Form, FormFeedback } from \"reactstrap\"\r\nimport { Link, useHistory, useParams, useLocation } from \"react-router-dom\";\r\n//import Message from 'antd-message';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\nimport logo from \"../../UserAssets/images/authenteklogo.png\"\r\nimport EyeClose from \"../../assets/images/eyeClose.svg\";\r\nimport PassLight from \"../../assets/images/fi-rr-lock1.svg\";\r\n\r\nconst changeOldPassword = (data) => {\r\n const [loading, setLoading] = useState(false);\r\n let history = useHistory();\r\n\r\n let { emailid } = useParams();\r\n\r\n const onChangePassword = async (params,username='') => {\r\n // call the api here\r\n debugger;\r\n /*setLoading(true);*/\r\n if ((params.emailid || username) && params.currentPassword && params.newPassword) {\r\n const response = await axios.post(url.POST_CHANGEPASSWORD, {\r\n // emailId: \"saunak@gmail.com\",\r\n\r\n EmailId: params.emailid,\r\n CurrentPassword: params.currentPassword,\r\n NewPassword: params.newPassword,\r\n Username : username\r\n\r\n }).then(response => {\r\n // debugger;\r\n setLoading(false);\r\n if (response.data.success) {\r\n toast.success(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n history.push('/Dashboard');\r\n }\r\n else {\r\n toast.error(response.data.message,{\r\n className:\"toastSuccess\",\r\n }, );\r\n setLoading(false);\r\n return false;\r\n }\r\n\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(false);\r\n }\r\n }\r\n // On Validation \r\n const validation = useFormik({\r\n // enableReinitialize : use this flag when initial values needs to be changed\r\n enableReinitialize: true,\r\n\r\n // initialize of the Values\r\n initialValues: {\r\n emailid: localStorage.getItem('emailid') ? localStorage.getItem('emailid') : '',\r\n currentPassword: '',\r\n newPassword: '',\r\n conPassword: ''\r\n },\r\n // Alert messages \r\n validationSchema: Yup.object({\r\n currentPassword: Yup.string().required(\"Please Enter Current password\"),\r\n\r\n\r\n newPassword: Yup.string().required(\"Please Enter New password\").matches(\r\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})/,\r\n \"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character\"\r\n ),\r\n\r\n conPassword: Yup.string().required(\"Please Enter Confirm password\").oneOf([Yup.ref(\"newPassword\"), null], \"Passwords must match\")\r\n }),\r\n\r\n // on form submit / button click\r\n onSubmit: (values) => {\r\n // call the api here\r\n debugger;\r\n if (values.emailid) // get email id from local storage\r\n {\r\n onChangePassword(values)\r\n }\r\n else {\r\n // have to get email Id if not stored in local storage or can go for username\r\n const username = localStorage.getItem('userName') ? localStorage.getItem('userName') : '';\r\n onChangePassword(values,username)\r\n }\r\n }\r\n });\r\n\r\n //Call update password api\r\n \r\n\r\n if (loading) return ;\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

Change Password

\r\n {/*
Enter your new password below.
*/}\r\n {/*
*/}\r\n {\r\n e.preventDefault();\r\n validation.handleSubmit();\r\n return 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 {validation.touched.currentPassword && validation.errors.currentPassword ? (\r\n {validation.errors.currentPassword}\r\n ) : null}\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 {validation.touched.newPassword && validation.errors.newPassword ? (\r\n {validation.errors.newPassword}\r\n ) : null}\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 {validation.touched.conPassword && validation.errors.conPassword ? (\r\n {validation.errors.conPassword}\r\n ) : null}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Cancel\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\nexport default connect()(changeOldPassword);\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useCallback, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport toast, { Toaster, useToasterStore } from \"react-hot-toast\";\r\nimport Layout from \"../Layout\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport Loader from \"../loader\";\r\nimport '../../../src/custom.css'\r\nimport { fetchAllThumbnail, fetchSearchData } from \"../../Redux/Api/fetch.api\";\r\nimport { getThumbnail } from \"../../Redux/Actions/DashboardCount\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport PhotoIcon from '@mui/icons-material/Photo';\r\nimport { Tooltip } from 'antd';\r\nconst AllThumbnailPage = () => {\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n // const allThumbnails = useSelector((state) => state.allDashboardReducer.thumbnail)\r\n const [imageModal, setImageModal] = useState(false)\r\n const [imageData, setImageData] = useState()\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageData, setPageData] = useState({});\r\n const [options, setOptions] = useState({ pagination: { current: 1 }, pageSize: pageSize});\r\n const [search, setSearch] = useState(\"\")\r\n const [searchData, setSearchData] = useState()\r\n const [searchClicked, setSearchClicked] = useState(false)\r\n const [searchError, setSearchError] = useState()\r\n const [count, setCount] = useState(0)\r\n const [total, setTotal] = useState()\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [initialData ,setInitialData]=useState({})\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getAllThumbnailData(options)\r\n }, [])\r\n\r\n const handleImageOpen = (row, i) => {\r\n \r\n setImageData(row)\r\n setImageModal(true)\r\n }\r\n\r\n const handleImageClose = () => {\r\n setImageModal(false);\r\n };\r\n\r\n const getAllThumbnailData = (options) => {\r\n setLoading(true)\r\n if (options && options.pagination == undefined) {\r\n options.pagination = pageData.pagination;\r\n options.pageSize = pageData.pageSize;\r\n }\r\n \r\n \r\n fetchAllThumbnail(options.pagination.current)\r\n .then(response => {\r\n \r\n dispatch(getThumbnail(response.data.data)),\r\n setTable(response.data.data.allThumbnailList)\r\n // setTotal(response.data.count)\r\n setTotal(response.data.data.totalCount)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.data.totalCount,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n setInitialData({table : response.data.data.allThumbnailList , \r\n option :{\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.data.totalCount,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }}})\r\n // setLoading(false)\r\n }).catch((err) => {\r\n console.log(\"Err : \", err);\r\n })\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n\r\n }\r\n //for Searching\r\n const handleDataSearch = (e) => {\r\n setSearchError(\"\")\r\n setSearch(e.target.value)\r\n setCount(e.target.value.length)\r\n if (e.target.value == \"\") {\r\n setSearchData(table)\r\n }\r\n }\r\n\r\n const handleSearch = () => {\r\n if (search != \"\") {\r\n setLoading(true)\r\n fetchSearchData(search)\r\n .then(response => {\r\n console.log(response)\r\n setSearchClicked(true)\r\n setSearchData(response.data.data.allThumbnailList)\r\n setLoading(false)\r\n setTotal(response.data.data.totalCount)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n current: options.pagination.current,\r\n total: response.data.data.totalCount,\r\n pageSizeOptions: ['10', '20', '50'],\r\n showSizeChanger: true,\r\n }\r\n })})\r\n }\r\n else {\r\n setSearchError('Please Enter Filename');\r\n }\r\n\r\n }\r\n\r\n const handleResetButton = () => {\r\n setSearchClicked(false)\r\n setSearch(\"\")\r\n setSearchData(\"\")\r\n setSearchError(\"\")\r\n \r\n setTotal(initialData.table)\r\n setOptions(initialData.option)\r\n }\r\n\r\n const handleChange = (pagination, sorter) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n };\r\n\r\n const getFullDate = (date) => {\r\n \r\n const dateAndTime = date.split('T');\r\n const time = dateAndTime[1].split(':') \r\n const newtime = time[0] + ':' + time[1]\r\n const times = time[0] > 12 ? \"0\" + time[0] % 12 : time[0]\r\n const newtime1 = times + ':' + time[1]\r\n if (time[0] && time[0] >= 12) {\r\n return dateAndTime[0].split('-').reverse().join('-') + ', ' + newtime1 + \" PM \";\r\n } \r\n else {\r\n return dateAndTime[0].split('-').reverse().join('-') + ', ' + newtime + \" AM \";\r\n\r\n } \r\n \r\n };\r\n\r\n const columns = [\r\n {\r\n title: \"Sr No.\",\r\n dataIndex: \"Index\",\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n },\r\n {\r\n title: \"Media File Name\",\r\n dataIndex: \"filename\",\r\n render: (filename) => {filename},\r\n },\r\n {\r\n title: \"Media File Extension\",\r\n dataIndex: \"extension\"\r\n },\r\n {\r\n title: \"Media File Size\",\r\n dataIndex: \"size\",\r\n render: (text, row, i) => {\r\n \r\n if (row.size) {\r\n var result = row.size; \r\n if (result >1024)\r\n {\r\n const mbsize = result/1024\r\n return Math.trunc(mbsize) + \" mb\"\r\n }\r\n if (result < 1024) {\r\n return row.size + \" kb\"\r\n }\r\n //if (result > 1000) {\r\n // return result + \" gb\"\r\n //}\r\n }\r\n else {\r\n return \"\"\r\n }\r\n }\r\n },\r\n\r\n {\r\n title: \"Upload Date\",\r\n dataIndex: \"upload_Date\",\r\n className: \"upload_Date\",\r\n key: 'upload_Date',\r\n \r\n render: ((date) => getFullDate(date)) \r\n },\r\n\r\n {\r\n title: \"Preview\",\r\n className: \"preview\",\r\n render: (parent_QRCodeID, row, i) => <>\r\n \r\n handleImageOpen(row, i)} /> \r\n \r\n \r\n\r\n },\r\n ]\r\n\r\n\r\n return (\r\n \r\n {!searchClicked ?\r\n <>\r\n
\r\n {/*
*/}\r\n {/*

Thumbnail

*/}\r\n
Search Media File : {\r\n handleDataSearch(e); setSearchError(false)\r\n }}>\r\n {\r\n < small className=\"text-danger d-block mt-2 searchError formob\">{searchError}\r\n }\r\n \r\n {\r\n < small className=\"text-danger d-block mt-2 searchError forDesk\">{searchError}\r\n }\r\n
\r\n {/*
*/}\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 ? options.pagination : false}\r\n //pagination={options.pagination.total > 9 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n />\r\n
\r\n :\r\n <>\r\n
\r\n {/*
*/}\r\n {/*

Thumbnail

*/}\r\n
Search Media File : {\r\n handleDataSearch(e); setSearchError(false)\r\n }}>\r\n {\r\n < small className=\"text-danger d-block mt-2 searchError formob\">{searchError}\r\n }\r\n \r\n {search == \"\" ? \"\" : }\r\n {\r\n < small className=\"text-danger d-block mt-2 searchError forDesk\">{searchError}\r\n }\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 9 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n />\r\n
\r\n }\r\n\r\n \r\n \r\n {imageData ? \r\n <>
Media File Name :
{imageData.filename}.{imageData.extension}
\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\nexport default connect()(AllThumbnailPage);","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { connect } from 'react-redux';\r\nimport Loader from \"../loader\";\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { Select } from 'antd';\r\nimport '../../assets/css/style.css'\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport Layout from '../Layout';\r\nimport '../../../src/custom.css'\r\nimport axios from \"axios\"\r\nimport { QrReader } from \"react-qr-reader\";\r\nimport { fetchAllQrId, AddQRCodes, VerifyQrStatus } from '../../Redux/Api/fetch.api';\r\nimport { addQrCodes } from \"../../Redux/Actions/QrCodeId\";\r\n\r\nconst AddQREntries = () => {\r\n \r\n const [qrError, setQRError] = useState('');\r\n const [qrCodeError, setQRCodeError] = useState(\"\");\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [data, setData] = useState('No result');\r\n const [id, setId] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const history = useHistory()\r\n const dispatch = useDispatch();\r\n const handleError = (err) => {\r\n setData({ result: \"Device camera not found\", qrError: err.toString() })\r\n }\r\n const onResult = (result, error) => {\r\n\r\n if (result) {\r\n\r\n setData(result.text);\r\n var uri = result.text.toString();\r\n if (uri.indexOf(\"/\") > 0) { // Example : https://www.tekahelp.com/10000004\r\n var qrCode = uri.substring(uri.lastIndexOf('/') + 1);\r\n console.log(\"uri\", qrCode);\r\n if (qrCode) {\r\n\r\n fetchAllQrId(qrCode)\r\n .then(response => {\r\n\r\n if (response.data.success) {\r\n setId(qrCode);\r\n // history.push(\"/\" + qrCode);\r\n }\r\n else {\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n });\r\n }\r\n else {\r\n\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n }\r\n }\r\n else {\r\n setErrorMessage(\"QR Code is not valid, please try again.\");\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n const addQRCode = (id) => {\r\n debugger;\r\n if (id) {\r\n setLoading(true)\r\n AddQRCodes(id)\r\n .then(response => {\r\n debugger;\r\n dispatch(addQrCodes(response.data))\r\n if (!response.data.success) // False \r\n {\r\n toast.error(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n\r\n }\r\n else {\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n })\r\n history.push('/QREntries');\r\n }\r\n setLoading(false)\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(false)\r\n }\r\n\r\n setQRCodeError(\"Please Scan QR Code\")\r\n }\r\n return (\r\n \r\n \r\n
\r\n {loading ? : ''}\r\n
\r\n

Scan your QR code

\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n {qrError}\r\n {id ? \"\" : {qrCodeError}}\r\n
\r\n {id? : \"\"}
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n )\r\n\r\n}\r\nexport default AddQREntries;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from 'react-redux';\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport '../../../src/custom.css'\r\nimport Add from \"../../assets/images/Add.svg\";\r\nimport { Select } from 'antd';\r\n\r\nimport Loader from \"../loader\";\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport Layout from '../Layout';\r\nimport * as url from \"../../api/uri_helper\"\r\nimport Table, { TableProps } from \"antd/lib/table\";\r\nimport { fetchAllQrCodes } from '../../Redux/Api/fetch.api';\r\nimport { getQrCodeData } from '../../Redux/Actions/QR';\r\nimport { Tooltip } from 'antd';\r\n\r\n\r\nconst QREntriesIndex = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [table, setTable] = useState([]);\r\n const dispatch = useDispatch(); \r\n const [pageSize, setPageSize] = useState(10);\r\n const [options, setOptions] = useState({ pagination: { current: 1 }, pageSize: pageSize });\r\n const [totalIndex, setCurrentIndex] = useState()\r\n const [pageData, setPageData] = useState({});\r\n const [total, setTotal] = useState()\r\n let history = useHistory();\r\n\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getallQRCodes(options);\r\n\r\n }, [])\r\n\r\n const getallQRCodes = (options) => {\r\n \r\n setLoading(false)\r\n if (options && options.pagination == undefined) {\r\n options.pagination = pageData.pagination;\r\n options.pageSize = pageData.pageSize;\r\n }\r\n fetchAllQrCodes({}) \r\n .then(response => {\r\n \r\n dispatch(getQrCodeData(response.data))\r\n setTable(response.data.data)\r\n setOptions({\r\n ...options,\r\n pagination: {\r\n pageSize: options.pagination.pageSize,\r\n current: options.pagination.current,\r\n total: response.data.count,\r\n pageSizeOptions: ['10', '20', '50', '100'],\r\n showSizeChanger: true,\r\n }\r\n })\r\n })\r\n\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n setLoading(false)\r\n\r\n }\r\n\r\n const handleChange = (pagination, sorter, current) => {\r\n const updatedOptions = { ...options, pagination };\r\n setOptions(updatedOptions);\r\n setPageData(updatedOptions)\r\n getallQRCodes({\r\n ...updatedOptions,\r\n\r\n });\r\n };\r\n\r\n \r\n const columns = [\r\n {\r\n title: \"Sr. No.\",\r\n dataIndex: \"\",\r\n // render:(text, record, index) => `${(options.pagination.current - 1) * 10 + index +1}`\r\n /* render: (text, record,index) =>`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index +1}`*/\r\n render: (text, record, index) => { setCurrentIndex(`${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}`); return `${(options.pagination.current === undefined ? 0 : options.pagination.current - 1) * 10 + index + 1}` },\r\n\r\n },\r\n\r\n {\r\n title: \"QR Code\",\r\n dataIndex: \"qRcodeId\",\r\n className: \"qrcode_mapping\",\r\n },\r\n {\r\n title: \"Location\",\r\n dataIndex: \"qRcodeId\",\r\n className: \"Locations\",\r\n key: 'index',\r\n render: (text, record, index) => (\r\n <>\r\n {record.location.name}\r\n \r\n )\r\n },\r\n\r\n {\r\n title: \"Product Name\",\r\n dataIndex: \"product_Name\",\r\n render: (product_Name) => {product_Name ? product_Name : \"- NA -\"},\r\n },\r\n\r\n \r\n ]\r\n\r\n\r\n return (\r\n \r\n
\r\n
\r\n

QR Entries

\r\n
\r\n Add QRCode\r\n
\r\n
\r\n
\r\n
\r\n {loading ? : ''}\r\n 10 && totalIndex > 9 ? options.pagination : false}\r\n onChange={handleChange}\r\n paginationTotalRows={total}\r\n scroll={{ x: \"750px\" }}\r\n \r\n />\r\n
\r\n
\r\n\r\n )\r\n\r\n\r\n\r\n}\r\nexport default connect()(QREntriesIndex);\r\n","import React, { useState } from \"react\"\r\nimport Header from \"../UserLayout/Header\";\r\nimport Footer from \"../UserLayout/Footer\";\r\nimport comingSoon from \"../../UserAssets/images/comingSoon.png\"\r\n\r\nconst contactUs = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CONTACT US

\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
You can find us at:
\r\n\r\n EMAIL\r\n
tekahelp@authentek.io
\r\n\r\n PHONE NUMBER\r\n
(833) 288-4835
\r\n\r\n LOCATION\r\n
2155 Chenault Dr. Suite 510 Carrollton, TX 75006
\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\nexport default contactUs","export default __webpack_public_path__ + \"static/media/dummyGoogle.8f5b2ad6.jpg\";","export default __webpack_public_path__ + \"static/media/googleLogo.3b44a32b.png\";","import {productTypes} from '../Constants/productMarkingType'\r\n\r\nexport const getProductType = (products) => {\r\n \r\n return {\r\n type: productTypes.GET_ALLPRODUCTS,\r\n payload: products\r\n };\r\n};","export default __webpack_public_path__ + \"static/media/connect.0c1f219b.svg\";","import Layout from \"../Layout\";\r\nimport React, {\r\n useEffect,\r\n useCallback,\r\n useMemo,\r\n useState,\r\n useRef,\r\n} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport \"../../../src/custom.css\";\r\nimport Loader from \"../loader\";\r\n\r\nimport { red } from \"@mui/material/colors\";\r\nimport DummyGoogle from \"../../assets/images/dummyGoogle.jpg\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport GoogleLogo from \"../../assets/images/googleLogo.png\";\r\nimport DirectionsIcon from \"@mui/icons-material/Directions\";\r\nimport {\r\n fetchProductLocation,\r\n fetchSearchProductName,\r\n} from \"../../Redux/Api/fetch.api\";\r\nimport { getProductType } from \"../../Redux/Actions/productMarking\";\r\nimport {\r\n GoogleMap,\r\n useLoadScript,\r\n Marker,\r\n MarkerF,\r\n InfoWindow,\r\n} from \"@react-google-maps/api\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport connectIcon from \"../../assets/images/connect.svg\";\r\n\r\nlet PAGE_INDEX = 1;\r\nconst ProductPointing = () => {\r\n const { isLoaded } = useLoadScript({\r\n googleMapsApiKey: \"AIzaSyCEG3K6fRhMb6ikoQ1205Lx4IiykvXYGSY\",\r\n });\r\n const center = useMemo(() => ({ lat: 32.9656398, lng: -96.846783699999 }), []);\r\n const [loading, setLoading] = useState(false);\r\n const dispatch = useDispatch();\r\n const [data, setData] = useState();\r\n const [search, setSearch] = useState(\"\");\r\n const [count, setCount] = useState(0);\r\n const [searchData, setSearchData] = useState();\r\n const [searchClicked, setSearchClicked] = useState(false);\r\n const [hasMore, setHasMore] = useState(false);\r\n const [filteredProductData, setFilteredProductData] = useState([]);\r\n const [total, setTotal] = useState();\r\n const products = useSelector((state) => state.allProductMarkings.products);\r\n const [latitude, setLatitude] = useState();\r\n const [longitude, setLongitude] = useState();\r\n const [activeMarker, setActiveMarker] = useState(null);\r\n const [selected, setSelected] = useState(\"off\");\r\n const [buyerSelected, setBuyerSelected] = useState(\"on\");\r\n const [id, setId] = useState();\r\n const [index, setIndex] = useState();\r\n const [allData, setAllData] = useState();\r\n const [searchClickData, setSearchClickData] = useState(false)\r\n const [directionClick, setDirectionClick] = useState(false)\r\n \r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, 2000)\r\n getProductLocation();\r\n }, []);\r\n\r\n const handleDataSearch = (e) => {\r\n \r\n setSearch(e.target.value);\r\n setCount(e.target.value.length);\r\n \r\n };\r\n \r\n\r\n const handleActiveMarker = (marker) => {\r\n \r\n if (marker === activeMarker) {\r\n return;\r\n }\r\n setActiveMarker(marker);\r\n };\r\n const handleSearch = () => {\r\n \r\n setSearchClickData(true)\r\n // if (search != \"\") {\r\n \r\n setLoading(true);\r\n fetchSearchProductName(search).then((response) => {\r\n setSearchClicked(true);\r\n setSearchData(response.data.data.allProductList);\r\n\r\n setTotal(response.data.data.totalCount);\r\n });\r\n if (search == \"\") {\r\n setDirectionClick(false) \r\n } \r\n };\r\n\r\n const getProductLocation = (resetTable = false) => {\r\n \r\n setLoading(true);\r\n fetchProductLocation(PAGE_INDEX)\r\n .then((response) => {\r\n dispatch(getProductType(response.data));\r\n const productDataFromDB = response.data.data.allProductList;\r\n const totalCount = response.data.data.totalCount;\r\n const currentDataLength = [...filteredProductData, ...productDataFromDB]\r\n .length;\r\n if (productDataFromDB.length > 0 && currentDataLength < totalCount)\r\n setHasMore(true);\r\n else setHasMore(false);\r\n if (!resetTable) {\r\n setFilteredProductData([\r\n ...filteredProductData,\r\n ...productDataFromDB,\r\n ]);\r\n } else {\r\n setFilteredProductData([...productDataFromDB]);\r\n }\r\n PAGE_INDEX = PAGE_INDEX + 1;\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const handleDirectionButton = (qRcodeId, locationId, index) => {\r\n setDirectionClick(true);\r\n const data = filteredProductData.filter(\r\n (x) => x.qRcodeId == qRcodeId && x.locationId == locationId\r\n );\r\n\r\n setLatitude(data[0].latitude);\r\n setLongitude(data[0].longitude);\r\n setIndex(index);\r\n setAllData(data);\r\n };\r\n\r\n const handleDirectionButtonOnSearch = (qRcodeId, locationId, index) => {\r\n setDirectionClick(true);\r\n const data = searchData.filter(\r\n (x) => x.qRcodeId == qRcodeId && x.locationId == locationId\r\n );\r\n\r\n setLatitude(data[0].latitude);\r\n setLongitude(data[0].longitude);\r\n setIndex(index);\r\n setAllData(data);\r\n };\r\n\r\n let lat = latitude;\r\n let lng = longitude;\r\n return (\r\n \r\n
\r\n \r\n
\r\n {searchClicked ? (\r\n
\r\n
\r\n {\r\n getProductLocation();\r\n }}\r\n hasMore={hasMore}\r\n endMessage={\r\n
\r\n No More Records\r\n
\r\n }\r\n height={400}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {searchData != \"\" ? (\r\n \r\n {searchData &&\r\n searchData.map((item, index) => {\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 handleDataSearch(e);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {item.product_Name}\r\n
\r\n \r\n {\" \"}\r\n {item.qRcodeId}\r\n \r\n \r\n {\" \"}\r\n {item.name}\r\n \r\n \r\n {item.address}\r\n \r\n
\r\n
\r\n \r\n handleDirectionButtonOnSearch(\r\n item.qRcodeId,\r\n item.locationId,\r\n index\r\n )\r\n }\r\n />\r\n Directions\r\n
\r\n
\r\n
\r\n
\r\n No Data Available\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n {\r\n getProductLocation();\r\n }}\r\n hasMore={hasMore}\r\n loader={\r\n
\r\n Loading...\r\n
\r\n \r\n }\r\n endMessage={\r\n
\r\n No More Records\r\n
\r\n }\r\n height={400}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {loading ? : \"\"}\r\n {filteredProductData &&\r\n filteredProductData.length > 0 &&\r\n filteredProductData.map((item, index) => {\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 handleDataSearch(e);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {item.product_Name}\r\n
\r\n \r\n {\" \"}\r\n {item.qRcodeId}\r\n \r\n \r\n {\" \"}\r\n {item.name}\r\n \r\n \r\n {item.address}\r\n \r\n
\r\n\r\n
\r\n \r\n handleDirectionButton(\r\n item.qRcodeId,\r\n item.locationId,\r\n index\r\n )\r\n }\r\n />\r\n Directions\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n {!isLoaded ? (\r\n
\r\n \r\n
Loading...
\r\n
\r\n
\r\n ) : (\r\n \r\n {latitude && longitude && directionClick ? (\r\n \r\n {\r\n setSelected(\"on\");\r\n setId(index);\r\n }}\r\n onMouseOver={() => {\r\n setSelected(\"on\");\r\n setId(index);\r\n }}\r\n onMouseOut={() => {\r\n setSelected(\"off\");\r\n }}\r\n >\r\n {selected == \"on\" &&\r\n id == index &&\r\n allData &&\r\n allData.map((item, index) => (\r\n setActiveMarker(null)}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {item.product_Name}\r\n
\r\n \r\n {\" \"}\r\n {item.qRcodeId}\r\n \r\n \r\n {\" \"}\r\n {item.name}\r\n \r\n \r\n {item.address}\r\n \r\n
\r\n
\r\n \r\n Connect\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n\r\n\r\n filteredProductData &&\r\n filteredProductData.map((item, index) => {\r\n let lat = item.latitude;\r\n let lng = item.longitude;\r\n return (\r\n {handleActiveMarker(index), setSelected(\"on\"),setId(index)}}\r\n position={{ lat, lng }}\r\n onClick={() => {\r\n setSelected(\"on\");\r\n\r\n setId(index);\r\n }}\r\n onMouseOver={() => {\r\n setSelected(\"on\");\r\n setId(index);\r\n }}\r\n onMouseOut={() => {\r\n setSelected(\"off\");\r\n }}\r\n >\r\n {selected == \"on\" && id == index ? (\r\n\r\n // {selected == \"on\" && activeMarker == index ? (\r\n setActiveMarker(null)}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {item.product_Name}\r\n
\r\n \r\n {\" \"}\r\n {item.qRcodeId}\r\n \r\n \r\n {\" \"}\r\n {item.name}\r\n \r\n \r\n {item.address}\r\n \r\n
\r\n
\r\n \r\n Connect\r\n
\r\n
\r\n
\r\n \r\n ) : null}\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 connect()(ProductPointing);\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport * as url from \"../../api/uri_helper\";\r\nimport PDF from \"../../UserAssets/images/pdf-icn.svg\";\r\nimport downloadIcon from \"../../UserAssets/images/download-icn.svg\";\r\nimport toast, { Toaster, useToasterStore } from 'react-hot-toast';\r\nimport { fetchAllQrCodes, fetchAllQrId } from \"../../Redux/Api/fetch.api\";\r\nimport Layout from \"../Layout\";\r\nimport \"../../../src/custom.css\";\r\nimport { Link } from \"react-router-dom\";\r\nimport UploadComponent from \"../QR/upload\";\r\nimport { getAllQRByLocationId } from \"../../Redux/Actions/qrByLocationId\";\r\nimport { setDeviceTypes } from \"../../Redux/Actions/DeviceActions\";\r\nimport Arrow_leftbrown from \"../../assets/images/Arrow_leftbrown.svg\";\r\nimport {\r\n fetchAllQRByLocationId, fetchDeviceProducts, fetchAllLocationByCompanyId, fetchGuideProducts,\r\n fetchCompanyDetails, fetchMediaData, fetchProducts, fetchVirtualQRCode, copyAllQRDataById, fetchAllQrCodesWithThumbnail\r\n} from \"../../Redux/Api/fetch.api\";\r\nimport { getAllLocationByCompanyId } from \"../../Redux/Actions/LocationByCompany\";\r\nimport Loader from \"../loader\";\r\nimport { setAreaTypes } from \"../../Redux/Actions/AreaActions\";\r\nimport { setGuideTypes } from \"../../Redux/Actions/GuideActions\";\r\nimport { setMediaTypes } from \"../../Redux/Actions/MediaActions\";\r\nimport ReactPlayer from \"react-player\";\r\nimport '../QrReview/QRReview.css'\r\nimport { Editor } from \"react-draft-wysiwyg\";\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\nimport { EditorState, ContentState } from 'draft-js';\r\nimport htmlToDraft from 'html-to-draftjs';\r\nimport axios from \"axios\";\r\nimport ErrorOutlineOutlinedIcon from '@mui/icons-material/ErrorOutlineOutlined';\r\n \r\n \r\n\r\n\r\nconst Update = () => {\r\n\r\n const { toasts } = useToasterStore();\r\n useEffect(() => {\r\n toasts\r\n .filter((t) => t.visible) // Only consider visible toasts\r\n .filter((_, i) => i >= TOAST_LIMIT) // Is toast index over limit\r\n .forEach((t) => toast.dismiss(t.id)); // Dismiss – Use toast.remove(t.id) removal without animation\r\n }, [toasts]);\r\n const allCompanyDataDetails = useSelector((state) => state.allCompanyDetails.company);\r\n const selectedCompanyLocations = useSelector((state) => state.allLocationByCompany.allLocationByCompanyId);\r\n const selectedQrByLocation = useSelector((state) => state.allQRByLocationId.allQRByLocation); \r\n const allDeviceTypes = useSelector((state) => state.allDeviceType.deviceTypes);\r\n const allAreaTypes = useSelector((state) => state.allAreaType.areaTypes);\r\n const allGuideTypes = useSelector((state) => state.allGuideType.guideTypes);\r\n const allMediaTypes = useSelector((state) => state.allMediaType.mediaTypes);\r\n \r\n\r\n const [qrCodeDescription, setQrCodeDescription] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const dispatch = useDispatch();\r\n const [areaDescription, setAreaDescription] = useState();\r\n const [countArea, setCountArea] = useState(0);\r\n const [currentDeviceTypeId, setCurrentDeviceTypeId] = useState();\r\n const [currentAreaTypeId, setCurrentAreaTypeId] = useState();\r\n const [productData, setProductData] = useState()\r\n const [countProduct, setCountProduct] = useState(0);\r\n const [countQr, setCountQr] = useState(0);\r\n const [countGuide, setCountGuide] = useState(0);\r\n const [guideDescription, setGuideDescription] = useState();\r\n \r\n \r\n const [currentGuideTypeId, setCurrentGuideTypeId] = useState();\r\n const [currentCompanyId, setCurrentCompanyId] = useState(0);\r\n const [currentLocationId, setCurrentLocationId] = useState(0);\r\n const [countDevice, setCountDevice] = useState(0);\r\n const [currentMediaTypeId, setCurrentMediaTypeId] = useState();\r\n const [currentMediaTypeKey, setCurrentMediaTypeKey] = useState();\r\n const [deviceName, setDeviceName] = useState([]);\r\n const [deviceDescription, setDeviceDescription] = useState();\r\n const [areaName, setAreaName] = useState([]);\r\n const [guideName, setGuideName] = useState([]);\r\n const [currentQRCodeId, setCurrentQRCodeId] = useState(\"Select QR\");\r\n const [ifAddingQrCode, setifAddingQrCode] = useState(false);\r\n const [country, setCountry] = useState();\r\n const [state, setState] = useState();\r\n const [city, setCity] = useState();\r\n const [postalCode, setPostalCode] = useState();\r\n const [address, setAddress] = useState();\r\n const [mediaIdToUpdate, setMediaIdToUpdate] = useState();\r\n let qrCodeToUpdate = {};\r\n const [updateSection, setUpdateSection] = useState({ activeAccordianHeader: false, activeAccordianDevice: false, activeAccordianArea: false, activeAccordianGuides: false, activeAccordianUpload: false, activeAccordianQR: false })\r\n const [uploadMedia, setUploadMedia] = useState({ image: false, pdf: false, video: false, url: false, text: false })\r\n let mediaKey = '';\r\n const [editorState, setEditorState] = useState(EditorState.createEmpty());\r\n const [textMedia, setTextMedia] = useState(\"\");\r\n const [mediaDesc, setMediaDesc] = useState(\"\");\r\n const [countMedia, setCountMedia] = useState(0);\r\n const [imgPresent, setImgPresent] = useState()\r\n const [priority, setPriority] = useState();\r\n const [header, setHeader] = useState();\r\n const [countText, setCountText] = useState(0);\r\n const [pdfpresent, setPdfPresent] = useState()\r\n const [mediaFilename, setMediaFilename] = useState(\"\");\r\n const priorityList = [{ name: \"0\", value: 0 }, { name: \"1\", value: 1 }, { name: \"2\", value: 2 }, { name: \"3\", value: 3 }, { name: \"4\", value: 4 }, { name: \"5\", value: 5 }, { name: \"6\", value: 6 },];\r\n const [pdfLink, setpdfLink] = useState();\r\n const [source, setSource] = useState();\r\n const [showVideo, setShowVideo] = useState();\r\n const [mediaName, setMediaName] = useState([]);\r\n const [urlFormatError, setUrlFormatError] = useState(false);\r\n const [videoMedia, setVideoMedia] = useState(\"\");\r\n const [videoFileName, setVideoFileName] = useState(\"\");\r\n const [pdfFileName, setPDFFileName] = useState(\"\");\r\n const [pdfMedia, setPdfMedia] = useState(\"\");\r\n const [imgSrcs, setImgSrcs] = useState([]);\r\n const [videoFormatError, setVideoFormatError] = useState(false);\r\n const [urlMedia, setUrlMedia] = useState(\"\");\r\n const [videoSizeError, setVideoSizeError] = useState(false);\r\n const InputRef = useRef();\r\n let history = useHistory();\r\n const [conditionalStyleImage, setConditionalStyleImage] = useState(false)\r\n const [changeCount, setChangeCount] = useState(0);\r\n const [mediaFiles, setMediaFiles] = useState([]);\r\n const TOAST_LIMIT = 1;\r\n\r\n const [error, setError] = useState({\r\n video: \"\",\r\n imagesErr: \"\",\r\n urlMediaErr: \"\",\r\n pdfMediaErr: \"\",\r\n //durationError: \"\",\r\n textMediaError: \"\"\r\n });\r\n const [images, setImages] = useState({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [\r\n ],\r\n },\r\n });\r\n const [dataErrorShow, setDataErrorShow] = useState({\r\n companyErr: \"\",\r\n locationErr: \"\",\r\n qrcodeErr: \"\",\r\n deviceErr: \"\",\r\n areaErr: \"\",\r\n guideErr: \"\",\r\n mediaErr: \"\",\r\n priorityErr: \"\",\r\n subPriorityErr: \"\",\r\n headerErr: \"\",\r\n });\r\n \r\n\r\n useEffect(() => {\r\n\r\n //setLoading(true);\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 2000);\r\n getAllLocationByCompany();\r\n getDeviceTypeData(); \r\n allQRByLocation(); \r\n getMediaTypeDetails(); \r\n let urlData = location.pathname.split(\"/\");\r\n if (urlData[4] && urlData[6] && urlData[4] !== 0 && urlData[6] !== 0) {\r\n setCurrentQRCodeId(urlData[4]);\r\n setMediaIdToUpdate(urlData[6]); \r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setUploadMedia((prev) => ({ ...prev, image: false, video: false, pdf: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: false, activeAccordianDevice: false, activeAccordianGuides: false, activeAccordianHeader: false, activeAccordianQR: false, activeAccordianUpload: false }))\r\n }, [])\r\n\r\n useEffect(() => {\r\n debugger;\r\n setLoading(true)\r\n let urlData = location.pathname.split(\"/\");\r\n fetchAllQrId(urlData[4]).then(response => {\r\n debugger;\r\n qrCodeToUpdate = response.data.data.find((q) => q.mediaId == urlData[6]);\r\n setCurrentQRCodeId(urlData[4]);\r\n if (qrCodeToUpdate.guideTypeId)\r\n setCurrentGuideTypeId(qrCodeToUpdate.guideTypeId);\r\n setCurrentAreaTypeId(qrCodeToUpdate.areaTypeId);\r\n setCurrentDeviceTypeId(qrCodeToUpdate.deviceTypeId);\r\n setCurrentLocationId(qrCodeToUpdate.locationId);\r\n if (qrCodeToUpdate && qrCodeToUpdate.companyId)\r\n setCurrentCompanyId(qrCodeToUpdate.companyId);\r\n if (qrCodeToUpdate && qrCodeToUpdate.locationId)\r\n setCurrentLocationId(qrCodeToUpdate.locationId);\r\n if (qrCodeToUpdate && qrCodeToUpdate.address)\r\n setAddress(qrCodeToUpdate.address);\r\n if (qrCodeToUpdate && qrCodeToUpdate.state)\r\n setState(qrCodeToUpdate.state);\r\n if (qrCodeToUpdate && qrCodeToUpdate.city)\r\n setCity(qrCodeToUpdate.city);\r\n if (selectedCompanyLocations && selectedCompanyLocations.length > 0) {\r\n setCurrentLocationId(qrCodeToUpdate.locationId);\r\n let countryObj = selectedCompanyLocations.find(\r\n (c) => c.locationId == qrCodeToUpdate.locationId\r\n );\r\n if (countryObj) {\r\n setCountry(countryObj.location.country);\r\n setPostalCode(countryObj.location.postalCode);\r\n }\r\n }\r\n\r\n // media\r\n if (allMediaTypes && allMediaTypes.length > 0) {\r\n if (qrCodeToUpdate.mediaKey == \"pdf\" ) {\r\n setPdfPresent(qrCodeToUpdate.mediaTypeId)\r\n }\r\n if (qrCodeToUpdate.mediaKey == \"img\" ) {\r\n setImgPresent(qrCodeToUpdate.mediaTypeId)\r\n }\r\n if (mediaIdToUpdate) {\r\n setCurrentMediaTypeId(qrCodeToUpdate.mediaTypeId);\r\n setMediaDesc(qrCodeToUpdate.mediaDescription);\r\n }\r\n if (qrCodeToUpdate.mediaDescription != null )\r\n setCountMedia(qrCodeToUpdate.mediaDescription.length);\r\n setMediaFilename(qrCodeToUpdate.filename);\r\n let mediaDetails = allMediaTypes.find(\r\n (x) => x.mediaTypeId == qrCodeToUpdate.mediaTypeId\r\n );\r\n if (mediaDetails && mediaDetails.name )\r\n setMediaName(mediaDetails.name);\r\n if (mediaDetails && mediaDetails.key )\r\n setCurrentMediaTypeKey(mediaDetails.key);\r\n if (qrCodeToUpdate.mediaKey === \"img\" )\r\n setImgSrcs([qrCodeToUpdate.filename]);\r\n if (qrCodeToUpdate.mediaKey === \"vdo\" )\r\n setShowVideo([qrCodeToUpdate.filename]);\r\n if (qrCodeToUpdate.mediaKey === \"pdf\" )\r\n setpdfLink(qrCodeToUpdate.filename);\r\n if (qrCodeToUpdate.mediaKey === \"url\" ) {\r\n setUrlMedia(qrCodeToUpdate.filename);\r\n }\r\n if (qrCodeToUpdate.mediaKey === \"Text\" ) {\r\n setTextMedia(qrCodeToUpdate.mediaDescription);\r\n }\r\n }\r\n\r\n if (priorityList && qrCodeToUpdate.priority && priorityList.length > 0 || qrCodeToUpdate.priority==0) {\r\n setPriority(qrCodeToUpdate.priority);\r\n }\r\n\r\n if (qrCodeToUpdate.header) {\r\n setHeader(qrCodeToUpdate.header);\r\n }\r\n if (qrCodeToUpdate.priority == \"Select Priority\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n setLoading(false)\r\n });\r\n }, [mediaIdToUpdate]);\r\n\r\n useEffect(() => {\r\n if (currentCompanyId > 0)\r\n getAllLocationByCompany();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n getAreaTypeDetails();\r\n }, [currentQRCodeId]);\r\n\r\n useEffect(() => {\r\n\r\n if (currentCompanyId > 0)\r\n allQRByLocation();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n getDeviceTypeData();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n getGuideTypeDetails()\r\n }, [currentQRCodeId]);\r\n\r\n useEffect(() => {\r\n debugger;\r\n if (selectedQrByLocation && selectedQrByLocation.length > 0) {\r\n let qrcodedeDesc = selectedQrByLocation.find(\r\n (q) => q.qRcodeId == currentQRCodeId\r\n );\r\n if (qrcodedeDesc && qrcodedeDesc.description) {\r\n setQrCodeDescription(qrcodedeDesc.description);\r\n setCountQr(qrcodedeDesc.description.length);\r\n }\r\n if (qrcodedeDesc && qrcodedeDesc.product_Name) {\r\n setProductData(qrcodedeDesc.product_Name);\r\n setCountProduct(qrcodedeDesc.product_Name.length);\r\n }\r\n }\r\n }, [selectedQrByLocation]);\r\n\r\n useEffect(() => {\r\n if (allGuideTypes && allGuideTypes.length > 0) {\r\n // setCurrentGuideTypeId(qrCodeToUpdate.guideTypeId);\r\n let guideType = allGuideTypes.find(\r\n (g) => g.guideTypeId == currentGuideTypeId\r\n );\r\n if (guideType && guideType.name)\r\n setGuideName(guideType.name);\r\n if (guideType && guideType.description)\r\n setGuideDescription(guideType.description);\r\n if (guideType && guideType.description)\r\n setCountGuide(guideType.description.length);\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n if (allAreaTypes && allAreaTypes.length > 0) {\r\n //setCurrentAreaTypeId(qrCodeToUpdate.areaTypeId);\r\n let areaType = allAreaTypes.find(\r\n (a) => a.areaTypeId == currentAreaTypeId\r\n );\r\n if (areaType && areaType.name)\r\n setAreaName(areaType.name);\r\n if (areaType && areaType.description)\r\n setAreaDescription(areaType.description);\r\n if (areaType && areaType.description)\r\n setCountArea(areaType.description.length);\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n debugger;\r\n if (selectedCompanyLocations && selectedCompanyLocations.length > 0) { \r\n let countryObj = selectedCompanyLocations.find(\r\n (c) => c.locationId == currentLocationId\r\n );\r\n if (countryObj) {\r\n setCountry(countryObj.location.country);\r\n setPostalCode(countryObj.location.postalCode);\r\n }\r\n }\r\n }, [selectedCompanyLocations])\r\n\r\n useEffect(() => {\r\n if (allDeviceTypes && allDeviceTypes.length > 0) { \r\n let deviceType = allDeviceTypes.find(\r\n (a) => a.deviceTypeId == currentDeviceTypeId\r\n );\r\n if (deviceType && deviceType.name)\r\n setDeviceName(deviceType.name);\r\n if (deviceType && deviceType.description)\r\n setDeviceDescription(deviceType.description);\r\n if (deviceType && deviceType.description)\r\n setCountDevice(deviceType.description.length);\r\n }\r\n\r\n })\r\n\r\n useEffect(() => {\r\n if (mediaIdToUpdate) {\r\n //Convert HTML to text\r\n const htmlText = mediaDesc ? mediaDesc.trim() : \"\";\r\n const parser = new DOMParser();\r\n const htmlDoc = parser.parseFromString(htmlText, 'text/html');\r\n const body = htmlDoc.body;\r\n // Convert the HTML content to a Draft.js ContentState object\r\n const blocksFromHtml = htmlToDraft(htmlText);\r\n const { contentBlocks, entityMap } = blocksFromHtml;\r\n const contentState = ContentState.createFromBlockArray(contentBlocks, entityMap);\r\n const editorState = EditorState.createWithContent(contentState); \r\n setEditorState(editorState);\r\n }\r\n }, [mediaDesc]);\r\n\r\n const showDataError = (e) => {\r\n e.preventDefault();\r\n\r\n let errors = { ...dataErrorShow };\r\n if (videoSizeError && mediaIdToUpdate) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n } \r\n //if (header == null) {\r\n // // setConditionalStyleHeader(true)\r\n // setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n //}\r\n setDataErrorShow(errors);\r\n \r\n //if (errors.headerErr) {\r\n // errors.headerErr = \"Please Enter Header\";\r\n // return false;\r\n //}\r\n if (errors.priorityErr) {\r\n errors.priorityErr = \"Please select Priority & Header\";\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const onEditorStateChange = (editorState) => {\r\n setEditorState(editorState);\r\n setUrlMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n // setMediaDesc(\"\"); \r\n setUploadMedia((prev) => ({ ...prev, pdf: false, image: false, video: false, url: false, text: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setChangeCount(changeCount + 1);\r\n }\r\n\r\n const setEditorReference = (ref) => {\r\n if (ref != null) {\r\n if (ref.innerText != \"\") {\r\n setTextMedia(ref.innerHTML);\r\n }\r\n else {\r\n setError(\"Media text should not be empty.\");\r\n }\r\n }\r\n else {\r\n setError(\"Media text should not be empty.\");\r\n }\r\n }\r\n\r\n function b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || \"\";\r\n sliceSize = sliceSize || 512;\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n const getMediaData = () => {\r\n const formData = new FormData();\r\n let isMedia = false;\r\n // convert base64 to fileData // this is for images\r\n //image\r\n mediaFiles.forEach((mFile) => {\r\n var imageUrl = mFile.split(\";\");\r\n\r\n var contentType = imageUrl[0].split(\":\")[1];\r\n var realData = imageUrl[2].split(\",\")[1];\r\n // Convert to blob\r\n var blob = b64toBlob(realData, contentType);\r\n const _fileData = new File([blob], imageUrl[1].substring(5)); // passing name\r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n });\r\n\r\n // for source / vedios\r\n if (source) {\r\n const vedioData = new File([new Blob([videoMedia])], videoFileName);\r\n formData.append(\"MediaFiles\", vedioData);\r\n isMedia = true;\r\n }\r\n\r\n // for PDF\r\n if (pdfMedia) {\r\n const pdfData = new File([new Blob([pdfMedia])], pdfFileName);\r\n formData.append(\"MediaFiles\", pdfData);\r\n isMedia = true;\r\n }\r\n // For TEXT\r\n if (textMedia) {\r\n isMedia = false;\r\n }\r\n\r\n if (mediaIdToUpdate) {\r\n // Update\r\n formData.append(\"QRCodeID\", currentQRCodeId);\r\n formData.append(\"QRDescription\", qrCodeDescription);\r\n if (productData)\r\n formData.append(\"Product_Name\", productData);\r\n formData.append(\"DeviceDescription\", deviceDescription);\r\n formData.append(\"GuideDescription\", guideDescription);\r\n formData.append(\"AreaDescription\", areaDescription);\r\n formData.append(\"PriorityQr\", priority);\r\n formData.append(\"companyId\", currentCompanyId);\r\n formData.append(\"DeviceName\", deviceName);\r\n formData.append(\"AreaName\", areaName);\r\n formData.append(\"GuideName\", guideName);\r\n formData.append(\"Header\", header);\r\n /*formData.append(\"SubPriority\", subPriority);*/\r\n formData.append(\"IsMedia\", isMedia);\r\n formData.append(\"MediaTypeId\", currentMediaTypeId);\r\n formData.append(\"DeviceTypeID\", currentDeviceTypeId);\r\n formData.append(\"AreaTypeID\", currentAreaTypeId);\r\n formData.append(\"GuideTypeID\", currentGuideTypeId);\r\n formData.append(\"LocationID\", currentLocationId);\r\n formData.append(\"CompanyId\", currentCompanyId);\r\n formData.append(\"MediaTypeKey\", currentMediaTypeKey);\r\n // formData.append(\"MediaDescription\", mediaDesc);\r\n //New Changes\r\n if (mediaKey != \"Text\") {\r\n formData.append(\"MediaDescription\", mediaDesc);\r\n }\r\n else {\r\n formData.append(\"MediaDescription\", textMedia.trim());\r\n }\r\n //End\r\n formData.append(\"MediaData\", urlMedia);\r\n formData.append(\"MediaFilename\", mediaFilename);\r\n //if (mediaIdToUpdate)\r\n formData.append(\"MediaId\", mediaIdToUpdate);\r\n } \r\n return formData;\r\n };\r\n\r\n const handleHeaderOnChange = (e) => {\r\n setChangeCount(changeCount + 1);\r\n setHeader(e.target.value);\r\n setCountText(e.target.value.length);\r\n let error = { ...dataErrorShow };\r\n if (priority != undefined && priority != \"Select priority\" && priority != null) { \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: false }))\r\n } else { \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n setDataErrorShow(error);\r\n };\r\n\r\n const handlePriorityOnChange = (e) => {\r\n if (e.target.value == \"Select Priorty\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n if (e.target.value != \"Select Priorty\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: false }))\r\n } \r\n }\r\n\r\n const getMediaDetailsUpload = (e) => {\r\n const MediaChanges = e.target.value\r\n setCurrentMediaTypeId(e.target.value)\r\n setMediaDesc(\"\")\r\n let mediaDetails = allMediaTypes.find(\r\n (x) => x.mediaTypeId == MediaChanges\r\n );\r\n if (mediaDetails && mediaDetails.name) {\r\n setMediaName(mediaDetails.name);\r\n setCurrentMediaTypeKey(mediaDetails.key);\r\n mediaDetails.mediaDescription ? setMediaDesc(mediaDetails.mediaDescription) : \"\";\r\n }\r\n if (e.target.value == \"Select Media\") {\r\n setMediaName(\"Select Media\")\r\n selectMedia(\"Select Media\")\r\n setMediaDesc(\"\")\r\n }\r\n setDataErrorShow(\"\");\r\n }\r\n\r\n const getAllLocationByCompany = () => {\r\n fetchAllLocationByCompanyId(currentCompanyId)\r\n .then((response) => {\r\n dispatch(getAllLocationByCompanyId(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getMediaTypeDetails = () => {\r\n fetchMediaData()\r\n .then((response) => dispatch(setMediaTypes(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getAreaTypeDetails = () => {\r\n fetchProducts()\r\n .then((response) => {\r\n dispatch(setAreaTypes(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getGuideTypeDetails = () => {\r\n fetchGuideProducts()\r\n .then(response => {\r\n\r\n dispatch(setGuideTypes(response.data))\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const getDeviceTypeData = () => {\r\n fetchDeviceProducts()\r\n .then((response) => {\r\n dispatch(setDeviceTypes(response.data));\r\n })\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const allQRByLocation = () => {\r\n fetchAllQRByLocationId(currentLocationId)\r\n .then((response) => dispatch(getAllQRByLocationId(response.data)))\r\n .catch((err) => {\r\n console.log(\"Err: \", err);\r\n });\r\n };\r\n\r\n const handleImageUploadChange = (files) => {\r\n setUrlMedia()\r\n setPdfMedia()\r\n setVideoMedia()\r\n const { pictures } = images.upload; \r\n setCurrentMediaTypeId(1); // for image type as this method is an en event handler for image upload \r\n setImages(\r\n {\r\n ...images,\r\n upload: {\r\n ...images.upload,\r\n pictures: [...pictures, ...files],\r\n },\r\n },\r\n );\r\n setMediaFiles([...files]);\r\n setChangeCount(changeCount + 1);\r\n setError(\"\");\r\n \r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setUploadMedia((prev) => ({ ...prev, image: false, video: false, url: false, pdf: false }))\r\n setImgSrcs([]);\r\n };\r\n\r\n const handleFileChange = (event) => {\r\n setPdfMedia()\r\n setUrlMedia()\r\n setImages()\r\n setImgSrcs([])\r\n if (event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n const url = URL.createObjectURL(file);\r\n const size = file.size / 1024 / 1024;\r\n setSource(file.name);\r\n setShowVideo(url);\r\n setVideoMedia(file);\r\n setVideoFileName(file.name);\r\n if (file.type == \"audio/mpeg\") {\r\n setVideoFormatError(true);\r\n \r\n setUploadMedia((prev) => ({ ...prev, video: true }))\r\n }\r\n else {\r\n setError(\"\");\r\n setVideoFormatError(false); \r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n //return;\r\n }\r\n\r\n if (size > 250) {\r\n setVideoSizeError(true);\r\n setConditionalStyleVideo(true)\r\n setUploadMedia((prev) => ({ ...prev, video: true }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }\r\n else {\r\n setError(\"\");\r\n setVideoSizeError(false) \r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n return;\r\n }\r\n setChangeCount(changeCount + 1);\r\n }\r\n else {\r\n setSource();\r\n setShowVideo();\r\n setVideoMedia();\r\n setVideoFileName();\r\n setConditionalStyleVideo(true)\r\n }\r\n };\r\n\r\n const handleProductName = (e) => {\r\n setProductData(e.target.value)\r\n setCountProduct(e.target.value.length)\r\n //let error = { ...dataErrorShow };\r\n if (e.target.value.trim() != \"\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: false }))\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: true }))\r\n }\r\n //setDataErrorShow(error);\r\n }\r\n\r\n const handleDescription = (e) => {\r\n setQrCodeDescription(e.target.value),\r\n setCountQr(e.target.value.length),\r\n setChangeCount(changeCount + 1);\r\n if (e.target.value.trim() != \"\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: false }))\r\n }\r\n else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianQR: true }))\r\n }\r\n }\r\n\r\n const getDeviceDetails = (e) => {\r\n setCurrentDeviceTypeId(e.target.value);\r\n setCopyQRCodeId(\"\");\r\n let deviceDetails = allDeviceTypes.find(\r\n (x) => x.deviceTypeId == e.target.value\r\n );\r\n if (deviceDetails && deviceDetails.name) {\r\n setDeviceName(deviceDetails.name)\r\n setDeviceDescription(deviceDetails.description)\r\n setCountDevice(deviceDetails.description.length)\r\n }\r\n if (e.target.value == \"Select Device\" || e.target.value == 0) {\r\n setDeviceName(\"Select Device\")\r\n setDeviceDescription(\"\")\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n\r\n const urlDataMedia = (e) => {\r\n\r\n setPdfMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n setUrlMedia(e.target.value);\r\n var res = e.target.value.match(\r\n \"https?: //(?:www.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].[^s]{2,}|www.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].[^s]{2,}|https?://(?:www.|(?!www))[a-zA-Z0-9]+.[^s]{2,}|www.[a-zA-Z0-9]+.[^s]{2,}\"\r\n );\r\n if (res == null) { \r\n setUploadMedia((prev) => ({ ...prev, url: true }))\r\n } else { \r\n setUploadMedia((prev) => ({ ...prev, video: false, pdf: false, image: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n }\r\n setError(\"\");\r\n };\r\n\r\n const onPdfSaveData = (e) => {\r\n setUrlMedia()\r\n setVideoMedia()\r\n setImages()\r\n setImgSrcs([])\r\n setTextMedia()\r\n const files = e.target.files[0];\r\n setPDFFileName(files.name.replace(/ /g, \"_\"));\r\n setPdfMedia(files);\r\n setError(\"\"); \r\n setUploadMedia((prev) => ({ ...prev, pdf: false, image: false, video: false, url: false }))\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n setChangeCount(changeCount + 1);\r\n };\r\n\r\n const selectMedia = (params) => {\r\n mediaKey = params\r\n //setMediaKey(params); \r\n switch (params) {\r\n case \"img\":\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {ifAddingQrCode ? imgSrcs.map((imgSrc) => (\r\n
\r\n \r\n X\r\n \r\n \r\n\r\n
\r\n )) :\r\n imgSrcs.map((imgSrc) => (\r\n
\r\n \r\n\r\n
))\r\n }\r\n
\r\n {updateSection.activeAccordianUpload && imgPresent ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n\r\n case \"vdo\":\r\n return (\r\n
\r\n handleFileChange(e)}\r\n accept=\".mov,.mp4,.wmv,.avi,.MOV\"\r\n />\r\n\r\n {showVideo ?\r\n \r\n : \"\"}\r\n\r\n {updateSection.activeAccordianUpload && showVideo ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false }))\r\n : (\"\")}\r\n\r\n {\r\n \r\n {!videoFormatError ? \" \" : \"Invalid Format\"}\r\n \r\n }\r\n {\r\n < small className=\"text-danger d-inline-block mt-3\">{!videoSizeError ? ' ' : 'Size Cannot Exceed 250 MB'}\r\n\r\n }\r\n
\r\n );\r\n\r\n case \"url\":\r\n return (\r\n
\r\n \r\n {updateSection.activeAccordianUpload && urlMedia ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false })) : (\r\n \"\"\r\n )}\r\n {\r\n \r\n {!urlFormatError ? \" \" : \"Invalid URL\"}\r\n \r\n }\r\n
\r\n );\r\n\r\n case \"pdf\":\r\n return (\r\n
\r\n
\r\n {\" \"}\r\n {!ifAddingQrCode && pdfpresent ? (\r\n \r\n
{\" \"}\r\n
DOWNLOAD FILE
\r\n
\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n { onPdfSaveData(e) }} />\r\n\r\n {updateSection.activeAccordianUpload && pdfpresent ? setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: false })) : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n case \"Text\":\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return
;\r\n }\r\n };\r\n\r\n const getAreaDetails = (e) => {\r\n setCurrentAreaTypeId(e.target.value);\r\n let areaDetails = allAreaTypes.find((x) => x.areaTypeId == e.target.value);\r\n if (areaDetails && areaDetails.name) {\r\n setAreaName(areaDetails.name);\r\n setAreaDescription(areaDetails.description)\r\n setCountArea(areaDetails.description.length)\r\n }\r\n if (e.target.value == \"Select Area\" || e.target.value == 0) {\r\n setAreaName(\"Select Area\")\r\n setAreaDescription(\"\")\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n } \r\n };\r\n\r\n const getGuideDetails = (e) => {\r\n setCurrentGuideTypeId(e.target.value);\r\n let guideDetails = allGuideTypes.find(\r\n (x) => x.guideTypeId == e.target.value\r\n );\r\n guideDetails ? setGuideName(guideDetails.name) : setGuideName(\"\");\r\n guideDetails ? setGuideDescription(guideDetails.description) : setGuideDescription(\"\");\r\n if (guideDetails && guideDetails.description) {\r\n setCountGuide(guideDetails.description.length)\r\n }\r\n setDataErrorShow(\"\");\r\n };\r\n const updateQrEditDetails = async (e) => {\r\n\r\n //setLoading(true);\r\n let iffieldserror = showDataError(e);\r\n if (deviceName == null || deviceName.length < 1) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: true }))\r\n }\r\n if (areaName == null || areaName.length < 1) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n }\r\n if (guideName == null || guideName.length < 1) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: true }))\r\n }\r\n if (mediaName == null || mediaName.length < 1) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true }))\r\n }\r\n\r\n if (videoSizeError == true) {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianupload: true }))\r\n }\r\n\r\n if (priority == null || priority == \"Select Priority\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianHeader: true }))\r\n }\r\n if (iffieldserror === true && !updateSection.activeAccordianArea && !updateSection.activeAccordianUpload && !updateSection.activeAccordianGuides && !updateSection.activeAccordianDevice && !updateSection.activeAccordianHeader && !videoSizeError) {\r\n setLoading(false);\r\n const formData = getMediaData();\r\n setLoading(true);\r\n const response_ = await axios({\r\n method: \"put\",\r\n url: url.PUT_UPDATEQREDITDETAILS,\r\n data: formData,\r\n }).then((response) => {\r\n setSource();\r\n setLoading(false);\r\n toast.success(response.data.message, {\r\n className: \"toastSuccess\",\r\n });\r\n setLoading(false);\r\n history.push(\"/QrReview\");\r\n\r\n setLoading(false);\r\n setImages({\r\n upload: {\r\n pictures: [],\r\n maxFileSize: 5242880,\r\n imgExtension: [\".jpg\", \".png\", \".jpeg\"],\r\n defaultImages: [],\r\n },\r\n });\r\n setSource();\r\n setUrlMedia();\r\n setPdfMedia();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n {loading ? : \"\"}\r\n
\r\n

\r\n \r\n \r\n Back\r\n \r\n

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

\r\n \r\n Company and Location\r\n \r\n

\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n CompanyDetails(e)\r\n }}\r\n \r\n >\r\n \r\n {allCompanyDataDetails &&\r\n allCompanyDataDetails.map((company) => (\r\n \r\n {company.companyName}{\" \"}\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 {selectedCompanyLocations &&\r\n selectedCompanyLocations.map((data) => (\r\n \r\n {data.location.name}{\" \"}\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
\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 QR Information\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 setCurrentQRCodeId(e);\r\n //getQRCodeDetails(e);\r\n }}\r\n\r\n\r\n >\r\n \r\n {selectedQrByLocation &&\r\n selectedQrByLocation.map((data) => (\r\n \r\n {data.qRcodeId}\r\n \r\n ))}\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n {currentQRCodeId != \"Select QR\" ?
\r\n
\r\n \r\n handleProductName(e)}>\r\n \r\n {countProduct}/100\r\n \r\n
\r\n
: \"\"}\r\n\r\n {currentQRCodeId != \"Select QR\" ?
\r\n
\r\n \r\n
\r\n {\r\n handleDescription(e)\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {countQr}/1000\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 Device Detail\r\n {updateSection.activeAccordianDevice ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n // setChangeCount(changeCount + 1);\r\n getDeviceDetails(e);\r\n setCurrentDeviceTypeId(e.target.value);\r\n \r\n if (e.target.value != \"Select Device\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: false }))\r\n setDeviceName(\"Select Device\")\r\n setDeviceDescription(\"\")\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianDevice: true }))\r\n }\r\n \r\n }}\r\n >\r\n \r\n {allDeviceTypes &&\r\n allDeviceTypes.map(\r\n (d) =>\r\n !d.isDeleted && d.active && (\r\n \r\n {\" \"}\r\n {d.name}{\" \"}\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 setDeviceDescription(e.target.value),\r\n setCountDevice(e.target.value.length);\r\n // setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countDevice}/1000\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 Area Details\r\n {updateSection.activeAccordianArea ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n // setChangeCount(changeCount + 1);\r\n getAreaDetails(e);\r\n setCurrentAreaTypeId(e.target.value);\r\n if (e.target.value != \"Select Area\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: false }))\r\n \r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianArea: true }))\r\n } \r\n }}\r\n >\r\n \r\n {allAreaTypes &&\r\n allAreaTypes.map(\r\n (a) =>\r\n !a.isDeleted && a.active && (\r\n \r\n {\" \"}\r\n {a.name}{\" \"}\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 setAreaDescription(e.target.value),\r\n setCountArea(e.target.value.length);\r\n // setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countArea}/1000\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 Guide Details\r\n {updateSection.activeAccordianGuides ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n // setChangeCount(changeCount + 1);\r\n getGuideDetails(e);\r\n setCurrentGuideTypeId(e.target.value);\r\n // let error = { ...dataErrorShow };\r\n if (e.target.value != \"Select Guide\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: false }))\r\n } else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianGuides: true }))\r\n }\r\n // setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {allGuideTypes &&\r\n allGuideTypes.map(\r\n (g) =>\r\n !g.isDeleted && g.active && (\r\n \r\n {\" \"}\r\n {g.name}{\" \"}\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 setGuideDescription(e.target.value),\r\n setCountGuide(e.target.value.length);\r\n // setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countGuide}/1000\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 Upload Media\r\n {updateSection.activeAccordianUpload ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n \r\n setCurrentMediaTypeId(e.target.value)\r\n \r\n getMediaDetailsUpload(e)\r\n if (e.target.value != \"Select Media\") {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true })) \r\n }\r\n else {\r\n setUpdateSection((prev) => ({ ...prev, activeAccordianUpload: true })) \r\n }\r\n }}\r\n >\r\n \r\n {allMediaTypes &&\r\n allMediaTypes.map((mediaTypes) => (\r\n \r\n {mediaTypes.name}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {currentMediaTypeKey != null && currentMediaTypeKey != undefined && currentMediaTypeId != \"Select Media\" ? (\r\n
{selectMedia(currentMediaTypeKey)}
\r\n ) : (\" \")}\r\n
\r\n
\r\n\r\n {\r\n mediaKey != \"Text\" ?\r\n
\r\n
\r\n \r\n
\r\n {\r\n setMediaDesc(e.target.value);\r\n setCountMedia(e.target.value.length);\r\n setChangeCount(changeCount + 1);\r\n }}\r\n >\r\n \r\n {countMedia}/1000\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 Header & Priority\r\n {updateSection.activeAccordianHeader ? : \"\"}\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setChangeCount(changeCount + 1);\r\n setPriority(e.target.value);\r\n handlePriorityOnChange(e);\r\n let error = { ...dataErrorShow }; setDataErrorShow(error);\r\n }}\r\n >\r\n \r\n {priorityList &&\r\n priorityList.map((p, index) => (\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 handleHeaderOnChange(e);\r\n }}\r\n >{\" \"}\r\n \r\n {countText}/200\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 updateQrEditDetails(e)}\r\n >\r\n Update\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport default connect()(Update);\r\n","import * as React from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Switch, BrowserRouter as Router,Navigate } from \"react-router-dom\";\r\nimport { PrivateRoute } from './Routes/PrivateRoute';\r\n// Import components\r\nimport Login from './components/Authentication/Login'\r\nimport Auth from './components/Authentication/Auth'\r\nimport ForgotPassword from './components/Authentication/ForgotPassword';\r\nimport EmailVerification from './components/Authentication/EmailVerification';\r\nimport Dashboard from './components/Dashboard/Index';\r\nimport User from './components/User/Index';\r\nimport CompanyIndex from './components/company/Index'\r\nimport RelationIndex from './components/Relation/index'\r\nimport IndexQrDetails from './components/QrReview/index.js'\r\nimport QRScan from './components/UserLogin/QRScan';\r\nimport QRThumbnail from './components/UserLogin/QRThumbnail';\r\nimport DetailedReview from './components/UserLogin/DetailedReview';\r\nimport QRAssign from './components/QRAssign/QRAssign'\r\nimport QRParentChild from './components/UserLogin/QRParentChild';\r\nimport IndexLocationType from './components/Location/Index';\r\nimport MediaIndex from './components/MediaType/Index';\r\nimport IndexGuideType from './components/GuideType/Index'\r\nimport IndexDevice from './components/DeviceType/Index';\r\nimport EmailConfirmation from './components/Authentication/EmailConfirmation';\r\nimport AreaType from './components/AreaType/Index.js';\r\nimport AreaTypeAdd from './components/AreaType/AddEdit';\r\nimport UserTypeAdd from './components/User/Add';\r\nimport CompanyAdd from './components/company/AddEdit'\r\nimport LocationAdd from './components/Location/Add';\r\nimport LocationUpdate from './components/Location/LocationUpdate';\r\nimport MediaTypeAdd from './components/MediaType/Add';\r\nimport RelationAdd from './components/Relation/add'\r\nimport GuideTypeAdd from './components/GuideType/Add';\r\nimport DeviceTypeAdd from './components/DeviceType/Add';\r\n// import AssignQR from './components/QR/Index';\r\nimport AssignQR from './components/QR/openModal';\r\nimport AddQR from './components/QrReview/AddQR'\r\nimport VirtualQRReview from './components/QrReview/VirtualQRReview'\r\nimport ChangePassword from './components/ChangePassword/ChangePassword';\r\nimport ChangeOldPassword from './components/ChangePassword/ChangeOldPassword';\r\nimport openQR from './components/QR/openQR';\r\nimport ThumbnailList from './components/Dashboard/ThumbnailList';\r\nimport AddQREntries from './components/QREntries/QREntry';\r\nimport QREntriesIndex from './components/QREntries/Index';\r\n// Import css\r\nimport './assets/css/style.css';\r\nimport './assets/css/fontawesome.css'\r\n\r\nimport Index from './components/AreaType/Index.js';\r\n\r\n// import UserComponent from './components/User/CustomerComponent';\r\nimport MediaComponent from './components/MediaType/MediaComponent';\r\nimport QrDetailsComponent from './components/QrReview/QrReviewComponent';\r\n\r\nimport RelationComponent from './components/Relation/RelationComponent';\r\nimport { CompanyDetails } from './Redux/Constants/Company';\r\nimport AboutUs from './components/UserLogin/AboutUs';\r\nimport contactUs from './components/UserLogin/Contact';\r\nimport InvalidQR from './components/UserLogin/InvalidQR';\r\nimport ProductPointing from './components/ProductPointing';\r\nimport UpdateQR from './components/QrReview/UpdateQR'\r\n\r\n\r\n \r\nexport default () => (\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 \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","// 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 url = process.env.PUBLIC_URL as string;\r\n const publicUrl = new URL(url, window.location.toString());\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: string) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing as ServiceWorker;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string) {\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 const contentType = response.headers.get('content-type');\r\n if (response.status === 404 || (contentType && contentType.indexOf('javascript') === -1)) {\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('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\nimport configureStore from './store/configureStore';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root'));\r\n\r\nregisterServiceWorker();\r\n"],"sourceRoot":""}