Created
September 22, 2023 14:06
-
-
Save Jalson1982/0f644f926e6fdb09d5b4a5976a43486d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{Object.keys(groupInfoField.fields).map( | |
(fieldKey, index) => { | |
const personalInfoField: PersonalInfoField = ( | |
groupInfoField.fields as any | |
)[fieldKey]; | |
let fieldOptionSource = | |
fieldKey === 'BillingState' | |
? billingStatePickList | |
: fieldKey === 'ShippingState' | |
? shippingStatePickList | |
: globalConfig[ | |
personalInfoField.optionsSource as string | |
]?.length | |
? globalConfig[ | |
personalInfoField.optionsSource as string | |
] | |
: []; | |
let isRequired = false; | |
if ( | |
personalInfoField.dependency === | |
'ResidentStatus__pc' || | |
personalInfoField.dependency === | |
'ResidentialAddressSameAsPermanent__c' | |
) { | |
if ( | |
(personalInfoField.dependency === | |
'ResidentStatus__pc' && | |
formData.ResidentStatus__pc) || | |
(personalInfoField.dependency === | |
'ResidentialAddressSameAsPermanent__c' && | |
formData.ResidentialAddressSameAsPermanent__c) | |
) { | |
if ( | |
!( | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
] !== '' && | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
] !== undefined && | |
personalInfoField.requiredCondition | |
?.split('|') | |
.indexOf( | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
], | |
) !== -1 | |
) | |
) { | |
isRequired = false; | |
setRequiredList(fieldKey, isRequired); | |
return null; | |
} else { | |
isRequired = personalInfoField.optional | |
? false | |
: true; | |
setRequiredList(fieldKey, isRequired); | |
} | |
} else { | |
if ( | |
!( | |
user?.account?.[ | |
groupInfoField.fields[ | |
personalInfoField.dependency | |
]?.valueKey | |
] !== '' && | |
personalInfoField.requiredCondition | |
?.split('|') | |
.indexOf( | |
user?.account?.[ | |
groupInfoField.fields[ | |
personalInfoField.dependency | |
]?.valueKey | |
], | |
) !== -1 | |
) | |
) { | |
if ( | |
personalInfoField.dependency === | |
'ResidentialAddressSameAsPermanent__c' && | |
!user?.account?.[ | |
groupInfoField.fields[ | |
personalInfoField.dependency | |
]?.valueKey | |
] && | |
personalInfoField.requiredCondition === 'No' | |
) { | |
isRequired = true; | |
setRequiredList(fieldKey, isRequired); | |
} else { | |
isRequired = false; | |
setRequiredList(fieldKey, isRequired); | |
return null; | |
} | |
} else { | |
isRequired = personalInfoField.optional | |
? false | |
: true; | |
setRequiredList(fieldKey, isRequired); | |
} | |
} | |
} else { | |
if (personalInfoField.dependency) { | |
if ( | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
] | |
) { | |
if ( | |
!( | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
] !== '' && | |
personalInfoField.requiredCondition | |
?.split('|') | |
.indexOf( | |
(formData as StringMap)[ | |
personalInfoField.dependency | |
], | |
) !== -1 | |
) | |
) { | |
isRequired = false; | |
setRequiredList(fieldKey, isRequired); | |
} else { | |
isRequired = personalInfoField.optional | |
? false | |
: true; | |
setRequiredList(fieldKey, isRequired); | |
} | |
} else { | |
if ( | |
!( | |
user?.account?.[ | |
groupInfoField[ | |
personalInfoField.dependency | |
]?.valueKey | |
] !== '' && | |
personalInfoField.requiredCondition | |
?.split('|') | |
.indexOf( | |
user?.account?.[ | |
groupInfoField[ | |
personalInfoField.dependency | |
]?.valueKey | |
], | |
) !== -1 | |
) | |
) { | |
isRequired = false; | |
setRequiredList(fieldKey, isRequired); | |
} else { | |
isRequired = personalInfoField.optional | |
? false | |
: true; | |
setRequiredList(fieldKey, isRequired); | |
} | |
} | |
} else { | |
isRequired = !personalInfoField.optional; | |
setRequiredList(fieldKey, isRequired); | |
} | |
} | |
if ( | |
(fieldKey === 'BillingState' && | |
billingStatePickList.length === 0) || | |
(fieldKey === 'ShippingState' && | |
shippingStatePickList.length === 0) | |
) { | |
return null; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment