{"version":3,"sources":["webpack:///./src/actions/get-crm-token.action.ts?9dd2","webpack:///./src/actions/post-business-op-case.action.ts?1b1f","webpack:///./src/actions/get-existing-contact.action.ts?deef","webpack:///./src/modules/szf-business-op-form/szf-business-op-form.tsx?8106","webpack:///./src/actions/get-sharepoint-token.action.ts?433c","webpack:///./lib/szf-business-op-form/module-registration.js?68a1","webpack:///external \"React\"?c481","webpack:///external \"ReactDOM\"?4b2d","webpack:///./src/actions/post-new-contact.action.ts?8eb0","webpack:///./src/modules/szf-business-op-form/szf-business-op-form.view.tsx?dab4","webpack:///./src/utilities/szf-modal.component.tsx?b73e"],"names":["GetCrmTokenInput","constructor","getCacheKey","getCacheObjectType","dataCacheType","Msdyn365","action","async","input","ctx","szfCRMDomain","szfCRMClientSecret","requestContext","app","config","data","qs","stringify","response","headers","status","token","access_token","id","args","PostBusinessOpCaseInput","this","szf_name","fullName","szf_organizationname","organizationName","szf_email","email","szf_phoneno","countryCode","phone","szf_participatedwithszfpreviously","previousParticipant","szf_typeofparticipation","previousParticipantType","szf_heardaboutus","hearAbout","szf_heardaboutusother","others","szf_categories","categories","szf_countrypavilion","listOfCountryPavilions","toString","szf_productsshowcase","typeOfProducts","szf_type","typeOfRestaurantsCoffeeShops","typeOfKiosksFoodTrucks","szf_kioskactivity","kioskActivity","szf_serviceactivity","serviceActivity","szf_description","description","CRMtoken","contactID","tradeLicenseFile","fileData","base64","tradeLicensefileBase64Code","presentationFile","presentationfileBase64Code","_input$tradeLicenseFi","_input$presentationFi","_input$tradeLicenseFi2","_input$tradeLicenseFi3","_input$presentationFi2","_input$presentationFi3","name","szf_businessopportunity_Annotations","_objectSpread","axios","post","timeout","szf_businessopportunityid","msg","error","message","undefined","createBOCaseInput","inputData","GetExistingContactInput","value","length","contactid","createExistingContactInput","SzfBusinessOpForm","React","render","props","renderView","GetTokenInput","getToken","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM","PostNewContactInput","firstName","lastName","updateNpromotion","createNewContactInput","_props$config","_props$config2","_props$context$reques","_props$config$success","_props$context$reques2","_props$config$failMod","_props$config$success2","_props$config$failMod2","isModalOpen","setIsModalOpen","loading","setLoading","state","setState","enableFullNameError","enableOrganizationNameError","enableEmailError","enablePhoneError","enablePreviousParticipantError","enablePreviousParticipantTypeError","enableHearAboutError","enableOthersError","enableTradeLicenseFileError","enablePresentationFileError","enableCategoriesError","enablePavilionsFields","enableProductsFields","enableRestaurantsFields","enableKiosksFields","enableServiceFields","enablePavilionsError","enableProductsError","enableRestaurantsError","enableKiosksError","enableKioskActivityError","enableServiceError","enableDescriptionError","tradeLicenseFileRef","presentationFileRef","settradeLicenseFile","setPresentationFile","multiselectRef","BOError","setBOError","BOInvalidOrEmptyError","setBOInvalidOrEmptyError","setTradeLicenseFileBase64Code","setPresentationFileBase64Code","updateAndPromotionCheckboxLabel","boUpdateAndPromotionCheckboxLabel","boFullnameLabel","boOrganizationNameLabel","boPhoneLabel","boEmailLabel","boPreviousParticipationSelectLabel","boPreviousParticipationTypeLabel","boHearAboutSelectLabel","boOtherLabel","boTradeLicenseFileLabel","boPresentationFileLabel","boCategoriesSelectLabel","boDescriptionLabel","boSubmitButtonLabel","boOrganizeCountryPavilionsLabel","boShopCountryPavilionsLabel","boProductTypeLabel","boRestaurantShopTypeLabel","boKiosksTypeLabel","boKiosksActivityLabel","boServiceActivityLabel","locale","context","request","fileSizeKB","fileSize","szfBOCategories","boPreviousParticipationOptions","boHearAboutOptions","boGenericErrorMessage","invalidOrEmptyFieldError","dropdownChooseOptionMessage","maxFileSize","fileInvalidMessage","szfSuccessModalHeading","szfFailModalHeading","szfSuccessModalMessage","descriptionInvalidMessage","multiSelectPlaceholder","resources","updateAndPromotionLabel","MsDyn365","text","editProps","onEdit","event","target","successImageProps","gridSettings","imageSettings","successModalImage","failureImageProps","failModalImage","imageContainer","className","successImage","Node","Object","assign","preserveImageSpace","key","moduleType","typeName","imagePropertyName","moduleId","shouldSkipToMainImage","failureImage","onChangeHandler","e","IntValue","_multiselectRef$curre","current","resetSelectedValues","obj","test","getbase64","imagefile","type","reader","FileReader","readAsDataURL","onload","result","split","handleFileChange","files","size","resetTradeFileField","_e$target","resetPresentationFileField","_e$target2","toggleModal","onSubmitForm","preventDefault","_document$getElementB","_document$getElementB2","_document$getElementB3","_document$getElementB4","_document$getElementB5","_document$getElementB6","_document$getElementB7","_document$getElementB8","_tradeLicenseFileRef$","_presentationFileRef$","_document$getElementB9","_document$getElementB10","_document$getElementB11","_document$getElementB12","_document$getElementB13","_document$getElementB14","_document$getElementB15","_document$getElementB16","document","getElementById","focus","_await$props$data$crm","mergePhoneWithCountryCode","substring","indexOf","crmToken","isContactAlreadyExist","contactExistInput","existingContactDataAction","actionContext","checkExistingContact","createCaseInput","BOCaseDataAction","resetForm","createInputData","createContactInput","createNewContactResponse","createNewContactDataAction","console","log","getSubCategories","foundCategory","find","categoryItem","_foundCategory$subCat","subCategory1","map","SCoptionItem","i","linkText","_foundCategory$subCat2","subCategory2","getRestaurantSubcategory","_foundCategory$subCat3","SetPavilionState","selectedList","filteredSelectedList","selectedOption","SetProductsState","onSelect","selectedItem","onRemove","removedItem","onProductSelect","onProductRemove","renderInvalidOrEmptyMessage","FormFeedback","handlePhoneCountryCodeOnChange","country","numberWithoutCountryCode","dialCode","bOParagraph","SZFModal","isOpen","onModalToggle","modalTitle","onClick","src","alt","modalBody","Form","onSubmit","FormGroup","floating","Input","placeholder","onChange","invalid","required","disabled","Label","for","toLowerCase","PhoneInput","inputProps","enableAreaCodes","localization","arabicLocale","inputClass","autoFormat","enableSearch","PPoptionItem","HAoptionItem","InputGroup","innerRef","Button","Multiselect","options","displayValue","ref","disable","check","defaultChecked","checked","handleCheckboxChange","MoonLoader","color","modalFooter","createElement","Modal","zIndex","applicationNode","autoFocus","toggle","ModalHeader","ModalBody","ModalFooter"],"mappings":"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","file":"static/js/145.c1683d872eb081a0d2f1.chunk.js","sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport qs from 'querystring';\r\n/**\r\n * GetCrmToken Input Action\r\n */\r\n\r\n export interface IToken {\r\n token_type: string;\r\n expires_in: string;\r\n ext_expires_in: string;\r\n expires_on: string;\r\n not_before: string;\r\n resource: string;\r\n access_token: string;\r\n}\r\n\r\nexport class GetCrmTokenInput implements Msdyn365.IActionInput {\r\n // TODO: Construct the input needed to run the action\r\n constructor() {}\r\n\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n public getCacheKey = () => `CRMTOKEN`;\r\n public getCacheObjectType = () => 'CRMTOKEN';\r\n public dataCacheType = (): Msdyn365.CacheType => 'none';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action\r\nexport interface IGetCrmTokenData {\r\n token: string;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call\r\n */\r\nconst createInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n return new GetCrmTokenInput();\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function action(input: GetCrmTokenInput, ctx: Msdyn365.IActionContext): Promise {\r\n // const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n // TODO: Uncomment the below line to get the value from a service\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n const { szfCRMDomain, szfCRMClientSecret} = ctx.requestContext.app.config;\r\n const data = qs.stringify({\r\n 'resource': `${szfCRMDomain}`,\r\n 'client_id': '1d4d5b5c-c710-472d-b8ac-104788da8da1',\r\n 'client_secret': `${szfCRMClientSecret}`,\r\n 'grant_type': 'client_credentials'\r\n });\r\n const response = await Msdyn365.sendRequest(\"https://login.microsoftonline.com/c03a7c9b-0691-48f2-a884-93fe49a74786/oauth2/token\", \"post\", data, {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n 'Cookie': 'fpc=AopThjyphGZIqV8tMvZOskskZZdbAQAAAETfudgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'\r\n }\r\n });\r\n if(response && response.status===200){\r\n return {\r\n token : response.data.access_token\r\n };\r\n }else{\r\n return {token : ''};\r\n }\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >action,\r\n // TODO: Give your data action a unique id\r\n id: 'GetCrmToken',\r\n input: createInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action\r\n // isBatched: true\r\n});\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {IPostBOInput} from './../modules/szf-business-op-form/szf-business-op-form.view';\r\nimport axios from 'axios';\r\n/**\r\n * PostBusinessOpCase Input Action\r\n */\r\nexport interface IFile{\r\n fileData: File | undefined;\r\n base64: string | ArrayBuffer | null | undefined;\r\n}\r\nexport interface IBOCaseAPIPayLoad {\r\n szf_name: string;\r\n szf_organizationname: string;\r\n szf_email: string;\r\n szf_phoneno: string;\r\n szf_participatedwithszfpreviously: boolean;\r\n szf_typeofparticipation: string | null;\r\n szf_heardaboutus: string | null;\r\n szf_heardaboutusother: string | null;\r\n szf_categories: number;\r\n szf_countrypavilion: string | null;\r\n szf_productsshowcase: string | null;\r\n szf_type: string | null;\r\n szf_source: number;\r\n szf_kioskactivity: string | null;\r\n szf_serviceactivity: string | null;\r\n szf_description: string;\r\n szf_businessopportunity_Annotations?: {\r\n filename: string;\r\n isdocument: boolean;\r\n subject: string;\r\n documentbody: string;\r\n }[];\r\n \"szf_Customer_contact@odata.bind\": string;\r\n}\r\nexport class PostBusinessOpCaseInput implements Msdyn365.IActionInput {\r\n // TODO: Construct the input needed to run the action\r\n public szf_name: string;\r\n public szf_organizationname: string;\r\n public szf_email: string;\r\n public szf_phoneno: string;\r\n public szf_participatedwithszfpreviously: boolean;\r\n public szf_typeofparticipation: string;\r\n public szf_heardaboutus: string;\r\n public szf_heardaboutusother: string;\r\n public szf_categories: number;\r\n public szf_countrypavilion: string;\r\n public szf_productsshowcase: string;\r\n public szf_type: string;\r\n public szf_kioskactivity: string;\r\n public szf_serviceactivity: string;\r\n public szf_description: string;\r\n public tradeLicenseFile: IFile;\r\n public presentationFile: IFile;\r\n public CRMtoken: string | undefined;\r\n public contactID: string | undefined;\r\n // public termNcondition: boolean;\r\n // public updateNpromotion: boolean;\r\n constructor(data:IPostBOInput) {\r\n this.szf_name = data.fullName;\r\n this.szf_organizationname= data.organizationName;\r\n this.szf_email= data.email;\r\n this.szf_phoneno= `${data.countryCode}${data.phone}`;\r\n this.szf_participatedwithszfpreviously= data.previousParticipant ==='1' ? true: false;\r\n this.szf_typeofparticipation= data.previousParticipantType;\r\n this.szf_heardaboutus= data.hearAbout;\r\n this.szf_heardaboutusother= data.others;\r\n this.szf_categories= data.categories;\r\n this.szf_countrypavilion= data.listOfCountryPavilions.toString();\r\n this.szf_productsshowcase= data.typeOfProducts.toString();\r\n this.szf_type= data.typeOfRestaurantsCoffeeShops ? data.typeOfRestaurantsCoffeeShops : data.typeOfKiosksFoodTrucks;\r\n this.szf_kioskactivity= data.kioskActivity;\r\n this.szf_serviceactivity= data.serviceActivity;\r\n this.szf_description= data.description;\r\n this.CRMtoken= data.CRMtoken;\r\n this.contactID= data.contactID;\r\n this.tradeLicenseFile = {\r\n fileData: data.tradeLicenseFile,\r\n base64: data.tradeLicensefileBase64Code\r\n };\r\n this.presentationFile = {\r\n fileData: data.presentationFile,\r\n base64: data.presentationfileBase64Code\r\n };\r\n // this.termNcondition= data.termNcondition;\r\n // this.updateNpromotion= data.updateNpromotion;\r\n }\r\n\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n public getCacheKey = () => `SZFBUSINESSOPPCASE`;\r\n public getCacheObjectType = () => 'SZFBUSINESSOPPCASE';\r\n public dataCacheType = (): Msdyn365.CacheType => 'none';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action\r\nexport interface IPostBusinessOpCaseData {\r\n status: boolean;\r\n msg:string | undefined;\r\n id: string | undefined;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call\r\n */\r\nconst createBOCaseInput = (args: Msdyn365.ICreateActionContext,inputData:IPostBOInput): Msdyn365.IActionInput => {\r\n return new PostBusinessOpCaseInput(inputData);\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function BOCaseDataAction(input: PostBusinessOpCaseInput, ctx: Msdyn365.IActionContext): Promise {\r\n // const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n const szfCRMDomain = ctx.requestContext.app.config.szfCRMDomain;\r\n let data: IBOCaseAPIPayLoad = {\r\n \"szf_name\": input.szf_name,\r\n \"szf_organizationname\": input.szf_organizationname,\r\n \"szf_email\": input.szf_email,\r\n \"szf_phoneno\": input.szf_phoneno,\r\n \"szf_participatedwithszfpreviously\": input.szf_participatedwithszfpreviously,\r\n \"szf_typeofparticipation\": input.szf_typeofparticipation ? input.szf_typeofparticipation : null,\r\n \"szf_heardaboutus\": input.szf_heardaboutus ? input.szf_heardaboutus : null,\r\n \"szf_heardaboutusother\": input.szf_heardaboutusother ? input.szf_heardaboutusother : null,\r\n \"szf_categories\": input.szf_categories,\r\n \"szf_countrypavilion\": input.szf_countrypavilion ? input.szf_countrypavilion : null,\r\n \"szf_productsshowcase\": input.szf_productsshowcase ? input.szf_productsshowcase : null,\r\n \"szf_type\": input.szf_type ? input.szf_type : null,\r\n \"szf_source\": 1,\r\n \"szf_kioskactivity\": input.szf_kioskactivity ? input.szf_kioskactivity : null,\r\n \"szf_serviceactivity\": input.szf_serviceactivity ? input.szf_serviceactivity : null,\r\n \"szf_description\": input.szf_description,\r\n \"szf_Customer_contact@odata.bind\": `/contacts(${input.contactID})` //test contact\r\n };\r\n if(input.tradeLicenseFile && input.tradeLicenseFile.fileData && input.tradeLicenseFile.fileData?.name){\r\n if(data.szf_businessopportunity_Annotations){\r\n data = {\r\n ...data,\r\n \"szf_businessopportunity_Annotations\": [\r\n ...data.szf_businessopportunity_Annotations,\r\n {\r\n \"filename\" :`${input.tradeLicenseFile.fileData?.name}`,\r\n \"isdocument\" : true,\r\n \"subject\":`Trade License`,\r\n \"documentbody\" : `${input.tradeLicenseFile.base64}`\r\n }\r\n ]\r\n }\r\n }else{\r\n data = {\r\n ...data,\r\n \"szf_businessopportunity_Annotations\": [\r\n {\r\n \"filename\" :`${input.tradeLicenseFile.fileData?.name}`,\r\n \"isdocument\" : true,\r\n \"subject\":`Trade License`,\r\n \"documentbody\" : `${input.tradeLicenseFile.base64}`\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n if(input.presentationFile && input.presentationFile.fileData && input.presentationFile.fileData?.name){\r\n if(data.szf_businessopportunity_Annotations){\r\n data = {\r\n ...data,\r\n \"szf_businessopportunity_Annotations\": [\r\n ...data.szf_businessopportunity_Annotations,\r\n {\r\n \"filename\" :`${input.presentationFile.fileData?.name}`,\r\n \"isdocument\" : true,\r\n \"subject\":`Presentation`,\r\n \"documentbody\" : `${input.presentationFile.base64}`\r\n }\r\n ]\r\n }\r\n }else{\r\n data = {\r\n ...data,\r\n \"szf_businessopportunity_Annotations\": [\r\n {\r\n \"filename\" :`${input.presentationFile.fileData?.name}`,\r\n \"isdocument\" : true,\r\n \"subject\":`Presentation`,\r\n \"documentbody\" : `${input.presentationFile.base64}`\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n const response = await axios.post(`${szfCRMDomain}/api/data/v9.2//szf_businessopportunities`,data,{\r\n headers: { \r\n 'Prefer': 'return=representation', \r\n 'Content-Type': 'application/json', \r\n 'Authorization': `Bearer ${input.CRMtoken}`,\r\n 'Cookie': 'ARRAffinity=a0cabaca1e89d18f0f4123d056dbb9e1cefb17d8da01b66962b2dc7ffb4a189deb29bb4b19df1459d2ea781b605f33064b9fea1f144b525b9d7676625c4ffb5408DB5EAB3C80FFDC613303632; ReqClientId=797635cc-3220-4d23-95ab-4c1fd0f38f88; orgId=df0699dc-bf43-4643-8928-2934590e2913'\r\n },\r\n timeout: 25000\r\n })\r\n\r\n // const response = await Msdyn365.sendRequest(`https://operations-szf-uat.crm15.dynamics.com/api/data/v9.2//szf_businessopportunities`, \"post\", data, {\r\n // headers: {\r\n // 'Prefer': 'return=representation',\r\n // 'Content-Type': 'application/json',\r\n // 'content-length': '999999999999',\r\n // 'Authorization': `Bearer ${input.CRMtoken}`,\r\n // 'Cookie': 'ARRAffinity=a0cabaca1e89d18f0f4123d056dbb9e1cefb17d8da01b66962b2dc7ffb4a189deb29bb4b19df1459d2ea781b605f33064b9fea1f144b525b9d7676625c4ffb5408DB5EAB3C80FFDC613303632; ReqClientId=797635cc-3220-4d23-95ab-4c1fd0f38f88; orgId=df0699dc-bf43-4643-8928-2934590e2913'\r\n // }\r\n // });\r\n if(response && response.data && response.data.szf_businessopportunityid){\r\n return {\r\n status: true,\r\n msg: 'success',\r\n id: response.data.szf_businessopportunityid\r\n };\r\n }else if (response && response.data && response.data.error){\r\n return {\r\n status: false,\r\n msg: response.data.error.message,\r\n id: undefined\r\n };\r\n }else{\r\n return {\r\n status: false,\r\n msg: undefined,\r\n id: undefined\r\n };\r\n }\r\n // TODO: Uncomment the below line to get the value from a service\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >BOCaseDataAction,\r\n // TODO: Give your data action a unique id\r\n id: 'PostBusinessOpCase',\r\n input: createBOCaseInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action\r\n // isBatched: true\r\n});\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * GetExistingContact Input Action\r\n */\r\n\r\nexport class GetExistingContactInput implements Msdyn365.IActionInput {\r\n // TODO: Construct the input needed to run the action\r\n public token: string | undefined;\r\n public email: string | undefined;\r\n public phone: string | undefined;\r\n constructor(token : string | undefined, email: string | undefined,phone:string | undefined) {\r\n this.phone = phone;\r\n this.email = email;\r\n this.token = token;\r\n }\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n public getCacheKey = () => `SZFEXISTINGCONTACT`;\r\n public getCacheObjectType = () => 'SZFEXISTINGCONTACT';\r\n public dataCacheType = (): Msdyn365.CacheType => 'none';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action\r\nexport interface IGetExistingContactData {\r\n status: boolean;\r\n id: string | undefined;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call\r\n */\r\nconst createExistingContactInput = (args: Msdyn365.ICreateActionContext, token: string, email: string,phone: string): Msdyn365.IActionInput => {\r\n return new GetExistingContactInput(token, email,phone);\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function existingContactDataAction(input: GetExistingContactInput, ctx: Msdyn365.IActionContext): Promise {\r\n const token = input.token;\r\n const email = input.email;\r\n const phone = input.phone;\r\n const szfCRMDomain = ctx.requestContext.app.config.szfCRMDomain;\r\n const response = await Msdyn365.sendRequest(`${szfCRMDomain}/api/data/v9.2//contacts?$select=emailaddress1,firstname,lastname,mobilephone &$filter=emailaddress1 eq \\'${email}\\' or mobilephone eq \\'%2B${phone}\\'`, \"get\", {}, {\r\n headers: {\r\n 'Authorization':`Bearer ${token}`\r\n }\r\n });\r\n if(response && response.data && response.data.value && response.data.value.length > 0 && response.data.value[0].contactid){\r\n return {\r\n status: true,\r\n id: response.data.value[0].contactid\r\n };\r\n }else{\r\n return {\r\n status: false,\r\n id: undefined\r\n };\r\n }\r\n // const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n\r\n // TODO: Uncomment the below line to get the value from a service\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n // return { text: 'Static data from action' };\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >existingContactDataAction,\r\n // TODO: Give your data action a unique id\r\n id: 'GetExistingContact',\r\n input: createExistingContactInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action\r\n // isBatched: true\r\n});\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ISzfBusinessOpFormData } from './szf-business-op-form.data';\r\nimport { ISzfBusinessOpFormProps } from './szf-business-op-form.props.autogenerated';\r\n\r\nexport interface ISzfBusinessOpFormViewProps extends ISzfBusinessOpFormProps {}\r\n\r\n/**\r\n *\r\n * SzfBusinessOpForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass SzfBusinessOpForm extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default SzfBusinessOpForm;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from \"@msdyn365-commerce/core\";\r\nimport axios from \"axios\";\r\nimport querystring from 'querystring';\r\n// const querystring = require('querystring');\r\n\r\n/**\r\n * GetAtpToken Input Action\r\n */\r\n// interface IToken {\r\n// token_type: string;\r\n// expires_in: string;\r\n// ext_expires_in: string;\r\n// expires_on: string;\r\n// not_before: string;\r\n// resource: string;\r\n// access_token: string;\r\n// }\r\n\r\nexport class GetTokenInput implements Msdyn365.IActionInput {\r\n // TODO: Construct the input needed to run the action\r\n constructor() { }\r\n\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n public getCacheKey = () => `GetSharePointToken`;\r\n public getCacheObjectType = () => \"GetSharePointToken\";\r\n public dataCacheType = (): Msdyn365.CacheType => \"none\";\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call\r\n */\r\nconst createInput = (\r\n args: Msdyn365.ICreateActionContext\r\n): Msdyn365.IActionInput => {\r\n return new GetTokenInput();\r\n};\r\n\r\nconst fetchResourceAndTenant = async (domain: any, siteName: any): Promise<{ tenatId: string , resource: string }> => {\r\n try {\r\n await axios(\r\n `https://${domain}.sharepoint.com/sites/${siteName}/_vti_bin/client.svc/`,\r\n {\r\n method: \"GET\",\r\n headers: {\r\n Authorization: `Bearer`,\r\n }\r\n }\r\n );\r\n } catch (error) {\r\n // @ts-ignore\r\n const response = error?.response?.headers?.[\"www-authenticate\"];\r\n const regex = /realm=\"([^\"]*)\".*client_id=\"([^\"]*)\"/;\r\n const matches = response.match(regex);\r\n const tenatId = matches[1];\r\n const resource = matches[2];\r\n return { tenatId, resource };\r\n }\r\n return { tenatId: '', resource: '' }; \r\n};\r\n\r\nconst fetchToken = async (tenatId: string | undefined, resource: string | undefined, clientId: string, secret: string, domain: string): Promise => {\r\n if (tenatId && resource) {\r\n\r\n\r\n const url = `https://accounts.accesscontrol.windows.net/${tenatId}/tokens/OAuth/2`;\r\n const headers = {\r\n Authorization: 'Bearer',\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n };\r\n\r\n const data = {\r\n grant_type: 'client_credentials',\r\n client_id: `${clientId}@${tenatId}`,\r\n client_secret: `${secret}`,\r\n resource: `${resource}/${domain}.sharepoint.com@${tenatId}`,\r\n };\r\n\r\n const requestBody = querystring.stringify(data);\r\n\r\n return axios.post(url, requestBody, { headers })\r\n .then((response) => {\r\n return response?.data?.access_token\r\n })\r\n .catch((error) => {\r\n console.error('Error getting token:', error);\r\n });\r\n }\r\n return undefined;\r\n};\r\n\r\n\r\nasync function getToken(ctx: Msdyn365.IRequestContext) {\r\n let token: string | undefined;\r\n\r\n /**\r\n * we need to create sharepoint site first \r\n * and then needs to generate client id and it's secret and give all permisions\r\n * Register Add-In using the AppRegNew form\r\n * try to get token SSR\r\n */\r\n if (process.env.CURRENT_ENVIRONMENT === \"node\") {\r\n // const siteName = \"SZF\";\r\n // const domain = \"visionetsys\";\r\n // const secret = \"gWq9FCsXH2VA06zh28N/2L9SeVw1qJTe1pwxTZHe/VU=\";\r\n // const clientId = '24c715c7-8a12-4dd6-80a6-902efba3667b';\r\n\r\n // const siteName = \"SZFEcommerce\";\r\n // const domain = \"zayedfestival\";\r\n // const secret = \"j/hcvlz0kWhvlVHhlDbGwSN/VdD855DPqeFN3CO6tNk=\";\r\n // const clientId = '6a1e8d91-af56-4d02-a7d1-b601df3cbb71';\r\n\r\n const siteName = \"SZF-Ecommerce\";\r\n const domain = \"zayedfestival\";\r\n const secret = \"UFvBGJ3TdJYQ8DmIlGEe9nxNmQJYZyw4LPsfTUYT4y4=\";\r\n const clientId = '95ba8411-3d62-4e2d-95c9-dcf08f6473f1';\r\n\r\n const { tenatId, resource } = await fetchResourceAndTenant(domain, siteName);\r\n token = await fetchToken(tenatId, resource, clientId, secret, domain);\r\n }\r\n\r\n return { token: token };\r\n}\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function getTokenAction(\r\n input: GetTokenInput,\r\n ctx: Msdyn365.IActionContext\r\n): Promise {\r\n const response = await getToken(ctx.requestContext);\r\n return response;\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >getTokenAction,\r\n // TODO: Give your data action a unique id\r\n id: \"GetToken\",\r\n input: createInput,\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action\r\n // isBatched: true\r\n});\r\n","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['szf-business-op-form'] = {\n c: () => require('partner/modules/szf-business-op-form/szf-business-op-form.tsx'),\n $type: 'contentModule',\n da: [{name:'crmToken', path:'actions/get-crm-token.action', runOn: 0},{name:'sharepointToken', path:'actions/get-sharepoint-token.action', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'szf-business-op-form',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/szf-business-op-form'\n });\n \n\n {\n const sanitizedActionPath = 'actions/get-crm-token.action';\n let dataAction = require('partner/actions/get-crm-token.action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = 'actions/get-sharepoint-token.action';\n let dataAction = require('partner/actions/get-sharepoint-token.action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|szf-business-op-form|szf-business-op-form'] = {\n c: () => require('partner/modules/szf-business-op-form/szf-business-op-form.view.tsx'),\n cn: '__local__-__local__-szf-business-op-form'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { INewContactCreation } from './../modules/szf-contact-us/szf-contact-us.view';\r\n/**\r\n * PostNewContact Input Action\r\n */\r\nexport class PostNewContactInput implements Msdyn365.IActionInput {\r\n // TODO: Construct the input needed to run the action\r\n public token: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public phone: string;\r\n public countryCode: string;\r\n public updateNpromotion: boolean;\r\n constructor(token:string,data:INewContactCreation) {\r\n this.token= token;\r\n this.email= data.email;\r\n this.firstName= data.firstName;\r\n this.lastName= data.lastName;\r\n this.phone= data.phone;\r\n this.countryCode= data.countryCode;\r\n this.updateNpromotion= data.updateNpromotion;\r\n }\r\n\r\n // TODO: Determine if the results of this get action should cache the results and if so provide\r\n // a cache object type and an appropriate cache key\r\n public getCacheKey = () => `SZFCREATECONTACT`;\r\n public getCacheObjectType = () => 'SZFCREATECONTACT';\r\n public dataCacheType = (): Msdyn365.CacheType => 'none';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action\r\nexport interface IPostNewContactData {\r\n status: boolean;\r\n msg:string | undefined;\r\n id: string | undefined;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call\r\n */\r\nconst createNewContactInput = (args: Msdyn365.ICreateActionContext,token:string, inputData:INewContactCreation): Msdyn365.IActionInput => {\r\n return new PostNewContactInput(token, inputData);\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function createNewContactDataAction(input: PostNewContactInput, ctx: Msdyn365.IActionContext): Promise {\r\n // const apiSettings = Msdyn365.msdyn365Commerce.apiSettings;\r\n const token = input.token;\r\n const szfCRMDomain = ctx.requestContext.app.config.szfCRMDomain;\r\n const data = {\r\n \"firstname\": input.firstName,\r\n \"lastname\": input.lastName,\r\n \"emailaddress1\": input.email,\r\n \"szf_mblregion\": input.countryCode,\r\n \"szf_mbllocalnumber\": input.phone,\r\n \"donotsendmm\": !input.updateNpromotion\r\n };\r\n const response = await Msdyn365.sendRequest(`${szfCRMDomain}/api/data/v9.2//contacts`, \"post\", data, {\r\n headers: {\r\n 'Prefer': 'return=representation',\r\n 'MSCRM.SuppressDuplicateDetection': 'false',\r\n 'Authorization':`Bearer ${token}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n if(response && response.data && response.data.contactid){\r\n return {\r\n status: true,\r\n msg: 'success',\r\n id: response.data.contactid\r\n };\r\n }else if (response && response.data && response.data.error){\r\n return {\r\n status: false,\r\n msg: response.data.error.message,\r\n id: undefined\r\n };\r\n }else{\r\n return {\r\n status: false,\r\n msg: undefined,\r\n id: undefined\r\n };\r\n }\r\n // TODO: Uncomment the below line to get the value from a service\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n // return { text: 'Static data from action' };\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >createNewContactDataAction,\r\n // TODO: Give your data action a unique id\r\n id: 'PostNewContact',\r\n input: createNewContactInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action\r\n // isBatched: true\r\n});\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ISzfBusinessOpFormViewProps } from './szf-business-op-form';\r\n// import { handleUpload } from './../../utilities/szf-utils';\r\nimport {\r\n Form,\r\n Input,\r\n FormGroup,\r\n Label,\r\n Button,\r\n // Spinner,\r\n FormFeedback,\r\n InputGroup,\r\n} from 'reactstrap';\r\nimport { MoonLoader } from 'react-spinners';\r\nimport PhoneInput from 'react-phone-input-2';\r\nimport arabicLocale from 'react-phone-input-2/lang/ar.json';\r\nimport { ISzfBOCategoriesData } from './szf-business-op-form.props.autogenerated';\r\nimport Multiselect from 'multiselect-react-dropdown';\r\n\r\nimport existingContactDataAction, { GetExistingContactInput } from './../../actions/get-existing-contact.action';\r\nimport createNewContactDataAction, { PostNewContactInput } from './../../actions/post-new-contact.action';\r\nimport BOCaseDataAction, { PostBusinessOpCaseInput } from './../../actions/post-business-op-case.action';\r\nimport { IcountryCodeInput, INewContactCreation } from './../szf-contact-us/szf-contact-us.view';\r\nimport SZFModal from '../../utilities/szf-modal.component';\r\nexport interface IPostContactUsFormInput {\r\n fullName: string;\r\n organizationName: string;\r\n email: string;\r\n countryCode: string;\r\n phone: string;\r\n previousParticipant: string;\r\n previousParticipantType: string;\r\n hearAbout: string;\r\n others: string;\r\n categories: number;\r\n\r\n enableFullNameError: boolean;\r\n enableOrganizationNameError: boolean;\r\n enableEmailError: boolean;\r\n enablePhoneError: boolean;\r\n enablePreviousParticipantError: boolean;\r\n enablePreviousParticipantTypeError: boolean;\r\n enableHearAboutError: boolean;\r\n enableOthersError: boolean;\r\n enableTradeLicenseFileError: boolean;\r\n enablePresentationFileError: boolean;\r\n enableCategoriesError: boolean;\r\n\r\n enablePavilionsFields: boolean;\r\n enableProductsFields: boolean;\r\n enableRestaurantsFields: boolean;\r\n enableKiosksFields: boolean;\r\n enableServiceFields: boolean;\r\n\r\n listOfCountryPavilions: string[];\r\n typeOfProducts: number[];\r\n typeOfRestaurantsCoffeeShops: string;\r\n typeOfKiosksFoodTrucks: string;\r\n kioskActivity: string;\r\n serviceActivity: string;\r\n\r\n enablePavilionsError: boolean;\r\n enableProductsError: boolean;\r\n enableRestaurantsError: boolean;\r\n enableKiosksError: boolean;\r\n enableKioskActivityError: boolean;\r\n enableServiceError: boolean;\r\n enableDescriptionError: boolean;\r\n description: string;\r\n updateNpromotion: boolean;\r\n}\r\nexport interface IPostBOInput extends IPostContactUsFormInput {\r\n tradeLicenseFile: File | undefined;\r\n presentationFile: File | undefined;\r\n tradeLicensefileBase64Code: string | ArrayBuffer | null | undefined;\r\n presentationfileBase64Code: string | ArrayBuffer | null | undefined;\r\n CRMtoken: string | undefined;\r\n contactID: string | undefined;\r\n}\r\nexport interface IPavilionsOptionType {\r\n value: number;\r\n name: string;\r\n id: string;\r\n}\r\nexport default (props: ISzfBusinessOpFormViewProps) => {\r\n const [isModalOpen, setIsModalOpen] = React.useState(false);\r\n const [loading, setLoading] = React.useState(false);\r\n const [state, setState] = React.useState({\r\n fullName: '',\r\n organizationName: '',\r\n email: '',\r\n countryCode: '',\r\n phone: '',\r\n previousParticipant: '',\r\n previousParticipantType: '',\r\n hearAbout: '',\r\n others: '',\r\n categories: 0,\r\n\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n listOfCountryPavilions: [],\r\n typeOfProducts: [],\r\n typeOfRestaurantsCoffeeShops: '',\r\n typeOfKiosksFoodTrucks: '',\r\n kioskActivity: '',\r\n serviceActivity: '',\r\n\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: false,\r\n enableServiceError: false,\r\n enableDescriptionError: false,\r\n description: '',\r\n updateNpromotion: false,\r\n });\r\n const tradeLicenseFileRef = React.useRef(null);\r\n const presentationFileRef = React.useRef(null);\r\n const [tradeLicenseFile, settradeLicenseFile] = React.useState();\r\n const [presentationFile, setPresentationFile] = React.useState();\r\n const multiselectRef = React.useRef();\r\n const [BOError, setBOError] = React.useState('');\r\n const [BOInvalidOrEmptyError, setBOInvalidOrEmptyError] = React.useState('');\r\n const [tradeLicensefileBase64Code, setTradeLicenseFileBase64Code] = React.useState();\r\n const [presentationfileBase64Code, setPresentationFileBase64Code] = React.useState();\r\n // const termAndConditionCheckboxLabel = props.config.boTermAndConditionCheckboxLabel;\r\n const updateAndPromotionCheckboxLabel = props.config.boUpdateAndPromotionCheckboxLabel;\r\n const {\r\n boFullnameLabel,\r\n boOrganizationNameLabel,\r\n boPhoneLabel,\r\n boEmailLabel,\r\n boPreviousParticipationSelectLabel,\r\n boPreviousParticipationTypeLabel,\r\n boHearAboutSelectLabel,\r\n boOtherLabel,\r\n boTradeLicenseFileLabel,\r\n boPresentationFileLabel,\r\n boCategoriesSelectLabel,\r\n // boSubCategoriesSelectLabel,\r\n boDescriptionLabel,\r\n boSubmitButtonLabel,\r\n boOrganizeCountryPavilionsLabel,\r\n boShopCountryPavilionsLabel,\r\n boProductTypeLabel,\r\n boRestaurantShopTypeLabel,\r\n boKiosksTypeLabel,\r\n boKiosksActivityLabel,\r\n boServiceActivityLabel,\r\n } = props.config;\r\n const locale = props.context.request.locale;\r\n const fileSize = props.config.fileSize || 20;\r\n const fileSizeKB = fileSize * 1024;\r\n const szfBOCategories = props.config.szfBOCategories;\r\n const boPreviousParticipationOptions = props.config?.boPreviousParticipationOptions;\r\n const boHearAboutOptions = props.config?.boHearAboutOptions;\r\n const {\r\n boGenericErrorMessage,\r\n invalidOrEmptyFieldError,\r\n dropdownChooseOptionMessage,\r\n maxFileSize,\r\n fileInvalidMessage,\r\n szfSuccessModalHeading,\r\n szfFailModalHeading,\r\n szfSuccessModalMessage,\r\n descriptionInvalidMessage,\r\n multiSelectPlaceholder,\r\n } = props.resources;\r\n const handleUpdateAndPromotionLabelChange = (event: MsDyn365.ContentEditableEvent) =>\r\n (props.config.boUpdateAndPromotionCheckboxLabel = event.target.value);\r\n const updateAndPromotionLabel = updateAndPromotionCheckboxLabel && (\r\n \r\n );\r\n const successImageProps = {\r\n gridSettings: props.context.request.gridSettings ?? {},\r\n imageSettings: props.config.successModalImage?.imageSettings,\r\n };\r\n const failureImageProps = {\r\n gridSettings: props.context.request.gridSettings ?? {},\r\n imageSettings: props.config.failModalImage?.imageSettings,\r\n };\r\n const imageContainer = { className: 'ms-content-block__image' };\r\n const successImage = (\r\n \r\n \r\n \r\n );\r\n const failureImage = (\r\n \r\n \r\n \r\n );\r\n\r\n const onChangeHandler = (e: React.ChangeEvent) => {\r\n const name: string = e.target.name;\r\n const value = e.target.value;\r\n if (name === 'categories') {\r\n const IntValue = +value;\r\n if (multiselectRef && multiselectRef.current && multiselectRef.current.resetSelectedValues) {\r\n multiselectRef.current?.resetSelectedValues();\r\n }\r\n let obj = { ...state, [name]: IntValue, listOfCountryPavilions: [] };\r\n switch (IntValue) {\r\n case 1:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: true,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n };\r\n break;\r\n case 2:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: true,\r\n enableProductsFields: true,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n };\r\n break;\r\n case 3:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: true,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n };\r\n break;\r\n case 4:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: true,\r\n enableServiceFields: false,\r\n };\r\n break;\r\n case 7:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: true,\r\n };\r\n break;\r\n default:\r\n obj = {\r\n ...obj,\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n };\r\n break;\r\n }\r\n setBOInvalidOrEmptyError('');\r\n setState({...obj,enableCategoriesError: false});\r\n } else if (name === 'email') {\r\n const emailPattern: RegExp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i;\r\n if (emailPattern.test(value)) {\r\n const obj = { ...state, [name]: value, enableEmailError: false };\r\n setState(obj);\r\n setBOInvalidOrEmptyError('');\r\n } else {\r\n const obj = { ...state, [name]: value, enableEmailError: true };\r\n setState(obj);\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n }\r\n } else {\r\n if(name){\r\n const obj = { ...state, [name]: value, enableFullNameError: false };\r\n setState(obj);\r\n }else{\r\n const obj = { ...state, [name]: value, enableFullNameError: true };\r\n setState(obj);\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n }\r\n }\r\n };\r\n const getbase64 = (imagefile: File, type: string) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(imagefile);\r\n reader.onload = () => {\r\n const result = reader.result;\r\n const base64 = result?.toString().split('base64,');\r\n if (type === 'trade') {\r\n setTradeLicenseFileBase64Code(base64 && base64[1]);\r\n } else {\r\n setPresentationFileBase64Code(base64 && base64[1]);\r\n }\r\n };\r\n };\r\n const handleFileChange = async (e: React.ChangeEvent) => {\r\n if (e.target.files) {\r\n if (e.target.name === 'tradeLicenseFile') {\r\n if (e.target.files[0] && e.target.files[0].size / 1024 > fileSizeKB) {\r\n resetTradeFileField()\r\n setState({ ...state, enableTradeLicenseFileError: true });\r\n } else {\r\n setState({ ...state, enableTradeLicenseFileError: false });\r\n const imagefile = e.target?.files[0];\r\n if (imagefile) {\r\n getbase64(imagefile, `trade`);\r\n settradeLicenseFile(imagefile);\r\n }\r\n }\r\n } else {\r\n if (e.target.files[0] && e.target.files[0].size / 1024 > fileSizeKB) {\r\n resetPresentationFileField()\r\n setState({ ...state, enablePresentationFileError: true });\r\n } else {\r\n setState({ ...state, enablePresentationFileError: false });\r\n const imagefile = e.target?.files[0];\r\n if (imagefile) {\r\n getbase64(imagefile, `presentation`);\r\n setPresentationFile(imagefile);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n const handleCheckboxChange = (e: any) => {\r\n const name: string = e.target.name;\r\n setState({ ...state, [name]: !state.updateNpromotion });\r\n };\r\n const checkExistingContact = async (token: string, email: string, phone: string) => {\r\n const contactExistInput = new GetExistingContactInput(token, email, phone);\r\n const result = await existingContactDataAction(contactExistInput, props.context.actionContext);\r\n return result;\r\n };\r\n const toggleModal = () => {\r\n setIsModalOpen(!isModalOpen);\r\n };\r\n const resetTradeFileField = () => {\r\n setState({\r\n ...state,\r\n enableTradeLicenseFileError: false,\r\n });\r\n if (tradeLicenseFileRef.current && tradeLicenseFileRef.current.value) {\r\n tradeLicenseFileRef.current.value = '';\r\n }\r\n settradeLicenseFile(undefined);\r\n setTradeLicenseFileBase64Code(null);\r\n };\r\n const resetPresentationFileField = () => {\r\n setState({\r\n ...state,\r\n enablePresentationFileError: false,\r\n });\r\n if (presentationFileRef.current && presentationFileRef.current.value) {\r\n presentationFileRef.current.value = '';\r\n }\r\n setPresentationFile(undefined);\r\n setPresentationFileBase64Code(null);\r\n };\r\n const onSubmitForm = async (e: any): Promise => {\r\n e.preventDefault();\r\n const emailPattern: RegExp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i;\r\n if (state.fullName.length <= 0) {\r\n setState({ ...state, enableFullNameError: true });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('fullName')?.focus();\r\n return;\r\n }\r\n else if (state.email.length <= 0 || !emailPattern.test(state.email)) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('email')?.focus();\r\n return;\r\n } else if (!state.phone || state.phone.length < 4 || state.phone.length > 20) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('phone')?.focus();\r\n return;\r\n } else if (state.countryCode.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('phone')?.focus();\r\n return;\r\n } else if (state.previousParticipant.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('previousParticipant')?.focus();\r\n return;\r\n } else if (state.previousParticipant === `1` && state.previousParticipantType.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('previousParticipantType')?.focus();\r\n return;\r\n } else if (state.hearAbout.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('hearAbout')?.focus();\r\n return;\r\n } else if (state.hearAbout === '5' && state.others.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('others')?.focus();\r\n return;\r\n } \r\n else if (tradeLicenseFile && tradeLicenseFile?.size && tradeLicenseFile.size / 1024 > fileSizeKB) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n tradeLicenseFileRef?.current?.focus();\r\n return;\r\n } \r\n else if (presentationFile && presentationFile?.size && presentationFile.size / 1024 > fileSizeKB) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n presentationFileRef?.current?.focus();\r\n return;\r\n } else if (state.categories <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('categories')?.focus();\r\n return;\r\n } else if ((state.categories === 1 || state.categories === 2) && state.listOfCountryPavilions.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('listOfCountryPavilions')?.focus();\r\n return;\r\n } else if (state.categories === 2 && state.typeOfProducts.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('typeOfProducts')?.focus();\r\n return;\r\n } else if (state.categories === 3 && state.typeOfRestaurantsCoffeeShops.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('typeOfRestaurantsCoffeeShops')?.focus();\r\n return;\r\n } else if (state.categories === 4 && state.typeOfKiosksFoodTrucks.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('typeOfKiosksFoodTrucks')?.focus();\r\n return;\r\n } else if (state.categories === 4 && state.kioskActivity.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('kioskActivity')?.focus();\r\n return;\r\n } else if (state.categories === 7 && state.serviceActivity.length <= 0) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: false,\r\n enableServiceError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('serviceActivity')?.focus();\r\n return;\r\n } else if (state.description.length <= 0 || state.description.length >= 300) {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: false,\r\n enableServiceError: false,\r\n enableDescriptionError: true,\r\n });\r\n setBOInvalidOrEmptyError(invalidOrEmptyFieldError);\r\n setLoading(false);\r\n document.getElementById('description')?.focus();\r\n return;\r\n } else {\r\n setState({\r\n ...state,\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: false,\r\n enableServiceError: false,\r\n enableDescriptionError: false,\r\n });\r\n }\r\n try {\r\n const mergePhoneWithCountryCode = `${state.countryCode}${state.phone}`;\r\n const firstName = state.fullName.substring(0, state.fullName.indexOf(' '));\r\n const lastName = state.fullName.substring(state.fullName.indexOf(' ') + 1);\r\n const CRMtoken = (await props.data.crmToken)?.token || undefined;\r\n const isContactAlreadyExist = await checkExistingContact(CRMtoken, state.email, mergePhoneWithCountryCode);\r\n if (isContactAlreadyExist.status) {\r\n const input: IPostBOInput = {\r\n ...state,\r\n tradeLicenseFile,\r\n presentationFile,\r\n tradeLicensefileBase64Code,\r\n presentationfileBase64Code,\r\n CRMtoken,\r\n contactID: isContactAlreadyExist.id,\r\n };\r\n const createCaseInput = new PostBusinessOpCaseInput(input);\r\n const createCaseResponse = await BOCaseDataAction(createCaseInput, props.context.actionContext);\r\n if (createCaseResponse.status) {\r\n resetForm();\r\n setLoading(false);\r\n setIsModalOpen(true);\r\n } else {\r\n setBOError(boGenericErrorMessage);\r\n setLoading(false);\r\n setIsModalOpen(true);\r\n }\r\n } else {\r\n const createInputData: INewContactCreation = {\r\n firstName: firstName,\r\n lastName: lastName,\r\n email: state.email,\r\n phone: `${state.phone}`,\r\n countryCode: `${state.countryCode}`,\r\n updateNpromotion: state.updateNpromotion,\r\n };\r\n const createContactInput = new PostNewContactInput(CRMtoken, createInputData);\r\n const createNewContactResponse = await createNewContactDataAction(createContactInput, props.context.actionContext);\r\n if (createNewContactResponse.status) {\r\n const input: IPostBOInput = {\r\n ...state,\r\n tradeLicenseFile,\r\n presentationFile,\r\n tradeLicensefileBase64Code,\r\n presentationfileBase64Code,\r\n CRMtoken,\r\n contactID: createNewContactResponse.id,\r\n };\r\n const createCaseInput = new PostBusinessOpCaseInput(input);\r\n const createCaseResponse = await BOCaseDataAction(createCaseInput, props.context.actionContext);\r\n if (createCaseResponse.status) {\r\n resetForm();\r\n setLoading(false);\r\n setIsModalOpen(true);\r\n } else {\r\n setLoading(false);\r\n setBOError(boGenericErrorMessage);\r\n setIsModalOpen(true);\r\n }\r\n } else {\r\n setLoading(false);\r\n setBOError(createNewContactResponse.msg ? createNewContactResponse.msg : boGenericErrorMessage);\r\n setIsModalOpen(true);\r\n }\r\n }\r\n setLoading(false);\r\n } catch (error) {\r\n setBOError(boGenericErrorMessage);\r\n setLoading(false);\r\n setIsModalOpen(true);\r\n console.log('error', error);\r\n }\r\n };\r\n const resetForm = () => {\r\n setState({\r\n ...state,\r\n fullName: '',\r\n organizationName: '',\r\n email: '',\r\n countryCode: '971',\r\n phone: '',\r\n previousParticipant: '',\r\n previousParticipantType: '',\r\n hearAbout: '',\r\n others: '',\r\n categories: 0,\r\n\r\n enableFullNameError: false,\r\n enableOrganizationNameError: false,\r\n enableEmailError: false,\r\n enablePhoneError: false,\r\n enablePreviousParticipantError: false,\r\n enablePreviousParticipantTypeError: false,\r\n enableHearAboutError: false,\r\n enableOthersError: false,\r\n enableTradeLicenseFileError: false,\r\n enablePresentationFileError: false,\r\n enableCategoriesError: false,\r\n\r\n enablePavilionsFields: false,\r\n enableProductsFields: false,\r\n enableRestaurantsFields: false,\r\n enableKiosksFields: false,\r\n enableServiceFields: false,\r\n listOfCountryPavilions: [],\r\n typeOfProducts: [],\r\n typeOfRestaurantsCoffeeShops: '',\r\n typeOfKiosksFoodTrucks: '',\r\n kioskActivity: '',\r\n serviceActivity: '',\r\n\r\n enablePavilionsError: false,\r\n enableProductsError: false,\r\n enableRestaurantsError: false,\r\n enableKiosksError: false,\r\n enableKioskActivityError: false,\r\n enableServiceError: false,\r\n enableDescriptionError: false,\r\n description: '',\r\n updateNpromotion: false,\r\n });\r\n if (tradeLicenseFileRef.current && tradeLicenseFileRef.current.value) {\r\n tradeLicenseFileRef.current.value = '';\r\n }\r\n if (presentationFileRef.current && presentationFileRef.current.value) {\r\n presentationFileRef.current.value = '';\r\n }\r\n settradeLicenseFile(undefined);\r\n setPresentationFile(undefined);\r\n setTradeLicenseFileBase64Code(null);\r\n setPresentationFileBase64Code(null);\r\n setBOError('');\r\n };\r\n const getSubCategories = (szfBOCategories: ISzfBOCategoriesData[] | undefined, categories: number, type: number) => {\r\n const foundCategory = szfBOCategories?.find((categoryItem) => categories === categoryItem.value);\r\n if (categories === 1 || categories === 2) {\r\n if (type === 1) {\r\n const subcategoryList = foundCategory?.subCategory1?.map((SCoptionItem, i) => {\r\n return {\r\n name: SCoptionItem.linkText,\r\n value: i + 1,\r\n id: `subcategory-${i}`,\r\n };\r\n });\r\n return subcategoryList;\r\n } else {\r\n const subcategoryList = foundCategory?.subCategory2?.map((SCoptionItem, i) => {\r\n return {\r\n name: SCoptionItem.linkText,\r\n value: SCoptionItem.value,\r\n id: `subcategory-${i}`,\r\n };\r\n });\r\n return subcategoryList;\r\n }\r\n } else {\r\n return [];\r\n }\r\n };\r\n const getRestaurantSubcategory = (szfBOCategories: ISzfBOCategoriesData[] | undefined, categories: number) => {\r\n const foundCategory = szfBOCategories?.find((categoryItem) => categories === categoryItem.value);\r\n const subcategoryList = foundCategory?.subCategory1?.map((SCoptionItem, i) => {\r\n return (\r\n \r\n );\r\n });\r\n return subcategoryList;\r\n };\r\n const SetPavilionState = (selectedList: IPavilionsOptionType[]) => {\r\n const filteredSelectedList = selectedList.map((selectedOption) => {\r\n return selectedOption.name;\r\n });\r\n setState({\r\n ...state,\r\n listOfCountryPavilions: filteredSelectedList,\r\n });\r\n };\r\n const SetProductsState = (selectedList: IPavilionsOptionType[]) => {\r\n const filteredSelectedList = selectedList.map((selectedOption) => {\r\n return selectedOption.value;\r\n });\r\n setState({\r\n ...state,\r\n typeOfProducts: filteredSelectedList,\r\n });\r\n };\r\n const onSelect = (selectedList: IPavilionsOptionType[], selectedItem: IPavilionsOptionType) => {\r\n SetPavilionState(selectedList);\r\n };\r\n const onRemove = (selectedList: IPavilionsOptionType[], removedItem: IPavilionsOptionType) => {\r\n SetPavilionState(selectedList);\r\n };\r\n const onProductSelect = (selectedList: IPavilionsOptionType[], selectedItem: IPavilionsOptionType) => {\r\n SetProductsState(selectedList);\r\n };\r\n const onProductRemove = (selectedList: IPavilionsOptionType[], removedItem: IPavilionsOptionType) => {\r\n SetProductsState(selectedList);\r\n };\r\n const renderInvalidOrEmptyMessage = (type?: string) => {\r\n if (type === 'custom') {\r\n return
{BOInvalidOrEmptyError && BOInvalidOrEmptyError}
;\r\n } else if (type === 'file') {\r\n return {fileInvalidMessage && fileInvalidMessage};\r\n } else if (type === 'description') {\r\n return {descriptionInvalidMessage && descriptionInvalidMessage};\r\n } else {\r\n return {BOInvalidOrEmptyError && BOInvalidOrEmptyError};\r\n }\r\n };\r\n const handlePhoneCountryCodeOnChange = (value: string, country: IcountryCodeInput) => {\r\n const numberWithoutCountryCode = value.toString().split(`${country.dialCode}`);\r\n setState({\r\n ...state,\r\n phone: numberWithoutCountryCode[1],\r\n countryCode: country.dialCode,\r\n });\r\n };\r\n const renderCountrySubCategoryField = () => {\r\n if (state.categories && state.categories > 0 && state.enablePavilionsFields) {\r\n return (\r\n
\r\n \r\n 0 ? '' : multiSelectPlaceholder}\r\n options={getSubCategories(szfBOCategories, state.categories, 1)} // Options to display in the dropdown\r\n // selectedValues={} // Preselected value to persist in dropdown\r\n onSelect={onSelect} // Function will trigger on select event\r\n onRemove={onRemove} // Function will trigger on remove event\r\n displayValue='name' // Property name to display in the dropdown options\r\n ref={multiselectRef}\r\n disable={loading}\r\n />\r\n {state.enablePavilionsError && renderInvalidOrEmptyMessage('custom')}\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n const renderProductSubCategoryField = () => {\r\n if (state.categories && state.categories > 0 && state.enableProductsFields) {\r\n return (\r\n
\r\n \r\n 0 ? '' : multiSelectPlaceholder}\r\n options={getSubCategories(szfBOCategories, state.categories, 2)} // Options to display in the dropdown\r\n // selectedValues={} // Preselected value to persist in dropdown\r\n onSelect={onProductSelect} // Function will trigger on select event\r\n onRemove={onProductRemove} // Function will trigger on remove event\r\n displayValue='name' // Property name to display in the dropdown options\r\n // ref={multiselectRef}\r\n disable={loading}\r\n />\r\n {state.enableProductsError && renderInvalidOrEmptyMessage('custom')}\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n const renderRestaurantField = () => {\r\n if (state.categories && state.categories > 0 && state.enableRestaurantsFields) {\r\n return (\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableRestaurantsError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n >\r\n {`${dropdownChooseOptionMessage}`}\r\n {getRestaurantSubcategory(szfBOCategories, state.categories)}\r\n \r\n \r\n {state.enableRestaurantsError && renderInvalidOrEmptyMessage()}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n const renderKiosksFields = () => {\r\n if (state.categories && state.categories > 0 && state.enableKiosksFields) {\r\n return (\r\n <>\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enableKiosksError}\r\n required\r\n disabled={loading}\r\n >\r\n {`${dropdownChooseOptionMessage}`}\r\n {getRestaurantSubcategory(szfBOCategories, state.categories)}\r\n \r\n \r\n {state.enableKiosksError && renderInvalidOrEmptyMessage()}\r\n \r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableKioskActivityError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableKioskActivityError && renderInvalidOrEmptyMessage()}\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n const renderServiceField = () => {\r\n if (state.categories && state.categories > 0 && state.enableServiceFields) {\r\n return (\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableServiceError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableServiceError && renderInvalidOrEmptyMessage()}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n return (\r\n <>\r\n
\r\n

{props.resources.bOParagraph}

\r\n \r\n

{BOError ? szfFailModalHeading : szfSuccessModalHeading}

\r\n \r\n \r\n }\r\n modalBody={\r\n isModalOpen ? (\r\n
\r\n {BOError ? failureImage : successImage}\r\n

{BOError ? BOError : szfSuccessModalMessage}

\r\n
\r\n ) : null\r\n }\r\n />\r\n
\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enableFullNameError}\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableFullNameError && renderInvalidOrEmptyMessage()}\r\n \r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n // invalid={state.enableOrganizationNameError}\r\n // required\r\n disabled={loading}\r\n />\r\n \r\n {/* {state.enableOrganizationNameError && renderInvalidOrEmptyMessage()} */}\r\n \r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enableEmailError}\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableEmailError && renderInvalidOrEmptyMessage()}\r\n \r\n
\r\n \r\n {locale.toLowerCase() === 'ar-ae' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {state.enablePhoneError && renderInvalidOrEmptyMessage('custom')}\r\n
\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enablePreviousParticipantError}\r\n required\r\n disabled={loading}\r\n >\r\n {`${dropdownChooseOptionMessage}`}\r\n {boPreviousParticipationOptions &&\r\n boPreviousParticipationOptions?.map((PPoptionItem, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {state.enablePreviousParticipantError && renderInvalidOrEmptyMessage()}\r\n \r\n {state.previousParticipant && state.previousParticipant === `1` && (\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enablePreviousParticipantTypeError}\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enablePreviousParticipantTypeError && renderInvalidOrEmptyMessage()}\r\n \r\n )}\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableHearAboutError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n >\r\n \r\n {boHearAboutOptions &&\r\n boHearAboutOptions?.map((HAoptionItem, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {state.enableHearAboutError && renderInvalidOrEmptyMessage()}\r\n \r\n {state.hearAbout && state.hearAbout === '5' && (\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n className='form-control'\r\n invalid={state.enableOthersError}\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableOthersError && renderInvalidOrEmptyMessage()}\r\n \r\n )}\r\n \r\n \r\n ) => {\r\n handleFileChange(event);\r\n }}\r\n className='form-control business-op-tradeLicenseFile'\r\n disabled={loading}\r\n />\r\n {\r\n resetTradeFileField();\r\n }}\r\n >\r\n x\r\n \r\n \r\n {maxFileSize && (\r\n
\r\n
\r\n \r\n
\r\n

{maxFileSize}

\r\n
\r\n )}\r\n {state.enableTradeLicenseFileError && renderInvalidOrEmptyMessage('file')}\r\n
\r\n
\r\n \r\n \r\n ) => {\r\n handleFileChange(event);\r\n }}\r\n className='form-control contact-us-file'\r\n disabled={loading}\r\n />\r\n {\r\n resetPresentationFileField();\r\n }}\r\n >\r\n x\r\n \r\n \r\n {maxFileSize && (\r\n
\r\n
\r\n \r\n
\r\n

{maxFileSize}

\r\n
\r\n )}\r\n {state.enablePresentationFileError && renderInvalidOrEmptyMessage('file')}\r\n
\r\n
\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableCategoriesError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n >\r\n \r\n {szfBOCategories &&\r\n szfBOCategories?.map((HAoptionItem, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {state.enableCategoriesError && renderInvalidOrEmptyMessage()}\r\n \r\n {renderCountrySubCategoryField()}\r\n {renderProductSubCategoryField()}\r\n {renderRestaurantField()}\r\n {renderKiosksFields()}\r\n {renderServiceField()}\r\n \r\n ) => {\r\n onChangeHandler(event);\r\n }}\r\n invalid={state.enableDescriptionError}\r\n className='form-control'\r\n required\r\n disabled={loading}\r\n />\r\n \r\n {state.enableDescriptionError && renderInvalidOrEmptyMessage('description')}\r\n \r\n \r\n \r\n \r\n {\r\n setLoading(true);\r\n onSubmitForm(e);\r\n }}\r\n disabled={loading}\r\n >\r\n {loading && (\r\n <>\r\n \r\n \r\n )}\r\n {boSubmitButtonLabel && boSubmitButtonLabel}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\n\r\ninterface ISZFModalProps {\r\n isOpen: boolean;\r\n onModalToggle?: (e?: React.MouseEvent) => void;\r\n className: string;\r\n modalTitle?: React.ReactNode;\r\n modalBody?: React.ReactNode;\r\n modalFooter?: React.ReactNode;\r\n}\r\n\r\nexport default function SZFModal(props: ISZFModalProps) {\r\n const { isOpen, onModalToggle, className, modalTitle, modalBody, modalFooter } = props;\r\n\r\n return (\r\n \r\n {modalTitle && {modalTitle}}\r\n {modalBody && {modalBody}}\r\n {modalFooter && {modalFooter}}\r\n \r\n );\r\n}\r\n"],"sourceRoot":""}