{"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","assets/images/support_page/Support QR.png","components/UserLogin/SupportUploader.js","assets/images/support_page/documentuploadicon.png","assets/images/support_page/attachment-icon.svg","assets/images/support_page/support-open.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/profile__new.png","assets/images/support_page/settings.svg","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/gridview.svg","UserAssets/images/listview.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/QRCodeGenerator.js","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/CropUtils.js","components/QR/CropImage.js","components/Quill/Quill.js","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","GET_AllDATABYMEDIAID","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","fetchAllDataByMediaId","mediaid","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","selectedCountryCode","setSelectedCountryCode","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","activeTab","setActiveTab","inputRef","cursorPosition","setCursorPosition","setFocusedPhoneInput","setFocusedTexArea","layoutName","setLayoutName","hasEntered","setHasEntered","keyboard","textareaRef","textareaDisable","setTextareaDisable","setIsLoading","setHeicFile","isDisabled","setIsDisabled","selectedCountry","setSelectedCountry","audioBlob","setAudioBlob","setDocFileName","iskeyboardClicked","setIsKeyboardClicked","openqrcode","setOpenQrCode","openkeyboard","setOpenKeyboard","keyboardVisible","setKeyboardVisible","alphakeyboardVisible","setAlphaKeyboardVisible","input","setInput","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","country","callingCode","getCountryCallingCode","inputElement","addEventListener","getCursorPosition","handleBackspace","removeEventListener","handleButtonClick","focus","rawPosition","selectionStart","inputValue","numericCount","char","deleteIndex","countryCode","phoneNumber","replace","updatedPhNumberWithoutChar","updatedInputWithSpaces","insertSpacesInNumber","endsWith","number","formattedNumber","spacePositions","handleNumericInput","button","caretPosition","updatedInput","updatedPhoneNumber","validatePhoneNumber","totalDigits","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","newBlob","newUrl","prevImages","some","existingFile","prevFiles","handleImageDeletion","handleRemoveImgClick","replaceExistingAudio","recordedFileName","audiofileType","audioFileExtension","existingAudioIndex","findIndex","createElement","load","handleSubmitText","updatedAllFilesArray","removedImage","updatedImagesArray","removedVideo","updatedVideosArray","removedDoc","updatedDocsArray","isMobileView","innerWidth","background","close_icon","role","side_msg","side_phone","backgroundColor","fontSize","profile_pic","support_img","Label","defaultCountry","onCountryChange","currentDigits","countryCallingCodeEditable","international","phone","onFocus","ref","smartCaret","Select","selectedValue","category","workDescription","close_container_icon","playsInline","fluid","documentuploadicon","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","rows","resize","handleRequestSubmit","send_icon","locatiion","PhoneIcon","SupportIcon","layout","default","newLineOnEnter","keyboardRef","r","disableCaretPositioning","addQrCodes","AboutUs","isSupportIcon","isParentId","isId","isQRCode","parentQrCodeId","parentQRId","parentQrCodeIdnew","parentQrCodeIdlatest","qrGroupingDetails","isBackButton","isCurrentid","BackBtn","setQrCodeIdDataByGuideType","locationObject","numPages","setNumPages","allQRCodeIdData","parentThumbnail","Object","keys","entries","qrGrouping","savedHomeId","setSavedHomeId","homeId","qrDescription","setqrDescription","viewpdf","setViewpdf","setQRId","allQrData","urlId","nextId","getQRDescBasedonMediaID","flat","find","Item","playing","volume","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","dialogClassName","QRCodeGenerator","qrUrl","level","fgColor","bgColor","QRParentChildDetail","childQrDetails","checkVirtualData","setCheckVirtualData","scanedQRDetails","currentId","setCurrentId","comingqrId","setComingQrId","setCurrentVirtualId","showChildImage","setShowChildImage","showmodal","setShowModal","backbutton","childDataId","virtualData","setVirtualData","setVirtualCode","checkVirtualCode","setCheckVirtualCode","checkQRCode","setCheckQRCode","parentDataId","baseUrl","URLSearchParams","search","origin","getparentchilddata","qrcode","comingid","getQRDetailsonLoad","isVirtualCode","backPage","handleQRImageShow","thumbnailName","tp","ShareIcon","stopPropagation","querySelector","classList","remove","CloseIcon","link","clipboard","writeText","alert","cursor","CopyIcon","EmailIcon","marginRight","noimage","zoom","details","mediaDescOfQR","parentproductname","newparentproductname","parentProduct_Name","childThumbnail","setId","showZoomImage","setShowZoomImage","qRCode","setQRCode","islistView","QrCode","next","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","getRole","getRoleIds","selectedRoles","roleItem","roleId","label","when","is","otherwise","postUserData","updateUserData","FirstName","LastName","PasswordHash","PhoneNumber","Address","rolesIdsToUpdate","Update","enableSearch","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","nameErr","addressErr","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","createImage","Promise","resolve","reject","image","Image","setAttribute","getCroppedImg","pixelCrop","canvas","ctx","getContext","drawImage","y","nameMatch","imageName","currentTime","toISOString","croppedImageDataUrl","toDataURL","cropImage","croppedAreaPixels","croppedImage","ImageCropper","open","onComplete","containerStyle","crop","setCrop","setZoom","setCroppedAreaPixels","cropWidth","setCropWidth","cropHeight","setCropHeight","Dialog","maxWidth","fullWidth","DialogTitle","DialogContent","aspect","onCropChange","onCropComplete","onZoomChange","DialogActions","display","flexDirection","alignItems","justifyContent","htmlFor","max","step","Number","Size","Quill","import","whitelist","register","ReactQuillEditor","onChangeValue","editorValue","setEditorValue","Font","modules","toolbar","container","list","font","theme","content","formats","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","dialogOpen","setDialogOpen","currentImage","setCurrentImage","videoFileName","setVideoFileName","imagesErr","urlMediaErr","pdfMediaErr","textMediaErr","setError","getDeviceTypeData","getAreaTypeDetails","getMediaTypeDetails","getGuideTypeDetails","getCompanyLocationMapping","getLocationDetails","ProductName","pdferror","setPdfError","mediaFiles","setMediaFiles","setPdfData","handleFileChange","currentImageIndex","setCurrentImageIndex","warn","newIndex","Math","handleCropComplete","imagePromise","newImgSrcs","confirmUpload","handleErrors","handleEnterManualQR","handleCreateModalClose","handleError","updateLocationByQRId","handleCopyModalClose","verifyNotMappedLocations","copyMediaData","handleShow","saveMediaType","isMedia","mFile","base64Data","part","vedioData","saveMediaData","handleCancel","handleEditorChange","editor","locationDetails","AddVirtual","companyLocationMappingData","mappingName","getCompanyLocationTypeData","mapping","QRCode","deviceDetails","getDeviceDetails","isDeleted","areaDetails","getAreaDetails","guideDetails","getGuideDetails","getMediaDetails","position","imgSrc","prevImgs","onDuration","duration","onPdfSaveData","selectMedia","EnterQR","errorIcon","UploadComponent","setConditionalStyleImage","setUploadMedia","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","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","handleBtnClick","handleVirtualModalClose","handleHeaderOnChange","errResult","iffieldserror","handleCopyQRdata","handleVirtualQRdata","ReactPlayer","marginBottom","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","trunc","handleImageOpen","float","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","onMouseOver","onMouseOut","connectIcon","TOAST_LIMIT","getResponse","setResponse","mediaFilename","mediaName","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","registration","onupdatefound","installingWorker","installing","onstatechange","controller","ReactDOM","configureStore","App","getElementById","headers","status","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.0394c866.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\nexport const GET_AllDATABYMEDIAID = `${BASE_URI}/QR/GetQRdetailsByMediaId`\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 fetchAllDataByMediaId = async (mediaid) => {\r\n const response = await axios\r\n .get(url.GET_AllDATABYMEDIAID + \"/\" + mediaid)\r\n return response;\r\n};\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(0);\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 // Determine the QRCodeId to send\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 && isReset) {\r\n options.pagination = isReset ? 1 : 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: isReset ? 1 : (options.pagination ? options.pagination.current : '1'),\r\n pageSize: isReset ? 50 : (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\r\n ? 0\r\n : (currentQRId === 0\r\n ? (qRCodeIdToSend !== undefined && qRCodeIdToSend !== null ? qRCodeIdToSend : 0)\r\n : (currentQRId !== undefined && currentQRId !== null ? currentQRId : 0)),\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 pageSize: options.pagination.pageSize != undefined ? options.pagination.pageSize : process.env.REACT_APP_DEFAULT_PAGINATION, \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\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 Select a table ID and Click + Add media to dublicate the selected table's data into a new row\r\n
\r\n
\r\n\r\n
\r\n \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
\r\n *\r\n
\r\n\r\n Select a table ID and Click + Add media to dublicate the selected table's data into a new row\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\";","export default __webpack_public_path__ + \"static/media/Support QR.a3a2d3a9.png\";","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/attachment-icon.437210e9.svg\";","export default __webpack_public_path__ + \"static/media/support-open.50b571c0.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/profile__new.54b7ae25.png\";","export default __webpack_public_path__ + \"static/media/settings.5d2d2658.svg\";","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\nimport toast, { Toaster } from \"react-hot-toast\";\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\nimport Draggable from 'react-draggable';\r\nimport QrCode2Icon from '@mui/icons-material/QrCode2';\r\nimport support_img from \"../../assets/images/support_page/Support QR.png\"\r\nimport KeyboardIcon from '@mui/icons-material/Keyboard';\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\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\nimport Keyboard from 'react-simple-keyboard';\r\nimport 'react-simple-keyboard/build/css/index.css'; \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 [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 [activeTab, setActiveTab] = useState('msg-content'); // Track the active tab\r\n const inputRef = useRef(null);\r\n const [cursorPosition, setCursorPosition] = useState(null);\r\n const [focusedPhoneInput, setFocusedPhoneInput] = useState(false);\r\n const [focusedTexArea, setFocusedTexArea] = useState(false);\r\n const [layoutName, setLayoutName] = useState(\"default\");\r\n const [hasEntered, setHasEntered] = useState(false);\r\n const keyboard = useRef();\r\n const textareaRef = useRef(null); // Reference to the textarea element\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(\"US\");\r\n let url, audio, fileType;\r\n const [audioBlob, setAudioBlob] = useState(null);\r\n const [docFileName, setDocFileName] = useState([]);\r\n const [iskeyboardClicked, setIsKeyboardClicked] = useState(false);\r\n const [openqrcode, setOpenQrCode] = useState(false);\r\n const [openkeyboard, setOpenKeyboard] = useState(false);\r\n const [keyboardVisible, setKeyboardVisible] = useState(false);\r\n const [alphakeyboardVisible, setAlphaKeyboardVisible] = useState(false);\r\n const [input, setInput] = useState('');\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 onAlphaKeyboardChange = (input) => {\r\n setInputString(input)\r\n setMessage(input)\r\n\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 const trimmedMessage = inputString.trim();\r\n formData.append(\"Description\", trimmedMessage && trimmedMessage);\r\n const response = await axios.post(POST_SUPPORT_REQUEST, 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 setIsKeyboardClicked(false)\r\n setKeyboardVisible(false)\r\n setAlphaKeyboardVisible(false)\r\n setPhoneError(\"\")\r\n setInput(\"\")\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 useEffect(() => {\r\n // Check if selectedCountry is valid before accessing it\r\n if (selectedCountry && selectedCountry.country) {\r\n // If selectedCountry is available, set the phnumber with the country code\r\n const callingCode = `+${getCountryCallingCode(selectedCountry.country)}`;\r\n setPhNumber(callingCode); // Initialize phnumber with the country code only\r\n setSelectedCountryCode(callingCode);\r\n }\r\n }, [selectedCountry]);\r\n\r\n // Effect to add event listeners for tracking cursor position and key events\r\n useEffect(() => {\r\n if (openkeyboard && keyboardVisible) {\r\n const inputElement = inputRef.current;\r\n if (inputElement) {\r\n // Track cursor position on click\r\n inputElement.addEventListener('click', getCursorPosition);\r\n\r\n // Track backspace key event\r\n inputElement.addEventListener('keydown', (e) => {\r\n if (e.key === 'Backspace') {\r\n\r\n handleBackspace(); // Handle the backspace action\r\n }\r\n });\r\n\r\n // Cleanup event listeners on unmount or ref change\r\n return () => {\r\n inputElement.removeEventListener('click', getCursorPosition);\r\n inputElement.removeEventListener('keydown', (e) => {\r\n if (e.key === 'Backspace') {\r\n handleBackspace();\r\n }\r\n });\r\n };\r\n }\r\n }\r\n }, [phnumber, cursorPosition]); // Dependency on `phnumber` and `cursorPosition`\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 setPhNumber(\"\")\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 setPhNumber(\"\")\r\n setSelectedCountry(country);\r\n\r\n // Use getCountryCallingCode to get the calling code\r\n const callingCode = country ? `+${getCountryCallingCode(country)}` : '';\r\n\r\n // Preserve existing digits after country code\r\n const currentDigits = phnumber.split(' ')[1] || '';\r\n\r\n // Set the phone number with the new country code and existing digits\r\n setPhNumber(`${callingCode} ${currentDigits}`);\r\n };\r\n\r\n const handleBlur = () => {\r\n // handleValidation();\r\n setTouched(true);\r\n };\r\n\r\n\r\n const handleQRCode = () => {\r\n setActiveTab('QR-content');\r\n setOpenQrCode(true);\r\n setOpenKeyboard(false);\r\n setIsKeyboardClicked(false);\r\n setMessage(\"\");\r\n };\r\n\r\n const handleKeyboardClick = () => {\r\n setActiveTab('keyboard-content');\r\n setOpenKeyboard(true);\r\n setPhNumber(\"\")\r\n setInputString(\"\")\r\n setIsKeyboardClicked(!iskeyboardClicked);\r\n setOpenQrCode(false)\r\n setMessage(\"\");\r\n setPhoneError(\"\")\r\n if (inputRef.current) {\r\n setTimeout(() => {\r\n inputRef.current.focus(); // Focus after the input is rendered\r\n }, 0);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n setTimeout(() => {\r\n inputRef.current.focus();\r\n }, 0); // Use setTimeout to ensure the component has mounted\r\n }\r\n }, [activeTab]);\r\n \r\n\r\n \r\n const handleMainTab = () => {\r\n setOpenKeyboard(false);\r\n setPhNumber(\"\")\r\n setInputString(\"\")\r\n setIsKeyboardClicked(false);\r\n setOpenQrCode(false)\r\n setMessage(\"\");\r\n setActiveTab('msg-content');\r\n setPhoneError(\"\")\r\n if (inputRef.current) {\r\n setTimeout(() => {\r\n inputRef.current.focus(); // Focus after the input is rendered\r\n }, 0);\r\n }\r\n };\r\n\r\n const handleCallTab = () => {\r\n setActiveTab('call-content');\r\n setOpenKeyboard(false);\r\n setPhNumber(\"\")\r\n setInputString(\"\")\r\n setIsKeyboardClicked(false);\r\n setOpenQrCode(false)\r\n setMessage(\"\");\r\n setPhoneError(\"\")\r\n };\r\n\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 \r\n // Focus event handlers for textarea and phone input\r\n const handleKeyPress = (button, event) => {\r\n\r\n if (button === \"{backspace}\") {\r\n // Handle backspace separately\r\n handleBackspace(event);\r\n }\r\n else {\r\n // Handle normal key press (numeric input)\r\n handleNumericInput(button, event);\r\n }\r\n };\r\n\r\n // Handle Shift key\r\n const handleShift = () => {\r\n const newLayoutName = layoutName === \"default\" ? \"shift\" : \"default\";\r\n setLayoutName(newLayoutName);\r\n };\r\n\r\n const onKeyPress = button => {\r\n //When user clicks Shift/Numeric/Symbols?Enter key in vitual keyboard\r\n if (button === \"{shift}\" || button === \"{lock}\") handleShift();\r\n\r\n\r\n };\r\n\r\n const getCursorPosition = () => {\r\n if (openkeyboard) {\r\n if (inputRef.current) {\r\n const rawPosition = inputRef.current.selectionStart; // Raw cursor position, including spaces\r\n const inputValue = inputRef.current.value; // Full input value (with spaces)\r\n\r\n let adjustedPosition = 0;\r\n let numericCount = 0;\r\n\r\n // Iterate through the original phone number and count numeric characters\r\n // until we reach the raw cursor position\r\n for (let i = 0; i < rawPosition; i++) {\r\n const char = inputValue[i]; // Get the current character from the input\r\n if (/\\d/.test(char) || char === '+') {\r\n numericCount++;\r\n }\r\n }\r\n\r\n // Update the cursor position relative to the numeric-only version of the phone number\r\n adjustedPosition = numericCount;\r\n setCursorPosition(adjustedPosition); // This will map the position in the numeric-only string\r\n\r\n }\r\n }\r\n };\r\n \r\n const handleBackspace = () => {\r\n if (openkeyboard) {\r\n\r\n if (cursorPosition > selectedCountryCode.length + 1) {\r\n // Create a copy of the phone number with spaces\r\n\r\n if (cursorPosition > phnumber.length) {\r\n setCursorPosition(cursorPosition - 1)\r\n }\r\n const phnumberWithSpaces = phnumber;\r\n\r\n // Remove all spaces for easier position tracking\r\n\r\n const countryCode = selectedCountryCode\r\n\r\n // Remove spaces from the phone number (everything after the country code)\r\n const phoneNumber = phnumberWithSpaces.slice(countryCode.length + 1).replace(/\\s+/g, '');\r\n\r\n // Calculate the index to delete from phnumberWithoutSpaces\r\n\r\n let deleteIndex;\r\n deleteIndex = cursorPosition - (countryCode.length + 1);\r\n\r\n\r\n\r\n // Remove only the character at the deleteIndex position\r\n const updatedPhNumberWithoutChar =\r\n phoneNumber.slice(0, deleteIndex - 1) + // Part before the delete position\r\n phoneNumber.slice(deleteIndex);\r\n\r\n setInput(updatedPhNumberWithoutChar);\r\n // Reintroduce spaces back into the phone number string\r\n const updatedInputWithSpaces = insertSpacesInNumber(updatedPhNumberWithoutChar);\r\n\r\n\r\n // Update the phone number state with the new string\r\n setPhNumber(`+${countryCode}${updatedInputWithSpaces}`);\r\n\r\n if (cursorPosition === (selectedCountryCode.length + 1)) {\r\n // If at country code position, stop changing the cursor position\r\n setCursorPosition(\"\");\r\n\r\n\r\n } else {\r\n // Check if the character is a digit (or something valid that should affect cursor position)\r\n if (/\\d/.test(updatedInputWithSpaces)) {\r\n // If the character is a digit, move the cursor back by 1 position\r\n\r\n\r\n setCursorPosition(cursorPosition - 1);\r\n }\r\n // If a space is encountered, do nothing with the cursor position\r\n else if (updatedInputWithSpaces.includes(' ')) {\r\n // Space should be ignored for cursor position\r\n setCursorPosition(cursorPosition);\r\n }\r\n else {\r\n }\r\n }\r\n }\r\n // Case when there is *no cursor position* (delete from the end)\r\n else if (!cursorPosition || cursorPosition === \"\") {\r\n const phnumberWithSpaces = phnumber;\r\n const countryCode = selectedCountryCode;\r\n\r\n // Remove spaces and get phone number part\r\n const phoneNumber = phnumberWithSpaces.slice(countryCode.length + 1).replace(/\\s+/g, '');\r\n\r\n // Remove the last character from the phone number\r\n const updatedPhNumberWithoutChar = phoneNumber.slice(0, phoneNumber.length - 1);\r\n\r\n setInput(updatedPhNumberWithoutChar);\r\n\r\n // Reintroduce spaces and update phone number\r\n const updatedInputWithSpaces = insertSpacesInNumber(updatedPhNumberWithoutChar);\r\n setPhNumber(`+${countryCode}${updatedInputWithSpaces}`);\r\n\r\n\r\n // If the last character is a space, we set the cursor position to -1\r\n if (updatedInputWithSpaces.endsWith(' ')) {\r\n setCursorPosition(updatedInputWithSpaces.length - 1);\r\n } else {\r\n // Update cursor position (set to the end of the string)\r\n setCursorPosition(updatedInputWithSpaces.length);\r\n }\r\n }\r\n\r\n\r\n }\r\n };\r\n\r\n // Helper function to reintroduce spaces at the correct positions\r\n const insertSpacesInNumber = (number) => {\r\n let formattedNumber = '';\r\n let count = 0;\r\n\r\n // Define where you want to add spaces (e.g., after every 3 digits)\r\n const spacePositions = [3, 6, 9]; // Example for formatting like xxx xxx xxx\r\n\r\n for (let i = 0; i < number.length; i++) {\r\n formattedNumber += number[i];\r\n // Add space after every 3rd character\r\n if (spacePositions.includes(i + 1)) {\r\n formattedNumber += ' ';\r\n }\r\n }\r\n\r\n return formattedNumber;\r\n };\r\n\r\n const handleNumericInput = (button, event) => {\r\n let caretPosition, updatedInput;\r\n\r\n // Use getCountryCallingCode to get the calling code\r\n const callingCode = selectedCountry ? `+${getCountryCallingCode(selectedCountry)}` : '';\r\n\r\n // If there's a valid cursor position, use it\r\n if (cursorPosition !== null) {\r\n caretPosition = cursorPosition - (callingCode.length); // Use the current cursor position\r\n\r\n\r\n // Update the input by inserting the button at the caret position\r\n updatedInput = input.slice(0, caretPosition) + button + input.slice(caretPosition);\r\n\r\n // After updating the input, the cursor will move one position forward\r\n setCursorPosition(cursorPosition + 1); // Move cursor one position forward\r\n } else {\r\n // If cursorPosition is null (no input yet), just add the button to the end of input\r\n updatedInput = input + button;\r\n }\r\n\r\n // Update input state\r\n setInput(updatedInput);\r\n\r\n // Update the phone number by combining the country code and the new input\r\n let updatedPhoneNumber = `${callingCode}${updatedInput}`;\r\n setPhNumber(updatedPhoneNumber); // Update phone number state\r\n setSelectedCountryCode(getCountryCallingCode(selectedCountry)); // Update country code state\r\n\r\n // Mark that the user has started entering digits\r\n setHasEntered(true);\r\n\r\n // Show validation only if the user has entered at least one digit\r\n if (hasEntered) {\r\n validatePhoneNumber(updatedPhoneNumber);\r\n }\r\n };\r\n \r\n const validatePhoneNumber = (phoneNumber) => {\r\n const totalDigits = phoneNumber.replace(/\\D/g, '').length; // Remove non-numeric characters and count digits\r\n setPhoneError(totalDigits < 10); // Update the error state based on the digit count\r\n };\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 > 50) {\r\n setImages('');\r\n setAttacmentOptionsDisplay(false);\r\n setErrorMessage(\"Image size exceeds 50MB.\");\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 > 50) {\r\n setErrorMessage(\"Video file size exceeds 50 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 = 50 * 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 50 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 setFocusedPhoneInput(false);\r\n setFocusedTexArea(true);\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 (inputString.trim() === \"\") {\r\n setInputString('');\r\n setMessage(\"\");\r\n } else {\r\n setMessage(inputString);\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
\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 \r\n \"Profile\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Need Help?
\r\n

Fill out the form below or scan QR to open in your phone 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 {openqrcode ? (\r\n
\r\n \r\n

Please scan the QR code for support request

\r\n
\r\n\r\n ) : (\r\n\r\n
\r\n\r\n {activeTab === 'msg-content' || activeTab === 'keyboard-content' ?\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 setKeyboardVisible(true);\r\n setAlphaKeyboardVisible(false); // Show keyboard\r\n }}\r\n ref={inputRef} // Attach ref to PhoneInput\r\n smartCaret={openkeyboard ? false : true} // Disable smart caret to manually track cursor position\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 === \"Other\") {\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\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 {activeTab === 'call-content' ? \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 {keyboardVisible && openkeyboard && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {alphakeyboardVisible && openkeyboard && (\r\n
\r\n (keyboard.current = r)}\r\n layoutName={layoutName}\r\n onKeyPress={onKeyPress}\r\n onChange={onAlphaKeyboardChange} // Update the textarea value\r\n value={inputString}\r\n className=\"custom-keyboard\"\r\n disableCaretPositioning={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 {/* 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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACDwAAAg8BCLB9+QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbTSURBVHic7ZtZjFVFEIa/mhkWWQSRTdlFcEscGAQD4UFBiUGBBwE1aCARNRJ84UUMBMODEYnGiLs8QNQgGomyaVSiIqjjguAYCIJhYIZ9HRZlcBjKhz6XqXvuOfeeu84MWEnn9qmu7q7+T3V3dfW5oqpczlTU2Ao0Nv0PQGMr0NhUkm4FERkJPAvcAHQG6oBqoMr7takK2KuqtblSONckURdBESkClgKPZNDPEZKDtF9V6zNoN2tKB4BXgZl50qMeOEA8KH6QjmgetqxIAHhmv8GwVgPLgW+AVkAvoLeXevl+O+ZI13PAXpKApKon02006howweR3AZNU9Zzh7Q6rKCLtCQYolu+JAzEVtQL6eymsr9MkWk4sv1NVqxLqRLSALUCp9/iQqi6PoHAkEhEBuhIOUG+gGyA56O4P4GNgYWxhjgrAaaCd99hXVffkQJnIJCItcZYSNs16A+3TaLIcGK+qR1ICICKdgGPeYz3QWlXPpzWCApCIdCC5FfUh3op+BYahqkkTUAaol6pSyTfVBNwKrDVjUWByFE+wj8knLCLNhVS1QlXvBT437BnpAlDQuZ8nWmnyPQK3QRHpj5s7AMNNUbGI3JEnxTKl88A2VT0eUf4Xk+9i50g74B3gMPHzpLmkncAzQHGKtWCsqVMVYw4A/mwCg8hF+gG4NgkATxjZjSWeI7IEGGhM4zSwn+ZBLYF+5nk48L6IjA45O/Q2+Wpwp7sYInXAdFKYUVNLwO3AB8RbwswQ2feMzEJwrmGMsbKxB5MlEJ+ZsZSHyHxrZJ4qwjk6MfooXftrYrTQ5MtEpE2ATNwUEBwSMbpOVSvzolqBSEROAld6j6WqWmHKioBaoIXHus3vCAUtGnkjEekkImUi0jaHzdox+MfXjYbBA1QXPCgqIi1EZJ6IVOIOWZuAUyKyVUSm5rl7a/61qnoY4lfOvnlepPoBv5F8H18NtMuijxrT1iBf2SRTtlNVCxcW9/yNd4HBhq00HLVjdB/wUp7U6GXy1VDYe4EngZFeXoEXgI6q2hm4BlhmZB8XkVF50CHBCSokAJNN/hVVna2qpwBU9aCqTgHWGZn786BD4wDgbT9DDOuNEFHLHxIikw012hS4koaYIsChEDl7/uieBz0axwJUtQawDtbQENERJl8RIpMRiUhroIthVUFh14Byk1/kBVsvkheEmWtYNnCRC+pJfFC0OpYpiB8A3IK73Yn1tc8b8MPAAuCUKTsAdMqlHwCMMvxThl9QR2gOyZ0gBS4A43LtCAHTDH9rjJ/29bglERkI3IxbXauAn1X1QJi8qj4nIvuAlwm+M6wEpqvq1xnoUozzNcLOFQk7wEW9SNMCgEHAKoLf4Ke4U2Wy+t09ZZcA3wGvA1OBthm+9Ttx115+XawFLDb8xRlNAdyiORcXiU1mxrXA1HxOJ0+fPsQHdJIB8IXhz0sbAKAH7jrc38kx4BPgREDZnDwNvA0wHzgb0OeFEAC2Gf60tAAAxgFHfbIVwN1AiVHqMdzXIFbuLXIYYwQewK03/oFvwp01whbBM4Y/OhIAuDv5RQGdvYm7JA1S8HrgL5/8KqBNlgMvBdYH6HIIF8gt8uQSAAA6+eoMTAkAcCOwxVd+ApgYQdkuwE++uuVA5wwGfrUHeL2vvX+BF4EOPvkgAEp9da9ICgDwKPC3r+xHv4VEmKf+nWIn0D9i/WLcN0nHA976WvsWIwAwzvCO+uTjGi7FffvjX1QW4M31NN9eMe6E5zfZoSnqjSJ4W9sOjE1RNwiAGYa3ORkA/gXsIDAmm7nrdTKb+NX5DDAR7wsVI9cXWBEw8BpgFtAiQl9BACwwvJXJALDpS6BbtoM3HU0h/iygwA4PnPnAVzj/wZbX4xyYrmn0EwTAMsN7LRUAdbhbVsnV4H2mXRPQZ1DaAJRl0EcQABsN7+lkAOwGhud64L4O+4WYeSztAh7Mov04AHBHYLuQjrfy/puhm1R1OwUgERmBs4jBuANMJe7zlTWqeiGLdmuADt7jYGAY8Lb3fBa3Ff9j6yRsg805EW8Bq4j3H5b75f0W0E9Vd2eKflMgnwVY2gUMU9W4e4jL5f8C3+OCLP5LmEsegA9xO8lIVd0WJOCPCGmQUDOm51X192QCRcTH6HuFCTYHEpGraPg2AHyhryAqwvncMZqVa6UKTLNoCH3v0AjfDpbgTlZ3ec8TRGQp7q8xW/KgYD6oBXAPLrw+xvBXRG2gBNhMNPe0uaRyIhycVJWY8zCAxOBHc03rgB6RHSfjQbXCXVysJzEY0tTTHmANMCVdzzHwDxPedXbLhIKmSfWqWpdp5ch/m7tU6VL3BFPSZQ/Af52lllgeKlgUAAAAAElFTkSuQmCC\"","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, isSupportIcon }) => {\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 {!isSupportIcon ? \"\" :\r\n
\r\n \r\n\r\n
\r\n }\r\n\r\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 const [savedHomeId, setSavedHomeId] = useState(null);\r\n const id = qrGroupingDetails && qrGroupingDetails.qrCode;\r\n const history = useHistory();\r\n const location = useLocation();\r\n const { homeId } = location.state || {};\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 setSavedHomeId(homeId);\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 == \"undefined\" ? \"\" : 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
\r\n

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

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

Location Name :

*/}\r\n {/*
*/}\r\n \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/gridview.ee299b6f.svg\";","export default __webpack_public_path__ + \"static/media/listview.fe5b8b62.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, useState } from 'react';\r\nimport { QRCodeSVG } from 'qrcode.react';\r\n\r\nconst QRCodeGenerator = ({qrcodeid}) => {\r\n \r\n const { REACT_APP_SUPPORT } = process.env;\r\n const [data, setData] = useState('');\r\n\r\n useEffect(() => {\r\n // URL to open in the device on scanning\r\n const baseUrl = REACT_APP_SUPPORT;\r\n \r\n //binded props with base url\r\n const qrUrl = `${baseUrl}/${qrcodeid}`; \r\n setData(qrUrl); // Set the data that will be used to generate the QR code\r\n }, [qrcodeid]); // Rerun the effect whenever any prop changes\r\n \r\n return (\r\n <>\r\n
\r\n {data && typeof data === 'string' ? (\r\n \r\n ) : (\r\n
Loading QR Code...
\r\n )}\r\n\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default QRCodeGenerator;\r\n\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 { 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\nimport support_img from \"../../assets/images/support_page/Support QR.png\"\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\nimport QRCodeGenerator from \"../UserLogin/QRCodeGenerator\";\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 \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 \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 childPage = (qrCode) => {\r\n setBackButton(true)\r\n debugger;\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 {comingqrId ? \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 {QRParentChildDetail.scanedQRDetails.thumbnailName != null ? (\r\n \r\n ) : (\r\n next(details.qrCode)}\r\n />\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
\r\n

\r\n {QRParentChildDetail.scanedQRDetails &&\r\n QRParentChildDetail.scanedQRDetails.product_Name}\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 < QRCodeGenerator qrcodeid={currentId} />\r\n
\r\n
\r\n
\r\n {!backbutton ?\r\n
QR - {currentId}\r\n\r\n {\" \"}\r\n\r\n
:\r\n
QR - {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 \r\n \r\n \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 backPage(details.qrCode)}\r\n // onClick={() => {\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 backPage(details.qrCode)}\r\n />\r\n ) : (\r\n backPage(details.qrCode)}\r\n />\r\n )}\r\n
\r\n
{details.mediaDescOfQR || details.qrCode ? (\r\n
\r\n
\r\n QR - {details.qrCode}\r\n \r\n\r\n
\r\n {\r\n\r\n backPage(\r\n details.qrCode\r\n );\r\n }}\r\n >\r\n View More\r\n \r\n
\r\n
\r\n \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 {/* (*/}\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 {/* {*/}\r\n\r\n {/* backPage(*/}\r\n {/* details.qrCode*/}\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 \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 GridView from \"../../UserAssets/images/gridview.svg\";\r\nimport ListView from \"../../UserAssets/images/listview.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\nimport QRCodeGenerator from \"../UserLogin/QRCodeGenerator\";\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 const [savedHomeId, setSavedHomeId] = useState(null);\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 parentproductname = qrGroupingDetails && qrGroupingDetails.product_Name;\r\n var newparentproductname =\r\n qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.parentProduct_Name;\r\n\r\n \r\n console.log(\"groupong\", parentproductname)\r\n var childId =\r\n qrGroupingDetails.childThumbnail && qrGroupingDetails.childThumbnail.qrCode;\r\n const allQrData = useSelector((state) => state.allQrCodeData.qrTypes);\r\n \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 { currentId } = location.state || {};\r\n const [modal, setModal] = useState(false);\r\n const [islistView, setIsListView] = useState(true);\r\n const [supportModalDisplay, setSupportModalDisplay] = useState(false);\r\n const parentQRId = location.state ? location.state.parentDataId : \"\";\r\n\r\n useEffect(() => {\r\n setSavedHomeId(currentId);\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\r\n const handleListViewClick = () => {\r\n setIsListView(true); // Set state to true when ListView is clicked\r\n };\r\n\r\n const handleGridViewClick = () => {\r\n setIsListView(false); // Set state to true when ListView is clicked\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 {currentId != null ? (\r\n \r\n \r\n \r\n ) : parentId != null ? (\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
\r\n
{newparentproductname}
\r\n

QR - {parentQrCodeId}

{\" \"}\r\n \r\n
\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
\r\n
{newparentproductname}
\r\n

QR - {parentId}

\r\n \r\n
\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
\r\n
{newparentproductname}
\r\n

QR - {parentQrCodeIdlatest}

{\" \"}\r\n \r\n
\r\n \r\n ) : (\r\n \r\n
\r\n {qrGroupingDetails.parentThumbnail &&\r\n qrGroupingDetails.parentThumbnail.thumbnail ? (\r\n ) : ()}\r\n
\r\n
\r\n
{newparentproductname}
\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
\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
\r\n
\r\n

{parentproductname}

\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 < QRCodeGenerator qrcodeid={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 {/*
  • */}\r\n {/*
  • */}\r\n {/* \"\"*/}\r\n {/*
  • */}\r\n {/*
*/}\r\n\r\n\r\n {/*
*/}\r\n {allQRCodeIdData &&\r\n allQRCodeIdData.map((mainGroping) => (\r\n
\r\n
\r\n\r\n
{mainGroping[0]}
\r\n \r\n
\r\n \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 \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.header == \"undefined\" ? \"\" : details.header}\r\n

\r\n

\r\n {details.mediaDescription}\r\n \r\n \r\n {/* {\"... \"}*/}\r\n

\r\n {/*
*/}\r\n {/* {*/}\r\n {/* e.preventDefault();*/}\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 {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
\r\n \r\n ) : details.mediaType == \"video\" ? (\r\n \r\n \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 {/* e.preventDefault();*/}\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 {details.header == \"undefined\" ? \"\" : details.header}\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 next(details.mediaId)}\r\n />\r\n
\"play\"
\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 {details.mediaDescription ? (\r\n
\r\n {/* QR - {qRCode}*/}\r\n
\r\n

\r\n {details.header == \"undefined\" ? \"\" : details.header}\r\n

\r\n

\r\n {details.mediaDescription} \r\n {/* {\"... \"}*/}\r\n

\r\n {/*
*/}\r\n {/* {*/}\r\n {/* e.preventDefault();*/}\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
\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 details.mediaType == \"Text (HTML)\" ? (\r\n //\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n {/*{details.mediaDescription.length > 1700 ? (*/}\r\n {/* {*/}\r\n {/* e.preventDefault();*/}\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 {details.mediaDescription ? (\r\n next(details.mediaId)}*/\r\n >\r\n {/* QR - {qRCode}*/}\r\n
\r\n

\r\n {details.header == \"undefined\" ? \"\" : details.header}\r\n

\r\n

\r\n {details.mediaDescription}\r\n \r\n

\r\n {/*
*/}\r\n {/* {*/}\r\n {/* e.preventDefault();*/}\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
\"play\"
\r\n
\r\n
\r\n \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 \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\";","const createImage = (url) =>\r\n new Promise((resolve, reject) => {\r\n const image = new Image();\r\n image.addEventListener(\"load\", () => resolve(image));\r\n image.addEventListener(\"error\", (error) => reject(error));\r\n image.setAttribute(\"crossOrigin\", \"anonymous\");\r\n image.src = url;\r\n });\r\n\r\nasync function getCroppedImg(imageSrc, pixelCrop) {\r\n const image = await createImage(imageSrc);\r\n const canvas = document.createElement(\"canvas\");\r\n const ctx = canvas.getContext(\"2d\");\r\n\r\n // Set canvas dimensions to match the crop area\r\n canvas.width = pixelCrop.width;\r\n canvas.height = pixelCrop.height;\r\n\r\n // Draw the image cropped onto the canvas\r\n ctx.drawImage(\r\n image,\r\n pixelCrop.x, pixelCrop.y, // Start cropping from (x, y)\r\n pixelCrop.width, pixelCrop.height, // Crop width and height\r\n 0, 0, // Place the cropped result at (0, 0) on the canvas\r\n pixelCrop.width, pixelCrop.height // Draw the cropped image at the canvas size\r\n );\r\n\r\n // Extract the image name from the data URL\r\n const nameMatch = imageSrc.match(/name=([^;]+)/);\r\n const imageName = nameMatch ? nameMatch[1] : 'cropped-image.jpeg';\r\n\r\n const currentTime = new Date().toISOString().replace(/[:.]/g, \"-\");\r\n // Create the new data URL with the name included\r\n const croppedImageDataUrl = canvas.toDataURL(\"image/jpeg\").replace(\r\n \"data:image/jpeg;base64,\",\r\n `data:image/jpeg;name=${imageName}_${currentTime};base64,`\r\n );\r\n\r\n return croppedImageDataUrl;\r\n}\r\n\r\nexport const cropImage = async (image, croppedAreaPixels, onError) => {\r\n try {\r\n\r\n const croppedImage = await getCroppedImg(image, croppedAreaPixels);\r\n return croppedImage;\r\n } catch (err) {\r\n onError(err);\r\n }\r\n}\r\n\r\n","\r\nimport React, { useState, useEffect } from \"react\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions\r\n} from \"@material-ui/core\";\r\nimport { cropImage } from \"../QR/CropUtils\";\r\nconst ImageCropper = ({\r\n open,\r\n image,\r\n onComplete,\r\n onCancel,\r\n containerStyle,\r\n ...props\r\n}) => {\r\n const [crop, setCrop] = useState({ x: 0, y: 0 });\r\n const [zoom, setZoom] = useState(1);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = useState(null);\r\n const [cropWidth, setCropWidth] = useState(200); // Initial width\r\n const [cropHeight, setCropHeight] = useState(200);\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n\r\n useEffect(() => {\r\n // Reset the isDisabled state when a new image is uploaded\r\n setIsDisabled(false);\r\n }, [image]);\r\n\r\n const handleWidthChange = (e) => {\r\n setCropWidth(Number(e.target.value));\r\n };\r\n\r\n const handleHeightChange = (e) => {\r\n setCropHeight(Number(e.target.value));\r\n };\r\n\r\n const handleCropClick = () => {\r\n setIsDisabled(true); // Disable the button after it's clicked\r\n onComplete(cropImage(image, croppedAreaPixels, console.log));\r\n };\r\n\r\n return (\r\n \r\n Crop Image\r\n\r\n \r\n
\r\n {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }}\r\n\r\n onZoomChange={setZoom}\r\n {...props}\r\n />\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n setZoom(Number(e.target.value))}\r\n className=\"zoom-range\"\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Crop\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\nexport default ImageCropper;","import React, { useEffect, useState } from 'react';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport Quill from 'quill';\r\nimport '../Quill/Quill.css';\r\n\r\n// Define custom font sizes using Quill's Parchment API\r\nconst Size = Quill.import('formats/size');\r\nSize.whitelist = ['10px', '12px', '14px', '16px', '18px', '24px', '32px', '48px'];\r\nQuill.register(Size, true);\r\n\r\nconst ReactQuillEditor = ({ value, onChangeValue }) => {\r\n const [editorValue, setEditorValue] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n // Update the editor value when the `value` prop changes\r\n setEditorValue(value);\r\n }, [value]);\r\n\r\n const handleChange = (content) => {\r\n setEditorValue(content);\r\n if (onChangeValue) {\r\n onChangeValue(content); // Send content back to the parent component\r\n }\r\n };\r\n\r\n // Define custom fonts using Quill's Parchment API\r\n const Font = Quill.import('formats/font');\r\n Font.whitelist = [\r\n 'arial',\r\n // 'times-new-roman',\r\n // 'courier-new',\r\n // 'comic-sans',\r\n 'georgia',\r\n 'impact',\r\n 'verdana',\r\n 'calibri',\r\n 'helvetica',\r\n // 'trebuchet-ms',\r\n 'garamond',\r\n 'tahoma'\r\n ]; // Add desired fonts here\r\n Quill.register(Font, true);\r\n\r\n // Toolbar configuration with custom font sizes\r\n const modules = {\r\n toolbar: {\r\n container: [\r\n // Custom toolbar with numeric font sizes\r\n // [{ header: [1, 2, 3, false] }], // Header options\r\n ['bold', 'italic', 'underline'], // Formatting\r\n [{ list: 'ordered' }, { list: 'bullet' }], // Lists\r\n // [{ script: 'sub' }, { script: 'super' }], // Subscript/Superscript\r\n\r\n\r\n [\r\n {\r\n size: [\r\n '10px',\r\n '12px',\r\n '14px',\r\n '16px',\r\n '18px',\r\n '24px',\r\n '32px',\r\n '48px',\r\n ], // Font sizes\r\n },\r\n ],\r\n [{ color: [] }, { background: [] }], // Text color and background\r\n [{ font: Font.whitelist }],\r\n // [{ align: [] }], // Text alignment\r\n ['link', 'image'], // Links, images, videos\r\n // [{ indent: '-1' }, { indent: '+1' }], // Indentation\r\n ['clean'], // Remove formatting\r\n ],\r\n },\r\n };\r\n\r\n const formats = [\r\n 'header',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'list',\r\n 'bullet',\r\n 'indent',\r\n 'direction',\r\n 'size',\r\n 'color',\r\n 'background',\r\n 'font',\r\n 'align',\r\n 'link',\r\n 'image',\r\n 'video',\r\n ];\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ReactQuillEditor;\r\n\r\n\r\n","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\n//import CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ImageCropper from \"../QR/CropImage\"\r\n//import 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\n//import { EditorState, ContentState } from 'draft-js';\r\n// import {HtmlToDraft} from 'draft-js-import-html';\r\nimport htmlToDraft from 'html-to-draftjs';\r\nimport { Editor } from '@tinymce/tinymce-react';\r\nimport ReactQuillEditor from \"../Quill/Quill\";\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 const [dialogOpen, setDialogOpen] = useState(false);\r\n const [currentImage, setCurrentImage] = useState(null);\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 \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 \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 \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 \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 \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 \r\n };\r\n //for image\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const handleChange = (files) => {\r\n\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 if (files.length > 0) {\r\n setMediaFiles(prevFiles => [...prevFiles, ...files]);\r\n\r\n // Check if we need to update the current image index\r\n const newIndex = Math.max(currentImageIndex, files.length - 1);\r\n setCurrentImageIndex(newIndex);\r\n setCurrentImage(files[newIndex]);\r\n setDialogOpen(true);\r\n setError('');\r\n setMediaTypeSelected(true);\r\n }\r\n };\r\n\r\n const handleCropComplete = (imagePromise) => {\r\n\r\n imagePromise.then((croppedImage) => {\r\n setImgSrcs(prev => {\r\n const newImgSrcs = [...prev, croppedImage];\r\n setMediaFiles([...newImgSrcs]);\r\n return newImgSrcs;\r\n });\r\n setDialogOpen(false);\r\n });\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 \r\n if (response.data.success) {\r\n setLocationNameByQRId(response.data.data.name)\r\n setLocationIdByQRId(response.data.data.locationId)\r\n \r\n setId(qrcode);\r\n }\r\n else {\r\n\r\n \r\n setValidQrError(true)\r\n }\r\n \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 \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 \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 setMediaFiles([])\r\n setImgSrcs([])\r\n setqrcode(\"\")\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 setTextMedia(\"\");\r\n setMediaFiles([])\r\n setImgSrcs([])\r\n setqrcode(\"\")\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 \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\r\n try {\r\n // Ensure mFile is a valid data URL\r\n if (typeof mFile === 'string' && mFile.startsWith('data:')) {\r\n // Split the data URL into the metadata and the Base64 string\r\n const [header, base64Data] = mFile.split(',');\r\n\r\n // Extract the content type from the header\r\n const contentType = header.split(':')[1].split(';')[0];\r\n\r\n // Extract the filename directly from the header\r\n const imageUrlParts = header.split(';');\r\n let fileName = imageUrlParts.find(part => part.startsWith('name=')).split('name=')[1];\r\n\r\n // Convert Base64 string to a Blob\r\n const blob = b64toBlob(base64Data, contentType);\r\n\r\n // Create a File object and append it to formData\r\n const _fileData = new File([blob], fileName, { type: contentType });\r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n } else {\r\n console.error(\"Invalid file format:\", mFile);\r\n }\r\n } catch (error) {\r\n console.error(\"Error processing file:\", error);\r\n }\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 \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 setMediaFiles([])\r\n setImgSrcs([]);\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 \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\r\n try {\r\n // Ensure mFile is a valid data URL\r\n if (typeof mFile === 'string' && mFile.startsWith('data:')) {\r\n // Split the data URL into the metadata and the Base64 string\r\n const [header, base64Data] = mFile.split(',');\r\n\r\n // Extract the content type from the header\r\n const contentType = header.split(':')[1].split(';')[0];\r\n\r\n // Extract the filename directly from the header\r\n const imageUrlParts = header.split(';');\r\n let fileName = imageUrlParts.find(part => part.startsWith('name=')).split('name=')[1];\r\n\r\n // Convert Base64 string to a Blob\r\n const blob = b64toBlob(base64Data, contentType);\r\n\r\n // Create a File object and append it to formData\r\n const _fileData = new File([blob], fileName, { type: contentType });\r\n formData.append(\"MediaFiles\", _fileData);\r\n isMedia = true;\r\n } else {\r\n console.error(\"Invalid file format:\", mFile);\r\n }\r\n } catch (error) {\r\n console.error(\"Error processing file:\", error);\r\n }\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 setMediaFiles([])\r\n setImgSrcs([]);\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 handleCancel = () => {\r\n setImgSrcs([...imgSrcs, currentImage]);\r\n setDialogOpen(false);\r\n };\r\n\r\n const handleEditorChange = (content, editor) => {\r\n // const data = editor.getData();\r\n setTextMedia(content);\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 {currentImage && (\r\n \r\n )}\r\n
\r\n
\r\n {imgSrcs.map((imgSrc, index) => (\r\n
\r\n handleRemoveImgClick(index)}>X\r\n {`Cropped\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 volume={0.5} \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 {/* {!loading && textMedia !== \"\" && (*/}\r\n {/* respondWith.string(() => Promise.reject('See docs to implement AI Assistant')),*/}\r\n {/* }}*/}\r\n {/* onEditorChange={handleEditorChange}*/}\r\n {/* value={textMedia}*/}\r\n {/* initialValue=\"\"*/}\r\n {/*/>*/}\r\n {/* )}*/}\r\n\r\n \r\n\r\n
\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\n//import { Editor } from \"react-draft-wysiwyg\";\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\n//import { EditorState, ContentState } from 'draft-js';\r\n//import CKEditor from '@ckeditor/ckeditor5-react';\r\n//import ClassicEditor from 'ckeditor5-build-classic-base64-upload';\r\nimport htmlToDraft from 'html-to-draftjs';\r\nimport IndexQrDetails from \"../QrReview/index.js\";\r\nimport { Editor } from '@tinymce/tinymce-react';\r\nimport ReactQuillEditor from \"../Quill/Quill\";\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 const priorityList = Array.from({ length: 31 }, (_, index) => ({\r\n name: index.toString(),\r\n value: index,\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 handleEditorChange = (content, editor) => {\r\n // const data = editor.getData();\r\n setTextMedia(content); \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 {/* respondWith.string(() => Promise.reject('See docs to implement AI Assistant')),*/}\r\n {/* }}*/}\r\n {/* onEditorChange={handleEditorChange}*/}\r\n {/* initialValue=\"\"*/}\r\n {/* value={textMedia}*/}\r\n {/*/>*/}\r\n\r\n \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, fetchAllDataByMediaId,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\n//import { Editor } from \"react-draft-wysiwyg\";\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\n//import { 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//import CKEditor from '@ckeditor/ckeditor5-react';\r\n//import ClassicEditor from 'ckeditor5-build-classic-base64-upload';\r\nimport { Editor } from '@tinymce/tinymce-react';\r\nimport ReactQuillEditor from \"../Quill/Quill\";\r\n\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 [getResponse, setResponse] = useState({})\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 = Array.from({ length: 31 }, (_, index) => ({\r\n name: index.toString(),\r\n value: index,\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 [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 const editorRef = useRef(null); \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 if (mediaIdToUpdate > 0) {\r\n setLoading(true)\r\n let urlData = location.pathname.split(\"/\");\r\n fetchAllDataByMediaId(urlData[6]).then(response => {\r\n \r\n setResponse(response.data.data)\r\n qrCodeToUpdate = response.data.data;\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 setCurrentMediaTypeId(qrCodeToUpdate.mediaTypeId)\r\n setCurrentMediaTypeKey(qrCodeToUpdate.mediaKey)\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 (qrCodeToUpdate) {\r\n\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 && 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(resp.data.data?.reproduceSteps === null ? '

' : resp.data.data?.reproduceSteps);\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 == \"undefined\" ? \"\" : 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 }\r\n\r\n }, [mediaIdToUpdate]);\r\n\r\n //useEffect(() => {\r\n // // Update editor content when qrCodeToUpdate changes\r\n // if (qrCodeToUpdate.mediaKey === \"Text\") {\r\n // const newText = qrCodeToUpdate.mediaDescription || \"

\";\r\n // setTextMedia(newText);\r\n\r\n // // If the editor is already initialized, update its data\r\n // if (editorRef.current) {\r\n // editorRef.current.setData(newText);\r\n // }\r\n // }\r\n //}, [qrCodeToUpdate]);\r\n\r\n useEffect(() => {\r\n if (currentCompanyId > 0)\r\n getAllLocationByCompany();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n if (currentQRCodeId > 0)\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 if (currentCompanyId > 0)\r\n getDeviceTypeData();\r\n }, [currentCompanyId]);\r\n\r\n useEffect(() => {\r\n if (currentQRCodeId > 0)\r\n getGuideTypeDetails()\r\n }, [currentQRCodeId]);\r\n\r\n useEffect(() => {\r\n if (currentQRCodeId > 0)\r\n getMediaTypeDetails();\r\n }, [currentQRCodeId]);\r\n\r\n\r\n useEffect(() => {\r\n \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 if (getResponse && currentMediaTypeId) {\r\n if (allMediaTypes && allMediaTypes.length > 0) {\r\n\r\n\r\n let mediaDetails = allMediaTypes.find(\r\n (a) => a.mediaTypeId == currentMediaTypeId\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 (getResponse && getResponse.mediaKey === \"img\")\r\n setImgSrcs([getResponse.filename]);\r\n if (getResponse && getResponse.mediaKey === \"vdo\")\r\n setShowVideo([getResponse.filename]);\r\n if (getResponse && getResponse.mediaKey === \"pdf\")\r\n setpdfLink(getResponse.filename);\r\n if (getResponse && getResponse.mediaKey === \"url\") {\r\n setUrlMedia(getResponse.filename);\r\n }\r\n if (getResponse && getResponse.mediaKey === \"Text\") {\r\n // setTextMedia(resp.data.data?.reproduceSteps === null ? '

' : resp.data.data?.reproduceSteps);\r\n setTextMedia(getResponse.mediaDescription);\r\n }\r\n\r\n }\r\n\r\n }\r\n }, [getResponse])\r\n\r\n useEffect(() => {\r\n \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 handleEditorChange = (content, editor) => {\r\n // const data = editor.getData();\r\n setTextMedia(content);\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 \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 {/* respondWith.string(() => Promise.reject('See docs to implement AI Assistant')),*/}\r\n {/* }}*/}\r\n {/* onEditorChange={handleEditorChange}*/}\r\n {/* value={textMedia}*/}\r\n {/* // initialValue=\"\"*/}\r\n {/*/>*/}\r\n \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":""}