{"version":3,"sources":["assets/icons/profile.svg","assets/icons/background.jpg","assets/icons/warning-round.svg","assets/icons/KLM_Logo_mobile.svg","assets/icons/arrow-left.svg","Common/Constant.js","app/main/BannerDisplay.js","Common/DlgConfirmation.js","Common/CommonValidationFnc.js","Common/DlgLoading.js","app/main/Iframe.js","app/main/TravelVoucher.js","app/main/Success.js","app/main/Header.js","app/main/Footer.js","serviceWorker.js","index.js"],"names":["module","exports","lblCompensationURL","errFullName","errBlank","errSelect","errMaxName","HelpURL","BannerDisplay","className","src","banner","DlgConfirmation","forwardRef","props","ref","React","useState","openState","open","setOpen","handleClose","useImperativeHandle","fncModal","Dialog","PaperProps","style","width","height","aria-labelledby","aria-describedby","DialogTitle","DialogContent","undefined","singleMessage","msg","ErrorMessages","map","item","index","DialogActions","btnSingleSelection","Button","onFocus","onClick","onSave","validateEmail","event","optValue","Email","target","value","sEmail","sValid","indexOf","reg","test","checkForFullName","objControl","ObjectSorting","Data","SortedData","Values","Object","values","keys","sort","key","i","j","length","toString","push","DlgLoading","useStyles","makeStyles","theme","modal","display","alignItems","justifyContent","paper","padding","text","paddingTop","classes","onClose","disableBackdropClick","CircularProgress","IframeComponent","Action","Label","Value","Country","st_data","setData","useEffect","JSON","stringify","TravelVoucher","st_IsEventLog","setEventLog","CountryName","st_EventData","setEventData","childAlert","useRef","st_IsEnableButton","setIsEnableButton","st_Success","setSuccessPage","st_SuccessData","setSuccessData","st_Open","st_warning","setWarning","childError","st_Alert","setAlert","st_singleAlert","setSingleAlert","msgError","BookingCode","ReasonOfRequest","ReasonOfRequestName","IsValidContactData","IsValidBookingData","st_Data","Prefix","FullName","CountryOrRegionOfRequest","PhoneNo","EmailID","ConfirmEmailID","AdditionalRemarks","st_ContactDetails","setContactDetails","errPhoneNo","errEmailID","errConfirmEmailID","errAdditionalRemarks","errCountryOrRegionOfRequest","IsValidFullName","IsValidPhoneNo","IsValidEmailID","IsValidConfirmEmailID","IsValidRemarks","st_ConError","setContactError","st_arrPassengerInfo","setPassengerInfo","st_arrOriginalInfo","setOriginalInfo","st_Error","setError","st_Prefix","setPrefix","Keys","st_Country","setCountry","st_Reason","setReasons","st_isLoader","setIsLoader","childRefLoader","fncSetEventLog","action","label","callAjax","window","scrollTo","$","bind","e","preventDefault","document","getElementById","maxLength","MethodName","axios","method","url","data","contentType","config","headers","then","success","Result","keyValueData","RequestIDsAndBookingCodes","current","Message","catch","error","fncContactDetails","type","check","name","fncValidateContact","strPhoneNo","strRet","ChkPhoneNo","checkForSpecialChar","txtSelect","currentTarget","innerText","fncCheckContactDetails","isValid","toLowerCase","fncCheckBlank","trim","TicketNo","fncCheckPassengerDetails","IsValidBookingCode","IsValidTicketNo","IsEnable","fncPassengerDetails","fncValidatePassengers","isNaN","sLength","checkForTktNumber","toUpperCase","fncCheckTicketNo","IsValidAdditionalRemarks","fncDisableButton","fncCheckContactBookingDetails","fncEnableButton","status","result","validatenumber","evt","theEvent","clipboardData","getData","keyCode","which","String","fromCharCode","returnValue","to","pathname","state","getItem","objPaxItem","filter","RowID","objPaxItemErr","original","fncRemovePassenger","dangerouslySetInnerHTML","__html","href","Constant","FormControl","id","InputLabel","Select","inputProps","onChange","MenuItem","TextField","helperText","warning","onBlur","FormHelperText","onKeyPress","inputmode","Mode","Grid","container","md","xs","sm","profile","Link","component","rowID","errBookingCode","errTicketNo","errReasonOfRequest","fncEditPassenger","fullScreen","Handled","autoComplete","autoFocus","variant","disabled","obj","objCountryName","combineData","fncSavePassengerDetails","ID","Math","floor","random","objPaxError","concat","arr","objOriginalItem","multiline","msgAdditionalRemarks","countAdditionalRemarks","rows","replace","Success","st_arrBookindDetails","setBookingDetails","location","fncPrint","print","Header","logo","class","history","back","arrow","Footer","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","onUpdate","onSuccess","ReactDOM","render","StrictMode","basename","exact","path","URL","process","origin","addEventListener","fetch","response","get","ready","unregister","reload","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.b2c45726.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/profile.9423e216.svg\";","module.exports = __webpack_public_path__ + \"static/media/background.ffd45432.jpg\";","module.exports = __webpack_public_path__ + \"static/media/warning-round.e4814380.svg\";","module.exports = __webpack_public_path__ + \"static/media/KLM_Logo_mobile.80fd3148.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrow-left.fd36e976.svg\";","export const APIURL=\"https://apps.isc.klm.com/Staging/VoucherRedesignAPI/\";\r\nexport const TestingAPIURL=\"https://apps.isc.klm.com/Staging/VoucherRedesignAPI/\";\r\nexport const ReturnCode=1;\r\nexport const maxRemark=500\r\nexport const maxName=80\r\nexport const lblRequestVoucher=\"Request a travel voucher\"\r\nexport const lblContentTitle=\"Am I entitled to a refund in the form of a travel voucher?\"\r\nexport const lblContentSubTitle=\"You’re entitled to a voucher if:\"\r\nexport const lblContentTxt1=\"•\tYou purchased a ticket before 1 March 2022.\"\r\nexport const lblContentTxt2=\"•\tAnd you booked a flight with a departure before 1 July 2022.\"\r\nexport const lblContentTxt3=\"If your flight is cancelled by the airline, you can request a direct refund.\"\r\nexport const lblContentVoucher=\"When your voucher request is approved, we will also handle the additional options that you purchased. You will receive a separate voucher for these additional options.

If your travel voucher is issued between 1 March and 31 December 2020, you can use your voucher until 31 December 2021. If your voucher is issued between 1 January 2021 and 28 February 2022, you can use it until 1 year after the date of issue.

Please note: when you request a travel voucher, this request applies to your entire booking, outbound and return, for all passengers.\"\r\nexport const lblRequestVoucherCom=\"Request a compensation voucher\"\r\nexport const lblContentTitleCom=\"Am I entitled to a compensation voucher?\"\r\nexport const lblContentSubTitleCom=\"You’re entitled to a compensation voucher if you were rebooked due to operational constraints, because the capacity of the number of passengers on your flight had to be reduced.\"\r\nexport const lblContentTxt1Com=\"•\tYou can request a refundable voucher.\"\r\nexport const lblContentTxt2Com=\"•\tYou can request a non-refundable voucher, which you can use for the purchase of tickets or ancillaries.\"\r\nexport const lblContentTxt3Com=\"The amounts for a non-refundable voucher are higher. You will find more information on our website.\"\r\nexport const lblCompensationURL=\"https://www.klm.nl/en/information/legal/assistance-compensation\"\r\nexport const lblContactDetails=\"Your contact details\";\r\nexport const lblPrefix=\"Prefix\";\r\nexport const lblFullName=\"Full name\";\r\nexport const lblCountry=\"Country or region of residence\";\r\nexport const lblPhoneNumber=\"Phone number\";\r\nexport const lblEmailAddress=\"E-mail address\";\r\nexport const lblBookingDetail=\"Your booking details\";\r\nexport const lblPersonalInfo=\"Personal information\"\r\nexport const lblTicketNo=\"Ticket number\"\r\nexport const lblPassengerFullName=\"Passenger’s full name\";\r\nexport const lblReasonOfReq = \"Reason of request\";\r\nexport const lblAddRemark = \"Additional remarks\";\r\nexport const lblGoodToKnow = \"Good to know\";\r\nexport const lblText1=\"- If your flight has been cancelled by the airline, your travel voucher is refundable after 1 year from the date of issue. If you’ve requested a voucher while your flight was not cancelled by the airline, the travel voucher is non-refundable.\";\r\nexport const lblText2=\"- If your voucher request is approved, we will also handle the extra options that you purchased. You will receive a different voucher for these additional options.\";\r\nexport const lblAddPassenger = \"Add passenger\";\r\nexport const lblConfirmEmail = \"Confirm E-mail address\";\r\nexport const lblHeader = \"Voucher request\";\r\nexport const lblVoucherSuccessHeading = \"Voucher request succeeded\";\r\nexport const lblVouchSuccessContent1 = \"Your voucher request was successfully submitted. You’ll receive a confirmation of your request via e-mail shortly.\";\r\nexport const lblVouchSuccessContent2 = \"Because of the high volume of requests, it can take multiple weeks for us to process your request and check your eligibility. Once we process it, we’ll inform you again via e-mail.\";\r\nexport const lblVouchSuccessContent3 =\"You can check the status of your request in My trip: simply log in with your last name and booking code and you'll see the current status.\";\r\nexport const lblVouchSuccessContent4 = \"Make sure to write down your request ID before closing this window.\"\r\nexport const lblRequestID =\"Request ID\";\r\nexport const lblBookingCode =\"Booking code\";\r\nexport const lblViewPrint =\"View/print\";\r\nexport const lblNeedHelp =\"Need help? Most likely, we’ve answered your question in our up-to-date overview of frequently asked questions.\";\r\nexport const lblNeedHelpText=\"Most likely, we’ve answered your question in our up-to-date overview of frequently asked questions.\"\r\nexport const lblHelpLink =\"Go to frequently asked questions\";\r\nexport const lblLegalInfo =\"Legal information\";\r\nexport const lblCpyRight =\"© 2020 KLM\";\r\nexport const lblSelect=\"--Select--\"\r\n//******************************Button Text***************************************//\r\nexport const btnSubmit=\"Submit\";\r\nexport const btnSave=\"Save\";\r\nexport const lblRemove=\"Remove\";\r\nexport const lblEdit=\"Edit\";\r\nexport const btnYes=\"Yes\";\r\nexport const btnNo=\"No\";\r\nexport const btnOk=\"OK\";\r\n//******************************Helper text for form control*******************************//\r\nexport const ttpPhoneNo = \"Enter your primary contact number.\";\r\nexport const ttpFullName = \"Enter your full name.\";\r\nexport const ttpConfirmEmailID = \"Confirm your e-mail address.\";\r\nexport const ttpRemarks=\"Enter your remarks here (Max. 500 characters).\"\r\nexport const ttpBookingCode=\"Enter a 6 character booking code (e.g. ACQ967).\"\r\nexport const ttpTicketNo=\"Enter 13 digits starting with 074 (e.g. 0741234567890).\"\r\nexport const ttpPassengerName=\"Enter Full name as spelt on passport or ID card.\";\r\nexport const ttpEmailID = \"Enter e-mail address to receive Travel Voucher.\";\r\nexport const msgDelete=\"Are you sure you want to remove the Personal Information for Ticket Number \"\r\nexport const msgPleaseWait=\"Loading... Please Wait\";\r\nexport const msgRemaingCount=\"Remaining characters: \"\r\n//******************************Error messages for form control*******************************//\r\nexport const errMessage=\"An error occurred while saving. Please retry.\";\r\nexport const errAdditionalRemarks=\"Invalid remark. Please retry.\"\r\nexport const errFullName=\"Only A-Z, space, -, / allowed.\"\r\nexport const errPhoneNo=\"Only 0-9 and + allowed.\"\r\nexport const errEmailID = \"Invalid e-mail address format.\";\r\nexport const errConfirmedEmail=\"E-mail addresses do not match.\";\r\nexport const errDupTicketNo=\"Duplicate ticket number not allowed.\";\r\nexport const errBookingCodeSize=\"Enter a 6 character booking code (e.g. ACQ967).\"\r\nexport const errBookingCode=\"Only 2-9 and at least one A-Z (e.g. ACQ967).\"\r\nexport const errTicketNo= \"Should be 13 digits starting with 074 (e.g. 0741234567890).\"\r\nexport const errBlank=\"This is a required field.\"\r\nexport const errSelect=\"Select a value from the List.\"\r\nexport const errMaxName=\"Full Name can have maximum 80 characters\"\r\nexport const errMaxRemark=\"Additional Remarks can have maximum 500 characters\"\r\n//******************************URL of an application*******************************//\r\nexport const LegalInfoURL = \"https://www.klm.com/travel/nl_en/customer_support/customer_support/legal_information/index.htm\";\r\nexport const CopyRigtURL = \"https://www.klm.nl/en/information/legal/copyright\";\r\nexport const HelpURL=\"https://www.klm.nl/en/information/faq\";","import React from 'react';\r\nimport '../../Common/Common.css';\r\nimport banner from '../../assets/icons/background.jpg'\r\n\r\nfunction BannerDisplay() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\nexport default BannerDisplay;","import React, { useState, Fragment, useEffect, forwardRef, useRef, useImperativeHandle } from 'react';\r\nimport '../Common/Common.css'\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport * as Constant from '../Common/Constant' \r\n\r\nconst DlgConfirmation = forwardRef((props, ref) => {\r\n debugger\r\n const [open, setOpen] = React.useState(props.openState);\r\n\r\n const handleClose = () => {\r\n // if(props.onOkay!=undefined){\r\n // props.onOkay()\r\n // }\r\n // if(props.onCancel!=undefined){\r\n // props.onCancel()\r\n // }\r\n setOpen(false);\r\n };\r\n\r\n const fncConfirmation = () => {\r\n setOpen(false);\r\n if(props.onSave!=undefined){\r\n props.onSave(true)\r\n }\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n fncModal() {\r\n setOpen(true);\r\n },\r\n\r\n }));\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n props.singleMessage!=undefined?

{props.singleMessage}

:null\r\n }\r\n {\r\n props.msg!=undefined?\r\n props.msg.ErrorMessages!=undefined?\r\n props.msg.ErrorMessages.map((item,index) => (\r\n \r\n
  • {item}
  • \r\n
    \r\n )) :null\r\n :null\r\n }\r\n \r\n {/* {\r\n props.msg.PassengersDetails != undefined ?\r\n props.msg.PassengersDetails.map((item, index) => (\r\n \r\n {item.BookingCode != undefined ?

    {item.BookingCode}

    : null}\r\n {item.TicketNo != undefined ?

    {item.TicketNo}

    : null}\r\n {item.FullName != undefined ?

    {item.FullName}

    : null}\r\n {item.ReasonOfRequest != undefined ?

    {item.ReasonOfRequest}

    : null}\r\n
    \r\n )) : null}*/}\r\n
    \r\n \r\n {\r\n props.btnSingleSelection==true?\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 DlgConfirmation;","export const fncCheckComma = (value, optValue = 'default') => {\r\n var newValue;\r\n\r\n if (typeof (value) == 'string' && (value.indexOf(',') != -1)) {\r\n newValue = value.replace(/,/gi, '');\r\n newValue = parseFloat(newValue);\r\n }\r\n else if (value == '') {\r\n if (optValue != \"default\") {\r\n return 0\r\n } else {\r\n return ''\r\n }\r\n }\r\n else {\r\n newValue = parseFloat(value);\r\n }\r\n return newValue\r\n}\r\nexport const fncSortData = (Data, SortingOrder) => {\r\n var Keys = []\r\n var Values = []\r\n for (var i = 0; i < SortingOrder.length; i++) {\r\n if (Data[SortingOrder[i]] != undefined) {\r\n Values.push(Data[SortingOrder[i]])\r\n Keys.push(SortingOrder[i])\r\n }\r\n }\r\n return { Keys, Values }\r\n}\r\n\r\n/*** About : Validates the E-Mail Id\r\n Parameters : Email Address\r\n Return Value: True if Email (not blank or in correct email format) else false ***/\r\nexport const validateEmail = (event, optValue = 'Event') => {\r\n\r\n var Email = optValue == 'Event' ? event.target.value : event;\r\n var sEmail = Email;\r\n var sValid = true;\r\n if (sEmail !== \"\") {\r\n if ((sEmail.indexOf(\",\") !== -1) || (sEmail.indexOf(\";\") !== -1)) {\r\n sValid = false;\r\n }\r\n var reg = /^(([^<>()[\\]\\\\.,;:\\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,}))$/\r\n if (reg.test(sEmail)) {\r\n sValid = true;\r\n }\r\n else {\r\n sValid = false;\r\n }\r\n }\r\n else {\r\n sValid = false;\r\n }\r\n return sValid;\r\n}\r\n\r\n//******************************************************************************* */\r\n\r\n//****************************************Validation for multiple emails saparated by semicolon */\r\nexport const fncValidateMultipleEmails = (event, optValue = 'Event') => {\r\n var sEmail = optValue == 'Event' ? event.target.value : event;\r\n var sValid = true;\r\n if (sEmail !== \"\") {\r\n var reg = /^([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]+;{1})*([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]+)*$/g\r\n if (reg.test(sEmail)) {\r\n sValid = true;\r\n }\r\n else {\r\n sValid = false;\r\n }\r\n }\r\n else {\r\n sValid = false;\r\n }\r\n return sValid;\r\n}\r\n\r\n//END HERE\r\n\r\n\r\n//^([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]+;{1})*([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]+)*$\r\n//********************************END HERE****************************************\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\tDescription\t\t:\tValidates that Codes Cannot contain special Character \r\n//\tParameters\t\t:\tobjControl - Control Passed \r\n//\tReturn Value\t:\tTrue - Validation Successful\r\n//////////////////////////////////////////////////////////////////// \r\nexport const CheckCharWithSpace = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n\r\n //old /^[^\\s]+[a-zA-Z ]+$/i;\r\n var regex = /^[a-zA-Z ]+$/i;\r\n if (regex.test(objControl.value.trim())) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\tDescription\t\t:\tValidates that Codes Cannot contain special Character \r\n//\tParameters\t\t:\tobjControl - Control Passed \r\n//\tReturn Value\t:\tTrue - Validation Successful\r\n//////////////////////////////////////////////////////////////////// \r\nexport const CheckBlankSpace = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n\r\n var regex = /^[^\\s].*/;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\tDescription\t\t:\tValidates that Codes Cannot contain special Character \r\n//\tParameters\t\t:\tobjControl - Control Passed \r\n//\tReturn Value\t:\tTrue - Validation Successful\r\n//////////////////////////////////////////////////////////////////// \r\nexport const CheckBlankSpaceNews = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n\r\n var regex = /^[^\\s].*/;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and numbers and no special Characters\r\n//Parameters: objControl - Control Passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkforAlphaNum = (objControl) => {\r\n ;\r\n\r\n // optValue == 'Event' ? event.target.value : event;\r\n var regex = /^[a-z0-9]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and numbers and / special Characters only\r\n//Parameters: objControl - Control Passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkforAlphaNumWithBackSlack = (objControl) => {\r\n ;\r\n\r\n\r\n // optValue == 'Event' ? event.target.value : event;\r\n var regex = /^[a-z0-9/]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and numbers and / special Characters only\r\n//Parameters: objControl - Control Passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkforAlphaNumWithBackZCChangeRequest = (objControl) => {\r\n debugger;\r\n // optValue == 'Event' ? event.target.value : event;\r\n if (objControl != '') {\r\n var regex = /^[a-z0-9/]+$/i;\r\n if (regex.test(objControl)) {\r\n objControl = objControl;\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return true\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and numbers and no special Characters\r\n//Parameters: objControl - Control Passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkForFullName = (objControl) => {\r\n var regex = /^[A-Z-./a-z ][A-Z-./a-z ]{0,79}$/\r\n if (regex.test(objControl.value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and space and Numerics\r\n//Parameters: ovjControl - Control passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkforAlphaSpace = (objControl) => {\r\n\r\n var regex = /^[a-z 0-9]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n// and numbers and no special Characters\r\n//Parameters: objControl - Control passed \r\n//Return Value: True - Validation Successful, otherwise false \r\n ******/\r\nexport const checkforAdminCode = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n\r\n var regex = /^[a-z0-9-_/ ]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n// ********************************* Trim the String***************************\r\n//Parameter: value to trim \r\n//Return Value: value after removing trailed spaces \r\nexport const trim = (sString) => {\r\n var strRet;\r\n strRet = sString.trim();\r\n return strRet;\r\n}\r\n//********************************END HERE****************************************\r\n\r\n/***** About:export const to allow only alphabatic inputs\r\n//Parameters: objControl - Control passed\r\n// Return Value: None\r\n*****/\r\nexport const checkforChar = (objControl) => {\r\n var regex = /^[a-zA-Z]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n/***** About:export const to allow only alphabatic inputs\r\n//Parameters: objControl - Control passed\r\n// Return Value: None\r\n*****/\r\nexport const checkforPaxName = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n if (objControl.value != '') {\r\n var regex = /^[a-z]+[/]{1}[a-z]+\\s?([m]([r]|[s]|[r][s])){1}$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else return true\r\n}\r\n//**** ****************************END HERE****************************************\r\n\r\n\r\n/***** About: export const for checking for the numerics \r\n//Parameters: objControl - Control whose value to be checked\r\n// Return Value: True if validation is successfull, else false\r\n*****/\r\nexport const checkForInt = (objControl) => {\r\n var regex = /^\\d+$/;\r\n var value = objControl.value != null ? objControl.value : objControl;\r\n if (regex.test(value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n/***** About: export const for checking for Sales Waiver flight Number for set of alphabet and numerics \r\n//Parameters: event if there is no second parameter passed\r\n// Return Value: True if validation is successfull, else false\r\n*****/\r\nexport const checkForSWFlightNo = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n var regex = /^[a-z0-9]{2}[\\d]{1,4}$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n/***** About: export const for checking for the numerics FB Number\r\n//Parameters: objControl - Control whose value to be checked\r\n// Return Value: True if validation is successfull, else false\r\n*****/\r\nexport const checkForFBNumber = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n\r\n var regex = /^\\d{10}$/;\r\n if (regex.test(objControl.value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n/***** About: export const for checking for the Document(ticket) Number\r\n// Parameters: e - event\r\n// Return Value: True if validation is successfull, else false\r\n// used 7+3 as limit as limit for number length because, index value starts from 0 to 9 that makes 10 digits\r\n*****/\r\nexport const checkForTktNumber = (objControl, sLength) => {\r\n\r\n // var value = optValue == 'Event' ? event.target.value : event; |([5][7])|([0][6])\r\n var regex = sLength == 13 ? /^[0](([7][4]))+\\d{10,10}$/ : /^\\d{10,10}$/;\r\n if (regex.test(objControl.value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n\r\nexport const fncCheckReferenceNo = (objControl) => {\r\n\r\n var regex = /^[a-z0-9-]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n};\r\n\r\n/***** About: export const for checking for the Justification text not allow ',\",<,>\r\n// Parameters: e - event\r\n// Return Value: True if validation is successfull, else false\r\n// used 7+3 as limit as limit for number length because, index value starts from 0 to 9 that makes 10 digits\r\n*****/\r\nexport const checkForSpecialChar = (objControl) => {\r\n\r\n var value = objControl.value != null ? objControl.value : objControl;\r\n\r\n var regex = /^[^\\s]+[^'\"><]*$/;\r\n if (regex.test(value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n//********************************END HERE****************************************\r\n\r\n/***** About: Validates that the Fare Basis can only contain alphabets \r\n// and numbers and one slash as special Characters\r\n//Parameters: event \r\n//Return Value: True - Validation Successful, otherwise false ******/\r\nexport const fncCheckForFareBasis = (objControl) => {\r\n var value = objControl.value != null ? objControl.value : objControl;\r\n // var regex = /^[a-zA-Z0-9][/]{0,1}[a-zA-Z0-9]+$/;\r\n\r\n // var regex = /^[a-zA-Z0-9]{7}[/]{0,1}[a-zA-Z0-9]{7,8}$/;\r\n // var regex = /^[a-zA-Z0-9]+([/]{0,1})[a-zA-Z0-9]+$/;\r\n // var regex = /^[a-zA-Z]+([/]{0,1})[a-zA-Z0-9]+$/;\r\n\r\n var regex = /^[a-zA-Z][a-zA-Z0-9]+([/]{0,1})[a-zA-Z0-9]+$/;\r\n if (regex.test(objControl.value) && objControl.value.length < 16) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//******************************** END HERE****************************************\r\n\r\n\r\n//********************* Check for Decimal or float using regex********************************************\r\n// this function will get \r\n//1. e = event of element\r\n//2. strDecimalPlaces = number of decimal allowed or to be validated.\r\nexport const checkForDecimal = (objControl, strDecimalPlaces) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n if (strDecimalPlaces === 0) {\r\n var regex = new RegExp('(\\\\d)$');\r\n } else {\r\n var regex = new RegExp('(\\\\d(\\\\.\\\\d{1,' + strDecimalPlaces + '}))$');\r\n }\r\n // var regex = /(\\d{1,2}\\.(?=\\d{1,2}))/; //to check any number of digits before or after decimal\r\n // var regex = /(\\d(\\.\\d{1,2}))$/; // to Check any number of digit befor decimal and only two digit after decimal\r\n // var regex = /^\\d{0,2}(\\.\\d{0,2}){0,1}$/; //to check up two digits on both side\r\n if (regex.test(objControl.value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n// ^\\d+(\\.\\d+)?$\r\n\r\n//********************* Check for Real Numbers contain decimal or only integer using regex********************************************\r\n// this function will get \r\n//1. objControl = objControl of Control\r\nexport const checkForRealNumbers = (objControl) => {\r\n // var value = optValue == 'Event' ? event.target.value : event;\r\n var regex = /^[1-9]([0-9]?)+(\\.\\d+)?$/;\r\n var value = objControl.value != null ? objControl.value : objControl;\r\n if (regex.test(value)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n/** About: This export const chks for length of txtarea\t\r\n// Parameters: objToCheck - Object to check for Blankness, iLenToCheck\r\n// Return Value: A boolean false if exceeds limit\r\n**/\r\nexport const checkLength = (objToCheck, iLenToCheck) => {\r\n\r\n if (objToCheck.value.length != iLenToCheck) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n}\r\n//********************************END HERE****************************************\r\n\r\n\r\n\r\n/***** About:Function to remove any trailing spaces in a string\r\n//Parameters: strRTrim : The string from which space to be removed from right\r\n// Return Value: String\r\n*****/\r\nexport const ChkPhoneNo = (strPhoneNo) => {\r\n ///^[0-9]+$/i;\r\n var InNum = /^[+]?\\d+$/\r\n var strRet = false;\r\n if (InNum.test(strPhoneNo.value)) {\r\n strRet = true;\r\n }\r\n return strRet;\r\n}\r\n\r\n// ********************CHECK PHONE NUmber Validation END HERE ************\r\n\r\n\r\nexport const validate = (e) => {\r\n let errors = {};\r\n if (!e.email) {\r\n errors.email = 'Email address is required';\r\n } else if (!/\\S+@\\S+\\.\\S+/.test(e.email)) {\r\n errors.email = 'Email address is invalid';\r\n }\r\n return errors;\r\n};\r\n\r\nexport const fncCheckKeyInData = (selectedValue, Data) => {\r\n\r\n let Key = {}, key;\r\n for (Key in Data) {\r\n if (Data.hasOwnProperty(selectedValue.toUpperCase())) {\r\n return true\r\n }\r\n else\r\n return false\r\n }\r\n};\r\nexport const ObjectSorting = (Data) => {\r\n // \r\n var SortedData = { \"Keys\": [], \"Values\": [] }\r\n var Values = Object.values(Data)\r\n var keys = Object.keys(Data)\r\n Values.sort()\r\n let i = 0, j = 0, key;\r\n for (i = 0; i < Values.length; i++) {\r\n for (j = 0; j < keys.length; j++) {\r\n if (Data[keys[j]] == Values[i]) {\r\n key = keys[j].toString()\r\n }\r\n }\r\n SortedData[\"Keys\"].push(key)\r\n SortedData[\"Values\"].push(Values[i])\r\n }\r\n return SortedData\r\n}\r\n\r\n// Function for Formatting Column Names\r\nexport const fncFormatColumnNames = (ColumnName) => {\r\n // ;\r\n var FormatedName = ''\r\n var j = 0\r\n for (var i = 0; i < ColumnName.length; i++) {\r\n if ((ColumnName[i] == ColumnName[i].toUpperCase()) && (i > 0)) {\r\n FormatedName = FormatedName + ' ' + ColumnName[i]\r\n if (j + 1 == i) {\r\n return ColumnName\r\n }\r\n j = i\r\n }\r\n else {\r\n FormatedName = FormatedName + ColumnName[i]\r\n }\r\n }\r\n return FormatedName\r\n}\r\n\r\n// END HERE\r\n\r\n/***** About: Validates that the code can only contain alphabets \r\n//and numbers and no special Characters and not contain 1 or 0 and lenght should be 6\r\n//Parameters: objControl - Control Passed \r\n//Return Value: True - Validation Successful, otherwise false *******/\r\n\r\nexport const checkforPNR = (objControl) => {\r\n // var regex = /^[a-z2-9]+$/i;\r\n var regex = /^[A-Z2-9a-z]{6}$/\r\n\r\n if (regex.test(objControl.value)) {\r\n //var start = objControl.selectionStart;\r\n //objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n if (isNaN(objControl.value) == true && objControl.value.length == 6) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n//validate City Code\r\nexport const checkForCityCode = (objControl) => {\r\n var regex = /^[a-zA-Z]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n if (objControl.value.length == 3) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n// END HERE\r\n\r\n//start check for seat no alphanumeric of length 3\r\nexport const checkForSeatNo = (objControl) => {\r\n var regex = /^[a-z0-9]+$/i;\r\n if (regex.test(objControl.value)) {\r\n var start = objControl.selectionStart;\r\n objControl.value = objControl.value.toUpperCase();\r\n // window.requestAnimationFrame(() => {\r\n // objControl.selectionStart = start;\r\n // objControl.selectionEnd = start;\r\n // });\r\n if (objControl.value.length == 3) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n// For User Master common functions\r\n/////////////////////////////////////////////////////////////////////\r\n//\tDescription\t\t:\tMake the format of data as id:Value using parameter as id=\"\", value=\"\" \r\n//\tParameters\t\t:\tData\r\n//\tReturn Value\t:\treturn formated data\r\n//////////////////////////////////////////////////////////////////// \r\nexport const fncGetIDValue = (Data) => {\r\n var IdValueData = {};\r\n for (let i = 0; i < Data.length; i++) {\r\n IdValueData[Data[i].ID] = Data[i].Value\r\n }\r\n return IdValueData;\r\n}\r\n/////////////////////////////////////////////////////////////////////\r\n//\tDescription\t\t:\tto check if the Level is available to be selected in the authorization Dropdown\r\n//\tParameters\t\t:\tLevel, DDL Values list\r\n//\tReturn Value\t:\tTrue - if available\r\n//////////////////////////////////////////////////////////////////// \r\nexport const fncCheckLevelAvailablity = (LevelToSelect, AvailableLevel) => {\r\n for (let m = 0; m < AvailableLevel.length; m++) {\r\n if (AvailableLevel[m].ID == LevelToSelect) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n//END HERE","import React, { Fragment, useRef, forwardRef, useState, useImperativeHandle } from \"react\";\r\nimport { Dialog, DialogActions, Typography, CircularProgress, DialogContent, Grid } from \"@material-ui/core\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport * as Constant from '../Common/Constant'\r\n\r\n//*******************Common loading function****************//\r\nconst DlgLoading = forwardRef((props, ref) => {\r\n\r\n const useStyles = makeStyles(theme => ({\r\n modal: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n paper: {\r\n padding: '35px',\r\n },\r\n text: { paddingTop: \"15px\" }\r\n }))\r\n const [open, setOpen] = React.useState(props.openState);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n useImperativeHandle(ref, () => ({\r\n fncModal() {\r\n setOpen(true)\r\n }\r\n }))\r\n\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n
    \r\n {/*

    {Constant.msgPleaseWait}

    */}\r\n
    \r\n
    \r\n
    )\r\n})\r\nexport default DlgLoading;","import React,{useState,useEffect} from 'react';\r\n\r\nfunction IframeComponent(props) {\r\n const [st_data, setData]=useState({Action:props.Action, Label:props.Label, Value:props.Value,Country:''})\r\n\r\n useEffect(()=>{\r\n debugger\r\n if(props.Action!=\"\"){\r\n st_data.Action=props.Action;\r\n st_data.Label=props.Label;\r\n if(props.Value!=\"\" && typeof props.Value!=\"string\"){\r\n st_data.Value= JSON.stringify(props.Value);\r\n }\r\n else{\r\n st_data.Value= props.Value; \r\n }\r\n\r\n if(props.Country!=undefined){\r\n st_data.Country=props.Country; \r\n }\r\n setData({...st_data})\r\n }\r\n },[props.Action])\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n )\r\n}\r\nexport default IframeComponent;","import React, { Fragment, useState, useEffect,useRef } from 'react';\r\nimport axios from 'axios';\r\nimport '../../Common/Common.css';\r\nimport '../main/Success.css';\r\nimport * as Constant from '../../Common/Constant';\r\nimport {FormHelperText,Button,Dialog,DialogActions, TextField, Grid, FormControl, Select,MenuItem,InputLabel,DialogTitle,DialogContent} from '@material-ui/core';\r\nimport BannerDisplay from '../main/BannerDisplay';\r\nimport warning from '../../assets/icons/warning-round.svg'\r\nimport profile from '../../assets/icons/profile.svg'\r\nimport Alert from '../../Common/DlgConfirmation'\r\nimport {ObjectSorting,validateEmail,checkForFullName,ChkPhoneNo,checkForSpecialChar,checkforAlphaNum, checkForTktNumber, checkforPNR } from '../../Common/CommonValidationFnc';\r\nimport { Redirect } from 'react-router-dom';\r\nimport DlgLoading from '../../Common/DlgLoading';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport Link from '@material-ui/core/Link';\r\nimport $ from 'jquery'\r\nimport Testiframe from './Iframe'\r\n\r\n//************************************************************************************************\r\n //Description : Request Travel Voucher\r\n//'***********************************************************************************************\r\n\r\nfunction TravelVoucher() {\r\n const [st_IsEventLog, setEventLog]= useState(false)\r\n const [st_EventData, setEventData]=useState({Action:\"\", Label:\"\", Value:\"\", Country:\"\",CountryName:\"\"})\r\n const childAlert = React.useRef()\r\n const [st_IsEnableButton, setIsEnableButton]= useState(true);\r\n const[st_Success, setSuccessPage] = useState(false);\r\n const[st_SuccessData, setSuccessData] = useState([]);\r\n const [st_Open, setOpen] = useState(false);\r\n const [st_warning, setWarning]= useState(false); const childError = useRef();\r\n const [st_Alert, setAlert] = useState(false);\r\n const [st_singleAlert,setSingleAlert] =useState(false)\r\n const [st_Data, setData]=useState({msgError:[],BookingCode:\"\", ReasonOfRequest:\"\",ReasonOfRequestName:\"\",IsValidContactData:false,IsValidBookingData:false})\r\n const [st_ContactDetails, setContactDetails] = useState({ Prefix: \"\", FullName: \"\", CountryOrRegionOfRequest: \"\", PhoneNo: \"\", EmailID: \"\", ConfirmEmailID: \"\",AdditionalRemarks:\"\"})\r\n const [st_ConError, setContactError] = useState({ errFullName: \"\", errPhoneNo: \"\", errEmailID: \"\", errConfirmEmailID: \"\",errAdditionalRemarks:\"\",errCountryOrRegionOfRequest:\"\",IsValidFullName: \"\", IsValidPhoneNo: \"\", IsValidEmailID: \"\", IsValidConfirmEmailID: \"\",IsValidRemarks:\"\" })\r\n const [st_arrPassengerInfo, setPassengerInfo] = useState([]);\r\n const [st_arrOriginalInfo, setOriginalInfo] = useState([]);\r\n const [st_Error, setError] = useState([]);\r\n const [st_Prefix, setPrefix] = useState([]);\r\n const [st_Country, setCountry] = useState({ Keys: [], Values: [] });\r\n const [st_Reason , setReasons] = useState({ Keys: [], Values: [] });\r\n const [st_isLoader, setIsLoader] = useState(false); const childRefLoader = useRef();\r\n\r\n\r\n //show loading dialog\r\n const fncShowLoading = () => {\r\n setIsLoader(true)\r\n if (childRefLoader.current != undefined) { childRefLoader.current.fncModal() }\r\n }\r\n const fncSetEventLog=(action,label,value,Country)=>{\r\n \r\n st_EventData.Action=action;\r\n st_EventData.Label=label;\r\n st_EventData.Value=value;\r\n st_EventData.Country=Country;\r\n setEventData({...st_EventData})\r\n setEventLog(true)\r\n }\r\n\r\n //call api here\r\n useEffect(()=>{\r\n callAjax({}, 'GetPrefixesDDL');\r\n callAjax({}, 'GetCountriesDDL');\r\n callAjax({}, 'GetReasonOfRequestDDL');\r\n window.scrollTo(0, 0)\r\n fncSetEventLog(\"PageLoad\",\"TravelVoucher\",\"null\", '')\r\n setEventLog(true)\r\n },[])\r\n useEffect(()=>{\r\n $('#ConfirmEmailID').bind('copy paste cut',function(e) {\r\n e.preventDefault(); //disable cut,copy,paste\r\n });\r\n var input = document.getElementById(\"PhoneNo\");\r\n input.maxLength = 20;\r\n },[])\r\n\r\n//*********************************************************************************************\r\n //Description : Common call ajax function to call \r\n//'******************************************************************************************** \r\nconst callAjax = (Data, MethodName) => {\r\n axios({\r\n method: 'post',\r\n url: Constant.APIURL + MethodName,\r\n data: Data,\r\n contentType: 'application/json; charset=utf-8',\r\n config: { headers: { 'Content-Type': 'multipart/form-data' } }\r\n })\r\n .then((success) => { \r\n setIsLoader(false)\r\n if(MethodName==\"GetPrefixesDDL\"){\r\n if (success.data.Result == 1) {\r\n setPrefix(success.data.Data)\r\n }\r\n }\r\n else if (MethodName == \"GetCountriesDDL\") {\r\n if (success.data.Result == 1) {\r\n let keyValueData = ObjectSorting(success.data.Data); \r\n setCountry(keyValueData)\r\n }\r\n else {\r\n \r\n }\r\n }\r\n else if(MethodName==\"GetReasonOfRequestDDL\"){\r\n if (success.data.Result == 1) {\r\n let keyValueData = ObjectSorting(success.data.Data); \r\n setReasons(keyValueData)\r\n }\r\n }\r\n else if(MethodName==\"SaveRequestDetails\"){\r\n if (success.data.Result == 1) {\r\n setSuccessData(success.data.RequestIDsAndBookingCodes)\r\n setSuccessPage(true)\r\n }\r\n else if (success.data.Result == 0) {\r\n \r\n st_Data.msgError = success.data\r\n setData({...st_Data})\r\n setWarning(true)\r\n if (childError.current != undefined) { childError.current.fncModal(); }\r\n fncSetEventLog(\"Error\", MethodName, success.data, '')\r\n }\r\n else if (success.data.Result == 500) {\r\n \r\n st_Data.msgError = success.data.Message\r\n setData({...st_Data})\r\n setSingleAlert(true)\r\n if (childError.current != undefined) { childError.current.fncModal(); }\r\n fncSetEventLog(\"Error\", MethodName, success.data.Message,'')\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n }\r\n )\r\n}\r\n //add booking details, open add dialog, set error, json index wise\r\n const fncAddBookingDetails = () => {\r\n st_Data.IsValidBookingData=false;\r\n setData({...st_Data})\r\n setIsEnableButton(true)\r\n let ID = Math.floor(Math.random() * 100)\r\n let objPaxError = { RowID:ID, Mode: \"ADD\", IsEnable:true,errBookingCode: \"\", errTicketNo: \"\", errFullName: \"\",errReasonOfRequest:\"\",IsValidBookingCode: st_arrPassengerInfo.length>=1?true:\"\", IsValidTicketNo: \"\", IsValidFullName: \"\",Handled:false }\r\n let error = st_Error.concat(objPaxError)\r\n setError(error)\r\n\r\n let objPaxItem = { RowID:ID, BookingCode: st_arrPassengerInfo.length>=1?st_Data.BookingCode:\"\", TicketNo: \"\", FullName: \"\", ReasonOfRequest: st_arrPassengerInfo.length>=1?st_Data.ReasonOfRequest:\"\",ReasonOfRequestName:st_Data.ReasonOfRequestName}\r\n let arr = st_arrPassengerInfo.concat(objPaxItem)\r\n setPassengerInfo(arr)\r\n\r\n let objOriginalItem = { RowID:ID, BookingCode: '', TicketNo: \"\", FullName: \"\", ReasonOfRequest: \"\",ReasonOfRequestName:''}\r\n let original = st_arrOriginalInfo.concat(objOriginalItem)\r\n setOriginalInfo(original)\r\n\r\n setOpen(true);\r\n }\r\n //save booking details, show rectangle box based on mode edit\r\n const fncSavePassengerDetails=(index)=>{\r\n st_Error[index].Handled=true\r\n st_Error[index].Mode=\"Edit\"\r\n setError([...st_Error])\r\n setOpen(false);\r\n st_Data.IsValidBookingData=true\r\n setData({...st_Data})\r\n //set booking and reason\r\n if(index==0){\r\n st_Data.BookingCode = st_arrPassengerInfo[index].BookingCode;\r\n st_Data.ReasonOfRequest = st_arrPassengerInfo[index].ReasonOfRequest;\r\n st_Data.ReasonOfRequestName = st_arrPassengerInfo[index].ReasonOfRequestName;\r\n setData({...st_Data})\r\n }\r\n //set original state\r\n st_arrOriginalInfo[index].RowID=st_arrPassengerInfo[index].RowID\r\n st_arrOriginalInfo[index].BookingCode=st_arrPassengerInfo[index].BookingCode\r\n st_arrOriginalInfo[index].TicketNo=st_arrPassengerInfo[index].TicketNo\r\n st_arrOriginalInfo[index].FullName=st_arrPassengerInfo[index].FullName\r\n st_arrOriginalInfo[index].ReasonOfRequest=st_arrPassengerInfo[index].ReasonOfRequest\r\n st_arrOriginalInfo[index].ReasonOfRequestName=st_arrPassengerInfo[index].ReasonOfRequestName\r\n setOriginalInfo([...st_arrOriginalInfo])\r\n fncCheckContactBookingDetails();\r\n\r\n \r\n let obj = st_arrOriginalInfo[index]\r\n let objCountryName = {\"Region\":st_EventData.CountryName}\r\n let combineData = {...obj, ...objCountryName}\r\n\r\n fncSetEventLog(\"button\",\"booking_details.continue\",combineData, st_ContactDetails.CountryOrRegionOfRequest)\r\n }\r\n\r\n //close the modal popup, if alldata inside the popup is invalir or blank then remove from the json\r\n const handleClose = (index,getItem) => {\r\n setOpen(false);\r\n st_Error[index].Mode =\"Edit\"\r\n setError([...st_Error])\r\n let objPaxItem=[];\r\n\r\n if(st_Error[index].Handled==false){\r\n objPaxItem = [...st_arrPassengerInfo.filter(item => item.RowID !== getItem)];\r\n setPassengerInfo(objPaxItem);\r\n const original = [...st_arrOriginalInfo.filter(item => item.RowID !== getItem)];\r\n setOriginalInfo(original);\r\n const objPaxItemErr = [...st_Error.filter(item => item.RowID !== getItem)];\r\n setError(objPaxItemErr);\r\n }\r\n else{\r\n //set original state\r\n st_arrPassengerInfo[index].RowID=st_arrOriginalInfo[index].RowID\r\n st_arrPassengerInfo[index].BookingCode=st_arrOriginalInfo[index].BookingCode\r\n st_arrPassengerInfo[index].TicketNo=st_arrOriginalInfo[index].TicketNo\r\n st_arrPassengerInfo[index].FullName=st_arrOriginalInfo[index].FullName\r\n st_arrPassengerInfo[index].ReasonOfRequest=st_arrOriginalInfo[index].ReasonOfRequest\r\n st_arrPassengerInfo[index].ReasonOfRequestName=st_arrOriginalInfo[index].ReasonOfRequestName\r\n setPassengerInfo([...st_arrPassengerInfo])\r\n }\r\n \r\n if(st_arrPassengerInfo.length>1){\r\n let isValid= fncCheckBlank(objPaxItem);\r\n if(isValid==false){\r\n st_Data.IsValidBookingData=false;\r\n setData({...st_Data})\r\n fncCheckContactBookingDetails()\r\n }\r\n else{\r\n st_Data.IsValidBookingData=true;\r\n setData({...st_Data})\r\n fncCheckContactBookingDetails()\r\n }\r\n }\r\n };\r\n //set contact details data, set helper, error text based on selection\r\n const fncContactDetails = (event,type,check) => {\r\n let value = event.target.value;\r\n let name= event.target.name;\r\n\r\n //set state\r\n st_ContactDetails[name] = value;\r\n setContactDetails({...st_ContactDetails})\r\n //set error\r\n st_ConError[\"err\"+name] = '';\r\n setContactError({...st_ConError})\r\n \r\n if(type!=\"ddl\"){\r\n switch (type) {\r\n case 'FullName': fncValidateContact(checkForFullName(event.target,'name'), event,check); break;\r\n case 'PhoneNo': fncValidateContact(ChkPhoneNo(event.target), event,check); break;\r\n case \"EmailID\": fncValidateContact(validateEmail(event),event,check);break;\r\n case \"ConfirmEmailID\": fncValidateContact(validateEmail(event),event,check);break;\r\n case \"AdditionalRemarks\": fncValidateContact(checkForSpecialChar(event.target),event,check);break;\r\n }\r\n }\r\n else{ \r\n if(type==\"ddl\" && check==\"OnBlur\" && value==\"\"){\r\n st_ConError[\"err\"+name] = 'blank';\r\n setContactError({...st_ConError})\r\n }\r\n else if(type==\"ddl\" && value!=\"\"){\r\n st_ConError[\"err\"+name] = '';\r\n setContactError({...st_ConError})\r\n }\r\n\r\n if(name==\"CountryOrRegionOfRequest\"){\r\n let txtSelect = event.currentTarget.innerText\r\n st_EventData.CountryName = txtSelect\r\n setEventData({...st_EventData})\r\n }\r\n fncCheckContactDetails()\r\n }\r\n }\r\n //validate contact details\r\n const fncValidateContact = (isValid, event,check) => {\r\n let name= event.target.name;\r\n let value = event.target.value;\r\n \r\n if(isValid){\r\n if(check==\"OnChange\"){\r\n st_ConError[\"IsValid\"+name] = true;\r\n setContactError({...st_ConError})\r\n\r\n if(name==\"AdditionalRemarks\"){\r\n if(value==\"\"){\r\n st_ConError[\"err\"+name]=\"\"\r\n st_ConError[\"msg\"+name]=\"\";\r\n }\r\n else{\r\n st_ConError[\"msg\"+name]=\"count\";\r\n if(value.length<=500){\r\n st_ConError[\"count\"+name] = Constant.msgRemaingCount + (500 - value.length);\r\n setContactError({...st_ConError})\r\n }\r\n else{\r\n st_ConError[\"err\"+name]=\"max\"\r\n st_ConError[\"IsValid\"+name] = false;\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n }\r\n \r\n if(name==\"EmailID\"){\r\n st_ContactDetails.ConfirmEmailID = '';\r\n setContactDetails({...st_ContactDetails})\r\n st_ConError.errConfirmEmailID = '';\r\n setContactError({...st_ConError})\r\n }\r\n if(name==\"ConfirmEmailID\"){\r\n if(st_ContactDetails.EmailID.toLowerCase() != value.toLowerCase()){\r\n st_ConError[\"IsValid\"+name] = false;\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n if(name==\"FullName\" && value.length>80){\r\n st_ConError[\"err\"+name] = \"max\";\r\n st_ConError[\"IsValid\"+name] = false;\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n else if(check==\"OnBlur\"){\r\n \r\n st_ConError[\"err\"+name] = '';\r\n setContactError({...st_ConError})\r\n if(name==\"ConfirmEmailID\"){\r\n if(st_ContactDetails.EmailID.toLowerCase() != value.toLowerCase()){\r\n st_ConError[\"IsValid\"+name] = false;\r\n st_ConError[\"err\"+name] = 'error';\r\n setContactError({...st_ConError})\r\n }\r\n else{\r\n st_ConError[\"err\"+name] = '';\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n else if(name==\"AdditionalRemarks\"){\r\n if(value.length>500){\r\n st_ConError[\"err\"+name]=\"max\"\r\n st_ConError[\"IsValid\"+name] = false;\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n }\r\n }\r\n else{\r\n if(check==\"OnChange\"){\r\n if(name==\"PhoneNo\"){\r\n if(value==\"\"){\r\n st_ContactDetails[name] = '';\r\n setContactDetails({...st_ContactDetails})\r\n }\r\n }\r\n st_ConError[\"IsValid\"+name] = false;\r\n setContactError({...st_ConError})\r\n if(value==\"\" && name==\"AdditionalRemarks\"){\r\n st_ConError[\"msg\"+name] = '';\r\n setContactError({...st_ConError});\r\n }\r\n }\r\n else if(check==\"OnBlur\"){\r\n if(value==\"\"){\r\n if(name==\"AdditionalRemarks\"){\r\n st_ConError[\"err\"+name] = '';\r\n }\r\n else{\r\n st_ConError[\"err\"+name] = 'blank';\r\n }\r\n }\r\n else{\r\n st_ConError[\"err\"+name] = 'error';\r\n }\r\n setContactError({...st_ConError})\r\n }\r\n }\r\n fncCheckContactDetails()\r\n }\r\n const fncCheckBlank=(item)=>{\r\n for (var i = 0; i < item.length; i++) {\r\n if (st_arrOriginalInfo[i].BookingCode.trim() == \"\") {\r\n return false\r\n }\r\n if (st_arrOriginalInfo[i].TicketNo.trim() == \"\") {\r\n return false\r\n }\r\n if (st_arrOriginalInfo[i].FullName.trim() == \"\") {\r\n return false\r\n }\r\n if (st_arrOriginalInfo[i].ReasonOfRequest== \"\") {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n //check booking details index wise, enable/disable button \r\n const fncCheckPassengerDetails=(index)=>{\r\n if(st_arrPassengerInfo[index].BookingCode!=\"\" && st_Error[index].IsValidBookingCode==true \r\n && st_arrPassengerInfo[index].TicketNo!=\"\" && st_Error[index].IsValidTicketNo==true\r\n && st_arrPassengerInfo[index].FullName.trim()!=\"\" && st_Error[index].IsValidFullName==true\r\n && st_arrPassengerInfo[index].ReasonOfRequest!=\"\"\r\n ){\r\n st_Error[index].IsEnable=false;\r\n setError([...st_Error])\r\n return true;\r\n }\r\n else{\r\n st_Error[index].IsEnable=true;\r\n setError([...st_Error])\r\n return false;\r\n }\r\n }\r\n //set booking details data index wise\r\n const fncPassengerDetails=(event, index,type,check)=>{ \r\n let value= event.target.value;\r\n let name= event.target.name;\r\n \r\n if(name==\"ReasonOfRequest\"){ \r\n if(check==\"OnBlur\" && value==\"\"){\r\n st_Error[index][\"err\"+name] = 'blank';\r\n setError([...st_Error])\r\n }\r\n else{\r\n st_arrPassengerInfo[index][name]=value;\r\n setPassengerInfo([...st_arrPassengerInfo])\r\n st_Error[index][\"err\"+name] = '';\r\n setError([...st_Error])\r\n }\r\n st_arrPassengerInfo[index][name]=value;\r\n st_arrPassengerInfo[index][name+\"Name\"]=event.currentTarget.innerText;\r\n setPassengerInfo([...st_arrPassengerInfo])\r\n fncCheckPassengerDetails(index)\r\n }\r\n\r\n switch (type) {\r\n case 'BookingCode': fncValidatePassengers(checkforPNR(event.target), event,index,check); break;\r\n case 'TicketNo': fncValidatePassengers(checkForTktNumber(event.target,13), event,index,check); break;\r\n case \"FullName\": fncValidatePassengers(checkForFullName(event.target,'name'),event,index,check);break;\r\n }\r\n }\r\n //validate data \r\n const fncValidatePassengers=(isValid,event,index,check) => {\r\n let name= event.target.name;\r\n if(check==\"OnChange\"){\r\n st_Error[index][\"err\"+name] = '';\r\n setError([...st_Error])\r\n let value= event.target.value;\r\n if(name==\"BookingCode\"){\r\n value=event.target.value.toUpperCase();\r\n } \r\n st_arrPassengerInfo[index][name]=value;\r\n setPassengerInfo([...st_arrPassengerInfo])\r\n\r\n if(isValid){\r\n st_Error[index][\"err\"+name] = '';\r\n st_Error[index][\"IsValid\"+name]=true;\r\n setError([...st_Error])\r\n\r\n if(name==\"TicketNo\" && event.target.value.length==13){\r\n fncCheckTicketNo(index,false)\r\n }\r\n if(name==\"FullName\" && value.length>80){\r\n st_Error[index][\"err\"+name] = 'max';\r\n st_Error[index][\"IsValid\"+name]=false;\r\n setError([...st_Error])\r\n }\r\n }\r\n else{\r\n if(event.target.value==\"\"){\r\n st_Error[index][\"err\"+name] = '';\r\n setError([...st_Error])\r\n }else\r\n st_Error[index][\"IsValid\"+name]=false;\r\n setError([...st_Error])\r\n }\r\n }\r\n else if(check==\"OnBlur\"){\r\n if(isValid){\r\n st_Error[index][\"err\"+name]=\"\";\r\n setError([...st_Error])\r\n \r\n if(name==\"TicketNo\" && event.target.value.length==13){\r\n fncCheckTicketNo(index,true)\r\n }\r\n if(name==\"FullName\" &&event.target.value.length>80){\r\n st_Error[index][\"err\"+name] = 'max';\r\n st_Error[index][\"IsValid\"+name]=false;\r\n setError([...st_Error])\r\n }\r\n }\r\n else{\r\n if(event.target.value==\"\"){\r\n st_Error[index][\"err\"+name] = 'blank';\r\n setError([...st_Error])\r\n }\r\n else if(name==\"BookingCode\" && event.target.value.length<6){\r\n st_Error[index][\"err\"+name]=\"errSize\";\r\n setError([...st_Error])\r\n }\r\n else{\r\n st_Error[index][\"err\"+name]=\"error\";\r\n setError([...st_Error])\r\n }\r\n } \r\n }\r\n fncCheckPassengerDetails(index)\r\n }\r\n const fncEditPassenger=(index)=>{\r\n \r\n st_Error[index].Mode=\"ADD\"\r\n setError([...st_Error])\r\n setOpen(true);\r\n\r\n st_Error[index].IsEnable=false\r\n st_Error[index].errBookingCode=\"\"\r\n st_Error[index].errTicketNo=\"\"\r\n st_Error[index].errFullName=\"\"\r\n st_Error[index].errReasonOfRequest=\"\"\r\n st_Error[index].IsValidBookingCode=true\r\n st_Error[index].IsValidTicketNo=true\r\n st_Error[index].IsValidFullName=true\r\n setError([...st_Error])\r\n\r\n fncSetEventLog(\"link\",\"Edit Passenger\",st_arrPassengerInfo[index], st_ContactDetails.CountryOrRegionOfRequest)\r\n }\r\n const fncRemovePassenger=(getItem)=>{\r\n \r\n const objPaxItem = [...st_arrPassengerInfo.filter(item => item.RowID !== getItem)];\r\n setPassengerInfo(objPaxItem);\r\n\r\n const objPaxItemErr = [...st_Error.filter(item => item.RowID !== getItem)];\r\n setError(objPaxItemErr);\r\n\r\n const original = [...st_arrOriginalInfo.filter(item => item.RowID !== getItem)];\r\n setOriginalInfo(original);\r\n\r\n if(objPaxItem.length==0){\r\n st_Data.IsValidBookingData=false;\r\n setData({...st_Data})\r\n setIsEnableButton(true)\r\n }\r\n fncSetEventLog(\"link\",\"Remove Passenger\", 'null', st_ContactDetails.CountryOrRegionOfRequest)\r\n }\r\n const fncCheckContactDetails=()=>{\r\n \r\n if(st_ContactDetails.FullName.trim() !=\"\" && st_ConError.IsValidFullName ==true\r\n && st_ContactDetails.EmailID !=\"\" && st_ConError.IsValidEmailID ==true && st_ConError.IsValidConfirmEmailID ==true\r\n && st_ContactDetails.ConfirmEmailID!=\"\" && st_ConError.errConfirmEmailID==\"\" && st_ContactDetails.CountryOrRegionOfRequest!=\"\" \r\n && st_ContactDetails.PhoneNo!=\"\" && st_ConError.IsValidPhoneNo==true){\r\n \r\n if(st_ContactDetails.AdditionalRemarks!=\"\"){\r\n if(st_ConError.IsValidAdditionalRemarks==false){\r\n st_Data.IsValidContactData=false\r\n setData({...st_Data})\r\n fncDisableButton()\r\n return false\r\n }\r\n else{\r\n st_Data.IsValidContactData=true\r\n setData({...st_Data})\r\n fncCheckContactBookingDetails()\r\n return true;\r\n }\r\n }\r\n else{\r\n st_Data.IsValidContactData=true\r\n setData({...st_Data})\r\n fncCheckContactBookingDetails()\r\n return true;\r\n }\r\n }\r\n else{\r\n st_Data.IsValidContactData=false\r\n setData({...st_Data})\r\n fncDisableButton()\r\n return false\r\n }\r\n }\r\n const fncCheckContactBookingDetails=()=>{\r\n if(st_Data.IsValidContactData==true && st_Data.IsValidBookingData==true){\r\n fncEnableButton()\r\n }\r\n else{\r\n fncDisableButton()\r\n }\r\n }\r\n\r\n const fncEnableButton=()=>{\r\n setIsEnableButton(false)\r\n }\r\n\r\n const fncDisableButton=()=>{\r\n setIsEnableButton(true)\r\n }\r\n //main saving\r\n const fncSaveDetials=()=>{ \r\n \r\n fncShowLoading()\r\n let Data ={\r\n \"Prefix\": st_ContactDetails.Prefix,\r\n \"FullName\": st_ContactDetails.FullName,\r\n \"CountryOrRegionOfRequest\": st_ContactDetails.CountryOrRegionOfRequest,\r\n \"EmailID\": st_ContactDetails.EmailID,\r\n \"PhoneNo\": st_ContactDetails.PhoneNo.replace(\"+\",\"\"),\r\n \"PassengersDetails\": st_arrOriginalInfo,\r\n \"AdditionalRemarks\": st_ContactDetails.AdditionalRemarks,\r\n \"ReasonOfRequest\": st_Data.ReasonOfRequest\r\n }\r\n \r\n callAjax(Data,\"SaveRequestDetails\")\r\n fncSetEventLog(\"button\",\"contact_details.submit\",Data, st_ContactDetails.CountryOrRegionOfRequest)\r\n }\r\n const fncDeleteConfirmation=(rowID,TicketNo)=>{\r\n st_Data.RowID=rowID;\r\n st_Data.TicketNo=TicketNo\r\n setData({...st_Data});\r\n setAlert(true);\r\n if (childAlert.current != undefined) { childAlert.current.fncModal(); }\r\n fncSetEventLog(\"link\",\"RemovePassenger\",TicketNo, st_ContactDetails.CountryOrRegionOfRequest)\r\n }\r\n //check duplicate code\r\n function fncCheckTicketNo(index, status) {\r\n if(st_arrPassengerInfo.length>1){\r\n let result =false;\r\n for(let i = 0; i < st_arrPassengerInfo.length;i++) {\r\n for(let j = 0; j < st_arrPassengerInfo.length;j++) {\r\n if(i !== j) {\r\n if(st_arrPassengerInfo[i].TicketNo === st_arrPassengerInfo[j].TicketNo && st_arrPassengerInfo[j].TicketNo!=\"\"){\r\n if(status==true){\r\n st_Error[index]['err' + \"TicketNo\"] = 'duplicate'\r\n } \r\n st_Error[index]['IsValid' + \"TicketNo\"] = false\r\n setError([...st_Error])\r\n result = true;\r\n break;\r\n }\r\n else{\r\n st_Error[j]['err' + \"TicketNo\"] = ''\r\n st_Error[index]['IsValid' + \"TicketNo\"] = true\r\n setError([...st_Error])\r\n }\r\n }\r\n }\r\n if(result){\r\n break;\r\n }\r\n }\r\n }\r\n} \r\nconst validatenumber=(evt,check)=>{\r\n var theEvent = evt || window.event;\r\n // Handle paste\r\n if (theEvent.type === 'paste') {\r\n key = evt.clipboardData.getData('text/plain');\r\n } else {\r\n // Handle key press\r\n var key = theEvent.keyCode || theEvent.which;\r\n key = String.fromCharCode(key);\r\n }\r\n let regex;\r\n if(check==\"phone\"){\r\n regex = /^[+0-9]+$/i;\r\n }\r\n else{\r\n regex = /^[0-9]+$/i;\r\n }\r\n \r\n if(!regex.test(key) ) {\r\n theEvent.returnValue = false;\r\n if(theEvent.preventDefault) theEvent.preventDefault();\r\n }\r\n}\r\n//************************************************************************************************\r\n //Description : Main HTML Part\r\n//'***********************************************************************************************\r\n return ( \r\n \r\n {st_IsEventLog? :null}\r\n \r\n {st_isLoader == true ? : null}\r\n {st_Success? : null}\r\n {st_warning? :null}\r\n {st_singleAlert? :null}\r\n {st_Alert? fncRemovePassenger(st_Data.RowID)} singleMessage={Constant.msgDelete + st_Data.TicketNo + ' ?'}/>:null}\r\n
    \r\n
    {Constant.lblRequestVoucher}
    \r\n
    {Constant.lblContentTitle}
    \r\n
    {Constant.lblContentSubTitle}
    \r\n
    {Constant.lblContentTxt1}
    \r\n
    {Constant.lblContentTxt2}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    {Constant.lblRequestVoucherCom}
    \r\n
    {Constant.lblContentTitleCom}
    \r\n
    {Constant.lblContentSubTitleCom}
    \r\n
    {Constant.lblContentTxt1Com}
    \r\n
    {Constant.lblContentTxt2Com}
    \r\n
    \r\n \r\n \r\n\r\n
    {Constant.lblContactDetails}
    \r\n\r\n \r\n {Constant.lblPrefix}\r\n fncContactDetails(event,\"ddl\")}>\r\n {Constant.lblSelect}\r\n {\r\n Object.keys(st_Prefix).map((item) => (\r\n {item}\r\n ))\r\n } \r\n \r\n \r\n \r\n {Constant.lblFullName} *}\r\n inputProps={{ className: 'FormLabel',id:\"FullName\", maxLength:80 }}\r\n name=\"FullName\"\r\n error={st_ConError.errFullName!=\"\"?true:false}\r\n helperText={{st_ConError.errFullName==\"error\"?{Constant.errFullName}:st_ConError.errFullName==\"blank\"?{Constant.errBlank}:\r\n st_ConError.errFullName==\"error\"?{Constant.errFullName}:st_ConError.errFullName==\"max\"?{Constant.errMaxName}\r\n :Constant.ttpFullName}}\r\n value={st_ContactDetails.FullName}\r\n onBlur={(event)=>fncContactDetails(event,\"FullName\",\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,\"FullName\",\"OnChange\")} />\r\n \r\n
    \r\n \r\n {Constant.lblCountry} *\r\n fncContactDetails(event,\"ddl\",\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,\"ddl\",\"OnBlur\")}>\r\n {\r\n st_Country.Keys.map((item, index) => {\r\n return (\r\n {st_Country.Values[index]}\r\n );\r\n })\r\n }\r\n \r\n {st_ConError.errCountryOrRegionOfRequest==\"blank\"?{Constant.errSelect}:null}\r\n \r\n
    \r\n \r\n validatenumber(event,\"phone\")}\r\n name=\"PhoneNo\"\r\n inputProps={{maxLength:20,id:\"PhoneNo\",inputmode:\"numeric\"}}\r\n value={st_ContactDetails.PhoneNo}\r\n error={st_ConError.errPhoneNo!=\"\"?true:false}\r\n onBlur={(event)=>fncContactDetails(event,'PhoneNo',\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,'PhoneNo',\"OnChange\")}\r\n helperText={{st_ConError.errPhoneNo==\"error\"?{Constant.errPhoneNo}:st_ConError.errPhoneNo==\"blank\"?{Constant.errBlank}:Constant.ttpPhoneNo}}\r\n label={{Constant.lblPhoneNumber} *} />\r\n
    \r\n \r\n fncContactDetails(event,'EmailID',\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,'EmailID',\"OnChange\")}\r\n error={st_ConError.errEmailID!=\"\"?true:false}\r\n helperText={{st_ConError.errEmailID==\"error\"?{Constant.errEmailID}:st_ConError.errEmailID==\"blank\"?{Constant.errBlank}:Constant.ttpEmailID}}\r\n label={{Constant.lblEmailAddress} *} />\r\n
    \r\n \r\n fncContactDetails(event,'ConfirmEmailID',\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,'ConfirmEmailID',\"OnChange\")}\r\n error={st_ConError.errConfirmEmailID!=\"\"?true:false}\r\n helperText={{st_ConError.errConfirmEmailID==\"error\"?{Constant.errConfirmedEmail}:st_ConError.errConfirmEmailID==\"blank\"?{Constant.errBlank}:Constant.ttpConfirmEmailID}}\r\n label={{Constant.lblConfirmEmail} *} />\r\n \r\n
    {Constant.lblBookingDetail}
    \r\n {\r\n st_arrPassengerInfo.map((item, index) => {\r\n return (\r\n st_Error[index].Mode == \"Edit\" ?\r\n \r\n
    \r\n
    \r\n \r\n {Constant.lblPersonalInfo}\r\n \r\n \r\n \r\n {Constant.lblBookingCode}\r\n {st_arrOriginalInfo[index].BookingCode}\r\n \r\n \r\n {Constant.lblTicketNo}\r\n {st_arrOriginalInfo[index].TicketNo}\r\n \r\n \r\n {Constant.lblPassengerFullName}\r\n {st_arrOriginalInfo[index].FullName}\r\n \r\n {\r\n st_arrOriginalInfo[index].ReasonOfRequest!=\"\"?\r\n \r\n {Constant.lblReasonOfReq}\r\n {st_arrOriginalInfo[index].ReasonOfRequestName}\r\n \r\n :null\r\n }\r\n \r\n \r\n\r\n \r\n \r\n fncDeleteConfirmation(st_arrPassengerInfo[index].RowID,st_arrPassengerInfo[index].TicketNo)}\r\n >\r\n {Constant.lblRemove}\r\n \r\n fncEditPassenger(index)}\r\n >\r\n {Constant.lblEdit}\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    :\r\n \r\n \r\n {Constant.lblPersonalInfo}\r\n handleClose(index,item.RowID)}>\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {Constant.lblBookingCode} *}\r\n inputProps={{maxLength:6, className: 'FormLabel', type:\"text\"}}\r\n name=\"BookingCode\"\r\n error={st_Error[index].errBookingCode?true:false}\r\n helperText={{st_Error[index].errBookingCode==\"error\"?{Constant.errBookingCode}:st_Error[index].errBookingCode==\"errSize\"?{Constant.errBookingCodeSize}:st_Error[index].errBookingCode==\"blank\"?{Constant.errBlank}:Constant.ttpBookingCode}}\r\n value={st_arrPassengerInfo[index].BookingCode}\r\n onBlur={(event)=>fncPassengerDetails(event,index,\"BookingCode\",\"OnBlur\")}\r\n onChange={(event)=>fncPassengerDetails(event,index,\"BookingCode\",\"OnChange\")} />\r\n \r\n \r\n \r\n \r\n validatenumber(event,'')}\r\n label={{Constant.lblTicketNo} *}\r\n inputProps={{ className: 'FormLabel', maxLength:13,inputmode:\"numeric\"}}\r\n name=\"TicketNo\"\r\n helperText={{st_Error[index].errTicketNo==\"error\"?{Constant.errTicketNo}:st_Error[index].errTicketNo==\"duplicate\"?{Constant.errDupTicketNo}:st_Error[index].errTicketNo==\"blank\"?{Constant.errBlank}:Constant.ttpTicketNo}}\r\n value={st_arrPassengerInfo[index].TicketNo}\r\n onBlur={(event)=>fncPassengerDetails(event,index,\"TicketNo\",\"OnBlur\")}\r\n onChange={(event)=>fncPassengerDetails(event,index,\"TicketNo\",\"OnChange\")}\r\n error={st_Error[index].errTicketNo?true:false}/>\r\n \r\n \r\n \r\n \r\n {Constant.lblFullName} *}\r\n inputProps={{ className: 'FormLabel', maxLength:80}}\r\n name=\"FullName\"\r\n error={st_Error[index].errFullName?true:false}\r\n helperText={{st_Error[index].errFullName==\"error\"?{Constant.errFullName}:\r\n st_Error[index].errFullName==\"blank\"?{Constant.errBlank}:\r\n st_Error[index].errFullName==\"max\"?{Constant.errMaxName}:\r\n Constant.ttpPassengerName}}\r\n value={st_arrPassengerInfo[index].FullName}\r\n onBlur={(event)=>fncPassengerDetails(event,index,\"FullName\",\"OnBlur\")} \r\n onChange={(event)=>fncPassengerDetails(event,index,\"FullName\",\"OnChange\")} />\r\n \r\n \r\n \r\n \r\n {{Constant.lblReasonOfReq} *}\r\n fncPassengerDetails(event,index,\"ReasonOfRequest\",\"OnBlur\")} \r\n onChange={(event)=>fncPassengerDetails(event,index,\"ReasonOfRequest\")}>\r\n {\r\n st_Reason.Keys.map((item, index) => {\r\n return (\r\n {st_Reason.Values[index]}\r\n );\r\n })\r\n }\r\n \r\n {st_Error[index].errReasonOfRequest==\"blank\"?{Constant.errSelect}:\"\"}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n \r\n +{Constant.lblAddPassenger}\r\n \r\n
    \r\n
    \r\n \r\n {Constant.lblAddRemark}}\r\n inputProps={{ className: 'FormLabel',maxLength:500,id:\"AdditionalRemarks\" }}\r\n multiline\r\n value={st_ContactDetails.AdditionalRemarks}\r\n name=\"AdditionalRemarks\"\r\n error={st_ConError.errAdditionalRemarks!=\"\"?true:false}\r\n helperText={{st_ConError.errAdditionalRemarks==\"error\"?{Constant.errAdditionalRemarks}:\r\n st_ConError.errAdditionalRemarks==\"max\"?{Constant.errMaxRemark}:\r\n st_ConError.msgAdditionalRemarks==\"count\"?st_ConError.countAdditionalRemarks:Constant.ttpRemarks}}\r\n onBlur={(event)=>fncContactDetails(event,\"AdditionalRemarks\",\"OnBlur\")}\r\n onChange={(event)=>fncContactDetails(event,\"AdditionalRemarks\",\"OnChange\")}\r\n rows={4}/>\r\n \r\n
    \r\n {/*
    {Constant.lblGoodToKnow}
    \r\n
    {Constant.lblText1}
    \r\n
    {Constant.lblText2}
    */}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\nexport default TravelVoucher;","import React, { Fragment, useState, useEffect } from 'react';\r\nimport '../../Common/Common.css';\r\nimport '../main/Success.css'\r\nimport * as Constant from '../../Common/Constant'\r\nimport BannerDisplay from '../main/BannerDisplay'\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Link from '@material-ui/core/Link';\r\nimport EventFrame from './Iframe'\r\n\r\nfunction Success(props) {\r\n\r\n const[st_arrBookindDetails, setBookingDetails] = useState([]);\r\n const [st_IsEventLog, setEventLog]= useState(false)\r\n const [st_EventData, setEventData]=useState({Action:\"\", Label:\"\", Value:\"\",Country:''})\r\n\r\n useEffect(()=>{\r\n if(props.location.state!=undefined){\r\n if(props.location.state.Data!=\"\"){\r\n if(Object.keys(props.location.state.Data).length>0){\r\n setBookingDetails(props.location.state.Data)\r\n }\r\n }\r\n }\r\n })\r\n useEffect(() => {\r\n window.scrollTo(0, 0)\r\n fncSetEventLog(\"PageLoad\",\"SuccessPage\",props.location.state.Data)\r\n }, [])\r\n\r\n const fncPrint=()=>{\r\n window.print()\r\n fncSetEventLog(\"link\",\"Print\",\"\")\r\n }\r\n\r\n const fncGetHelp=()=>{\r\n window.open(Constant.HelpURL);\r\n fncSetEventLog(\"link\",\"Help\",Constant.HelpURL)\r\n }\r\n const fncSetEventLog=(action,label,value)=>{\r\n st_EventData.Action=action;\r\n st_EventData.Label=label;\r\n st_EventData.Value=value;\r\n setEventData({...st_EventData})\r\n setEventLog(true)\r\n }\r\n\r\n return (\r\n \r\n {st_IsEventLog? :null} \r\n \r\n
    \r\n
    {Constant.lblVoucherSuccessHeading}
    \r\n
    {Constant.lblVouchSuccessContent1}
    \r\n
    {Constant.lblVouchSuccessContent2}
    \r\n
    {Constant.lblVouchSuccessContent3}
    \r\n
    {Constant.lblVouchSuccessContent4}
    \r\n\r\n {\r\n Object.keys(st_arrBookindDetails).map((item, index) => {\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n {Constant.lblRequestID}\r\n {st_arrBookindDetails[item]}\r\n \r\n \r\n {Constant.lblBookingCode}\r\n {item}\r\n \r\n \r\n \r\n {Constant.lblViewPrint}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    {Constant.lblNeedHelp}
    \r\n {/*
    {Constant.lblNeedHelpText}
    */}\r\n
    \r\n \r\n {Constant.lblHelpLink}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\nexport default Success;","import React, { Fragment } from 'react';\r\nimport '../../Common/Common.css';\r\nimport * as Constant from '../../Common/Constant'\r\nimport logo from '../../assets/icons/KLM_Logo_mobile.svg'\r\nimport arrow from '../../assets/icons/arrow-left.svg'\r\n\r\nfunction Header() {\r\n\r\n const fncBack=()=>{\r\n debugger;\r\n window.history.back()\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 {\"Back\"}\r\n
    \r\n
    {Constant.lblHeader}
    \r\n
    \r\n
    \r\n );\r\n}\r\nexport default Header;","import React,{Fragment,useState, useEffect} from 'react';\r\nimport '../../Common/Common.css';\r\nimport * as Constant from '../../Common/Constant'\r\nimport EventFrame from './Iframe'\r\n\r\nfunction Footer() {\r\n const [st_IsEventLog, setEventLog]= useState(false)\r\n const [st_EventData, setEventData]=useState({Action:\"\", Label:\"\", Value:\"\",Country:''})\r\n\r\n const fncSetEventLog=(action,label,value)=>{\r\n st_EventData.Action=action;\r\n st_EventData.Label=label;\r\n st_EventData.Value=value;\r\n\r\n setEventData({...st_EventData})\r\n setEventLog(true)\r\n}\r\n \r\n\r\n return (\r\n \r\n {st_IsEventLog? :null}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Footer;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { BrowserRouter, Route, Switch } from 'react-router-dom';\nimport TravelVoucher from './app/main/TravelVoucher';\nimport Success from './app/main/Success';\nimport Header from './app/main/Header';\nimport Footer from './app/main/Footer';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n
    \n \n \n \n \n \n \n