Skip to content

Instantly share code, notes, and snippets.

@Jalson1982
Created September 22, 2023 14:06
Show Gist options
  • Save Jalson1982/0f644f926e6fdb09d5b4a5976a43486d to your computer and use it in GitHub Desktop.
Save Jalson1982/0f644f926e6fdb09d5b4a5976a43486d to your computer and use it in GitHub Desktop.
{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