@smvtech/x-flux 1.1.20 → 1.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +49 -57
- package/dist/index.d.ts +49 -57
- package/dist/index.js +111 -177
- package/dist/index.mjs +112 -174
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -110,22 +110,6 @@ var FIX_TYPE = /* @__PURE__ */ ((FIX_TYPE2) => {
|
|
|
110
110
|
FIX_TYPE2["NONE"] = "none";
|
|
111
111
|
return FIX_TYPE2;
|
|
112
112
|
})(FIX_TYPE || {});
|
|
113
|
-
var ANSWER_STATUS = /* @__PURE__ */ ((ANSWER_STATUS2) => {
|
|
114
|
-
ANSWER_STATUS2["ANSWERED"] = "ANSWERED";
|
|
115
|
-
ANSWER_STATUS2["APPROVED"] = "APPROVED";
|
|
116
|
-
ANSWER_STATUS2["REJECTED"] = "REJECTED";
|
|
117
|
-
ANSWER_STATUS2["NA"] = "NA";
|
|
118
|
-
ANSWER_STATUS2["UNSTARTED"] = "UNSTARTED";
|
|
119
|
-
ANSWER_STATUS2["PENDING"] = "PENDING";
|
|
120
|
-
return ANSWER_STATUS2;
|
|
121
|
-
})(ANSWER_STATUS || {});
|
|
122
|
-
var ASSET_STATUS = /* @__PURE__ */ ((ASSET_STATUS2) => {
|
|
123
|
-
ASSET_STATUS2["ANSWERED"] = "ANSWERED";
|
|
124
|
-
ASSET_STATUS2["APPROVED"] = "APPROVED";
|
|
125
|
-
ASSET_STATUS2["REJECTED"] = "REJECTED";
|
|
126
|
-
ASSET_STATUS2["DELETED"] = "DELETED";
|
|
127
|
-
return ASSET_STATUS2;
|
|
128
|
-
})(ASSET_STATUS || {});
|
|
129
113
|
var QuestionnaireSchema = z2.object({
|
|
130
114
|
questionsWithRank: z2.array(z2.object({ id: z2.string(), rank: z2.number() })),
|
|
131
115
|
questionMap: z2.record(
|
|
@@ -140,6 +124,7 @@ var QuestionnaireSchema = z2.object({
|
|
|
140
124
|
is_root: z2.boolean(),
|
|
141
125
|
type: z2.nativeEnum(QUESTION_TYPE),
|
|
142
126
|
doc_type: z2.nativeEnum(DOC_TYPES).optional(),
|
|
127
|
+
automation_label: z2.string().optional(),
|
|
143
128
|
renders: z2.array(
|
|
144
129
|
z2.object({
|
|
145
130
|
operation: z2.string(),
|
|
@@ -203,12 +188,12 @@ var AnswerSchema = z2.object({
|
|
|
203
188
|
z2.object({
|
|
204
189
|
doc_id: z2.string(),
|
|
205
190
|
issue_reason: z2.string().nullable(),
|
|
206
|
-
status: z2.
|
|
191
|
+
status: z2.enum(["ANSWERED", "APPROVED", "REJECTED", "DELETED"])
|
|
207
192
|
})
|
|
208
193
|
),
|
|
209
194
|
answer: z2.array(z2.string()),
|
|
210
195
|
issue_reason: z2.string().nullable(),
|
|
211
|
-
status: z2.
|
|
196
|
+
status: z2.enum(["ANSWERED", "APPROVED", "REJECTED", "NA", "UNSTARTED", "PENDING"]),
|
|
212
197
|
is_deleted: z2.boolean(),
|
|
213
198
|
visa_order_id: z2.string(),
|
|
214
199
|
validations: z2.array(z2.object({
|
|
@@ -611,14 +596,14 @@ function getValidationErrors(validations) {
|
|
|
611
596
|
totalTimeSaved
|
|
612
597
|
};
|
|
613
598
|
}
|
|
614
|
-
function
|
|
599
|
+
function getValidationResult(question) {
|
|
615
600
|
const backendResult = getValidationErrors(question.answer_data?.validations);
|
|
616
601
|
if (backendResult && backendResult.status !== "PERFECT" /* PERFECT */) {
|
|
617
602
|
return backendResult;
|
|
618
603
|
}
|
|
619
604
|
if (question.question.is_required) {
|
|
620
605
|
const isDocument = question.question.type === "DOCUMENT" /* DOCUMENT */;
|
|
621
|
-
const hasApproved = question.answer_data?.assets_id?.find((asset) => asset.status === "APPROVED"
|
|
606
|
+
const hasApproved = question.answer_data?.assets_id?.find((asset) => asset.status === "APPROVED");
|
|
622
607
|
const answer = question.answer_data?.answer?.[0];
|
|
623
608
|
const isAnswerEmpty = !answer || answer === "" || extractDefaultAnswer(answer) !== null;
|
|
624
609
|
if (isDocument && !hasApproved || !isDocument && isAnswerEmpty) {
|
|
@@ -645,17 +630,16 @@ function computeValidationResult(question) {
|
|
|
645
630
|
totalTimeSaved: 0
|
|
646
631
|
};
|
|
647
632
|
}
|
|
648
|
-
function getValidationResult(question) {
|
|
649
|
-
return getQuestionRenderInfo(question);
|
|
650
|
-
}
|
|
651
633
|
function validateApplicantQuestions(applicant, questionAnswerSources) {
|
|
652
634
|
const displayableQuestions = getDisplayableQuestions(applicant.questions, questionAnswerSources);
|
|
653
635
|
const questionValidations = [];
|
|
654
636
|
displayableQuestions.forEach((question) => {
|
|
655
|
-
const
|
|
656
|
-
const { status, rejectionReasons, rejectedAssets, validationResult } = renderInfo;
|
|
637
|
+
const validationResult = getValidationResult(question);
|
|
657
638
|
if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
|
|
658
|
-
questionValidations.push({
|
|
639
|
+
questionValidations.push({
|
|
640
|
+
name: question.question.question,
|
|
641
|
+
validationResult
|
|
642
|
+
});
|
|
659
643
|
}
|
|
660
644
|
});
|
|
661
645
|
return questionValidations;
|
|
@@ -664,10 +648,12 @@ function validateApplicantDocuments(applicant, documentAnswerSources) {
|
|
|
664
648
|
const displayableDocuments = getDisplayableDocuments(applicant.questions, documentAnswerSources);
|
|
665
649
|
const documentValidations = [];
|
|
666
650
|
displayableDocuments.forEach((document) => {
|
|
667
|
-
const
|
|
668
|
-
const { status, rejectionReasons, rejectedAssets, validationResult } = renderInfo;
|
|
651
|
+
const validationResult = getValidationResult(document);
|
|
669
652
|
if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
|
|
670
|
-
documentValidations.push({
|
|
653
|
+
documentValidations.push({
|
|
654
|
+
name: document.question.question,
|
|
655
|
+
validationResult
|
|
656
|
+
});
|
|
671
657
|
}
|
|
672
658
|
});
|
|
673
659
|
return documentValidations;
|
|
@@ -676,7 +662,7 @@ function validateApplicant(applicant, questionAnswerSources, documentAnswerSourc
|
|
|
676
662
|
const questionValidations = validateApplicantQuestions(applicant, questionAnswerSources);
|
|
677
663
|
const documentValidations = validateApplicantDocuments(applicant, documentAnswerSources);
|
|
678
664
|
const applicantValidations = getValidationErrors(applicant.application?.validations);
|
|
679
|
-
const hasBlockingIssues = questionValidations.some((q) => q.
|
|
665
|
+
const hasBlockingIssues = questionValidations.some((q) => q.validationResult?.status === "MISSING" /* MISSING */ || q.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || documentValidations.some((d) => d.validationResult?.status === "MISSING" /* MISSING */ || d.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || applicantValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
|
|
680
666
|
return {
|
|
681
667
|
isComplete: !hasBlockingIssues && questionValidations.length === 0 && documentValidations.length === 0,
|
|
682
668
|
questionValidations,
|
|
@@ -725,22 +711,6 @@ function getFixTypeFromFixableItems(fixableItems) {
|
|
|
725
711
|
}
|
|
726
712
|
return "auto" /* AUTO */;
|
|
727
713
|
}
|
|
728
|
-
function getQuestionRenderInfo(question) {
|
|
729
|
-
const answer = question.answer_data;
|
|
730
|
-
const status = answer?.status ?? "UNSTARTED" /* UNSTARTED */;
|
|
731
|
-
let rejectionReasons = [];
|
|
732
|
-
let rejectedAssets = [];
|
|
733
|
-
if (status === "REJECTED" /* REJECTED */ && answer) {
|
|
734
|
-
rejectedAssets = answer.assets_id?.filter((a) => a.status === "REJECTED" /* REJECTED */ && a.issue_reason).map((a) => ({ doc_id: a.doc_id, reason: a.issue_reason })) ?? [];
|
|
735
|
-
rejectionReasons = rejectedAssets.length > 0 ? rejectedAssets.map((a) => a.reason) : answer.issue_reason ? [answer.issue_reason] : [];
|
|
736
|
-
}
|
|
737
|
-
return {
|
|
738
|
-
status,
|
|
739
|
-
rejectionReasons,
|
|
740
|
-
rejectedAssets,
|
|
741
|
-
validationResult: computeValidationResult(question)
|
|
742
|
-
};
|
|
743
|
-
}
|
|
744
714
|
|
|
745
715
|
// src/api/index.ts
|
|
746
716
|
var transformApplicationData = (rawData) => {
|
|
@@ -796,12 +766,6 @@ var updateAnswer = async (applicationId, data, onProgress) => {
|
|
|
796
766
|
if (data.file) {
|
|
797
767
|
formData.append("docs", data.file);
|
|
798
768
|
}
|
|
799
|
-
if (data.autoApproveAnswers !== void 0) {
|
|
800
|
-
formData.append("autoApproveAnswers", String(data.autoApproveAnswers));
|
|
801
|
-
}
|
|
802
|
-
if (data.forceRunValidations !== void 0) {
|
|
803
|
-
formData.append("forceRunValidations", String(data.forceRunValidations));
|
|
804
|
-
}
|
|
805
769
|
const response = await client.post(`/visa_answers/upsert-answer-edc`, formData, {
|
|
806
770
|
onUploadProgress: (event) => {
|
|
807
771
|
onProgress?.({
|
|
@@ -875,10 +839,9 @@ var updateOrderQCTermsAndConditions = async (orderId) => {
|
|
|
875
839
|
const response = await client.patch(`/visa_orders/update-order-qc-terms-conditions/${orderId}`);
|
|
876
840
|
return { data: response.data.data };
|
|
877
841
|
};
|
|
878
|
-
var mapFixableDocument = async (answerId
|
|
842
|
+
var mapFixableDocument = async (answerId) => {
|
|
879
843
|
const client = getClient();
|
|
880
|
-
const
|
|
881
|
-
const response = await client.post(`/edc/map-fixable-doc/${answerId}`, body);
|
|
844
|
+
const response = await client.post(`/edc/map-fixable-doc/${answerId}`);
|
|
882
845
|
const rawData = response.data.data;
|
|
883
846
|
const transformedAnswer = formatAnswerFromResponse(
|
|
884
847
|
rawData.answer,
|
|
@@ -892,17 +855,8 @@ var mapFixableDocument = async (answerId, force_fix) => {
|
|
|
892
855
|
}
|
|
893
856
|
};
|
|
894
857
|
};
|
|
895
|
-
var EDCFormMode = /* @__PURE__ */ ((EDCFormMode2) => {
|
|
896
|
-
EDCFormMode2["CREATE"] = "CREATE";
|
|
897
|
-
EDCFormMode2["FIX"] = "FIX";
|
|
898
|
-
return EDCFormMode2;
|
|
899
|
-
})(EDCFormMode || {});
|
|
900
858
|
var EDCFlowContext = createContext(void 0);
|
|
901
|
-
var EDCFlowProvider = ({
|
|
902
|
-
children,
|
|
903
|
-
orderId,
|
|
904
|
-
mode = "CREATE" /* CREATE */
|
|
905
|
-
}) => {
|
|
859
|
+
var EDCFlowProvider = ({ children, orderId }) => {
|
|
906
860
|
const [order, setOrder] = useState(null);
|
|
907
861
|
const [questionnaire, setQuestionnaire] = useState(null);
|
|
908
862
|
const [dynamicQuestionMap, setDynamicQuestionMap] = useState({});
|
|
@@ -1040,11 +994,7 @@ var EDCFlowProvider = ({
|
|
|
1040
994
|
const currentApplicant = prev[application_id];
|
|
1041
995
|
if (!currentApplicant) return prev;
|
|
1042
996
|
const applicantWithUpdatedAnswer = updateApplicantWithAnswer(
|
|
1043
|
-
{
|
|
1044
|
-
...currentApplicant,
|
|
1045
|
-
application: updatedAnswerData.application,
|
|
1046
|
-
traveller: updatedAnswerData.traveller
|
|
1047
|
-
},
|
|
997
|
+
{ ...currentApplicant, application: updatedAnswerData.application, traveller: updatedAnswerData.traveller },
|
|
1048
998
|
updatedAnswerData.answers.visa_questions_id,
|
|
1049
999
|
updatedAnswerData.answers,
|
|
1050
1000
|
questionnaire
|
|
@@ -1060,10 +1010,10 @@ var EDCFlowProvider = ({
|
|
|
1060
1010
|
[questionnaire, refreshApplicant, order]
|
|
1061
1011
|
);
|
|
1062
1012
|
const applyAutoFix = useCallback(
|
|
1063
|
-
async (applicationId, answerId
|
|
1013
|
+
async (applicationId, answerId) => {
|
|
1064
1014
|
if (!questionnaire || !order) return;
|
|
1065
1015
|
try {
|
|
1066
|
-
const { data } = await mapFixableDocument(answerId
|
|
1016
|
+
const { data } = await mapFixableDocument(answerId);
|
|
1067
1017
|
if (data.docId && data.signedUrl) {
|
|
1068
1018
|
setDocIdToS3Url((prev) => ({
|
|
1069
1019
|
...prev,
|
|
@@ -1081,69 +1031,63 @@ var EDCFlowProvider = ({
|
|
|
1081
1031
|
},
|
|
1082
1032
|
[questionnaire, order, refreshApplicant]
|
|
1083
1033
|
);
|
|
1084
|
-
const deleteApplicantById = useCallback(
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
return prevActive;
|
|
1099
|
-
});
|
|
1100
|
-
return applicantsWithSideEffects;
|
|
1034
|
+
const deleteApplicantById = useCallback(async (application_id) => {
|
|
1035
|
+
if (!questionnaire || !order) return;
|
|
1036
|
+
try {
|
|
1037
|
+
await deleteApplicant(application_id);
|
|
1038
|
+
setApplicants((prev) => {
|
|
1039
|
+
const { [application_id]: _, ...updatedApplicants } = prev;
|
|
1040
|
+
const { updatedQuestionnaire, updatedApplicants: applicantsWithSideEffects } = runApplicantSideEffects(updatedApplicants, questionnaire, dynamicQuestionMap);
|
|
1041
|
+
setQuestionnaire(updatedQuestionnaire);
|
|
1042
|
+
setActiveApplicant((prevActive) => {
|
|
1043
|
+
if (prevActive === application_id) {
|
|
1044
|
+
const remainingIds = Object.keys(applicantsWithSideEffects);
|
|
1045
|
+
return remainingIds.length > 0 ? remainingIds[remainingIds.length - 1] : null;
|
|
1046
|
+
}
|
|
1047
|
+
return prevActive;
|
|
1101
1048
|
});
|
|
1102
|
-
|
|
1103
|
-
}
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
);
|
|
1049
|
+
return applicantsWithSideEffects;
|
|
1050
|
+
});
|
|
1051
|
+
setSuccess("Applicant deleted successfully");
|
|
1052
|
+
} catch (err) {
|
|
1053
|
+
console.error("Failed to delete applicant:", err);
|
|
1054
|
+
setError("Failed to delete applicant");
|
|
1055
|
+
throw err;
|
|
1056
|
+
}
|
|
1057
|
+
}, [questionnaire, order, dynamicQuestionMap]);
|
|
1111
1058
|
const refreshOrder = useCallback(async () => {
|
|
1112
1059
|
await fetchOrder();
|
|
1113
1060
|
}, [fetchOrder]);
|
|
1114
|
-
const getS3UrlForAsset = useCallback(
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1061
|
+
const getS3UrlForAsset = useCallback(async (doc_id) => {
|
|
1062
|
+
if (!doc_id) return null;
|
|
1063
|
+
if (docIdToS3Url[doc_id] !== void 0) {
|
|
1064
|
+
return docIdToS3Url[doc_id];
|
|
1065
|
+
}
|
|
1066
|
+
const existingRequest = s3UrlFetchFlightRequests.current.get(doc_id);
|
|
1067
|
+
if (existingRequest) {
|
|
1068
|
+
return existingRequest;
|
|
1069
|
+
}
|
|
1070
|
+
const request = (async () => {
|
|
1071
|
+
try {
|
|
1072
|
+
const s3Url = await getSignedUrlFromAsset(doc_id);
|
|
1073
|
+
setDocIdToS3Url((prev) => ({
|
|
1074
|
+
...prev,
|
|
1075
|
+
[doc_id]: s3Url
|
|
1076
|
+
}));
|
|
1077
|
+
s3UrlFetchFlightRequests.current.delete(doc_id);
|
|
1078
|
+
return s3Url;
|
|
1079
|
+
} catch (error2) {
|
|
1080
|
+
setDocIdToS3Url((prev) => ({
|
|
1081
|
+
...prev,
|
|
1082
|
+
[doc_id]: null
|
|
1083
|
+
}));
|
|
1084
|
+
s3UrlFetchFlightRequests.current.delete(doc_id);
|
|
1085
|
+
return null;
|
|
1123
1086
|
}
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
...prev,
|
|
1129
|
-
[doc_id]: s3Url
|
|
1130
|
-
}));
|
|
1131
|
-
s3UrlFetchFlightRequests.current.delete(doc_id);
|
|
1132
|
-
return s3Url;
|
|
1133
|
-
} catch (error2) {
|
|
1134
|
-
setDocIdToS3Url((prev) => ({
|
|
1135
|
-
...prev,
|
|
1136
|
-
[doc_id]: null
|
|
1137
|
-
}));
|
|
1138
|
-
s3UrlFetchFlightRequests.current.delete(doc_id);
|
|
1139
|
-
return null;
|
|
1140
|
-
}
|
|
1141
|
-
})();
|
|
1142
|
-
s3UrlFetchFlightRequests.current.set(doc_id, request);
|
|
1143
|
-
return request;
|
|
1144
|
-
},
|
|
1145
|
-
[docIdToS3Url]
|
|
1146
|
-
);
|
|
1087
|
+
})();
|
|
1088
|
+
s3UrlFetchFlightRequests.current.set(doc_id, request);
|
|
1089
|
+
return request;
|
|
1090
|
+
}, [docIdToS3Url]);
|
|
1147
1091
|
const acceptOrderQCTermsAndConditions = useCallback(async () => {
|
|
1148
1092
|
if (!order) return;
|
|
1149
1093
|
try {
|
|
@@ -1162,12 +1106,11 @@ var EDCFlowProvider = ({
|
|
|
1162
1106
|
setOrder(data.order);
|
|
1163
1107
|
}
|
|
1164
1108
|
if (data.applications && data.applications.length > 0) {
|
|
1165
|
-
const applicants2 = createApplicantsFromApplications(
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
questionnaire,
|
|
1169
|
-
dynamicQuestionMap
|
|
1109
|
+
const applicants2 = createApplicantsFromApplications(
|
|
1110
|
+
data.applications,
|
|
1111
|
+
questionnaire
|
|
1170
1112
|
);
|
|
1113
|
+
const { updatedQuestionnaire, updatedApplicants } = runApplicantSideEffects(applicants2, questionnaire, dynamicQuestionMap);
|
|
1171
1114
|
setQuestionnaire(updatedQuestionnaire);
|
|
1172
1115
|
setApplicants(updatedApplicants);
|
|
1173
1116
|
const applicantIds = Object.keys(updatedApplicants);
|
|
@@ -1185,39 +1128,36 @@ var EDCFlowProvider = ({
|
|
|
1185
1128
|
setError("Failed to run all validations");
|
|
1186
1129
|
}
|
|
1187
1130
|
}, [orderId, questionnaire, dynamicQuestionMap, activeApplicant]);
|
|
1188
|
-
const runApplicantValidationsHandler = useCallback(
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
});
|
|
1211
|
-
}
|
|
1131
|
+
const runApplicantValidationsHandler = useCallback(async (applicationId) => {
|
|
1132
|
+
if (!orderId || !questionnaire) return;
|
|
1133
|
+
try {
|
|
1134
|
+
setError(null);
|
|
1135
|
+
const { data } = await runApplicantValidations(applicationId);
|
|
1136
|
+
if (data.application) {
|
|
1137
|
+
const applicant = createApplicantData(
|
|
1138
|
+
data.application.traveller,
|
|
1139
|
+
data.application.answers,
|
|
1140
|
+
questionnaire,
|
|
1141
|
+
data.application.application
|
|
1142
|
+
);
|
|
1143
|
+
if (applicant) {
|
|
1144
|
+
setApplicants((prev) => {
|
|
1145
|
+
const updatedApplicants = {
|
|
1146
|
+
...prev,
|
|
1147
|
+
[applicationId]: applicant
|
|
1148
|
+
};
|
|
1149
|
+
const { updatedQuestionnaire, updatedApplicants: applicantsWithSideEffects } = runApplicantSideEffects(updatedApplicants, questionnaire, dynamicQuestionMap);
|
|
1150
|
+
setQuestionnaire(updatedQuestionnaire);
|
|
1151
|
+
return applicantsWithSideEffects;
|
|
1152
|
+
});
|
|
1212
1153
|
}
|
|
1213
|
-
setSuccess("Applicant validations completed successfully");
|
|
1214
|
-
} catch (err) {
|
|
1215
|
-
console.error("Failed to run applicant validations:", err);
|
|
1216
|
-
setError("Failed to run applicant validations");
|
|
1217
1154
|
}
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1155
|
+
setSuccess("Applicant validations completed successfully");
|
|
1156
|
+
} catch (err) {
|
|
1157
|
+
console.error("Failed to run applicant validations:", err);
|
|
1158
|
+
setError("Failed to run applicant validations");
|
|
1159
|
+
}
|
|
1160
|
+
}, [orderId, questionnaire, dynamicQuestionMap]);
|
|
1221
1161
|
useEffect(() => {
|
|
1222
1162
|
if (!orderId) return;
|
|
1223
1163
|
const initialize = async () => {
|
|
@@ -1230,13 +1170,12 @@ var EDCFlowProvider = ({
|
|
|
1230
1170
|
fetchApplicantsForOrder()
|
|
1231
1171
|
]);
|
|
1232
1172
|
if (orderData && questionnaireData && applications) {
|
|
1233
|
-
const applicants2 = createApplicantsFromApplications(
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
applicants2,
|
|
1237
|
-
questionnaireData,
|
|
1238
|
-
dynamicMap
|
|
1173
|
+
const applicants2 = createApplicantsFromApplications(
|
|
1174
|
+
applications,
|
|
1175
|
+
questionnaireData
|
|
1239
1176
|
);
|
|
1177
|
+
const dynamicMap = buildDynamicQuestionMap(questionnaireData);
|
|
1178
|
+
const { updatedQuestionnaire, updatedApplicants } = runApplicantSideEffects(applicants2, questionnaireData, dynamicMap);
|
|
1240
1179
|
setQuestionnaire(updatedQuestionnaire);
|
|
1241
1180
|
setApplicants(updatedApplicants);
|
|
1242
1181
|
const ids = Object.keys(updatedApplicants);
|
|
@@ -1263,7 +1202,6 @@ var EDCFlowProvider = ({
|
|
|
1263
1202
|
loading,
|
|
1264
1203
|
error,
|
|
1265
1204
|
success,
|
|
1266
|
-
mode,
|
|
1267
1205
|
addApplicant: addApplicant2,
|
|
1268
1206
|
updateAnswer: updateAnswer2,
|
|
1269
1207
|
deleteApplicant: deleteApplicantById,
|
|
@@ -1784,4 +1722,4 @@ var EDCFlow = {
|
|
|
1784
1722
|
};
|
|
1785
1723
|
var index_default = EDCFlow;
|
|
1786
1724
|
|
|
1787
|
-
export { ANSWER_SOURCE,
|
|
1725
|
+
export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, ApplicationSchema, DOC_TYPES, EDCFlowProvider, FIX_TYPE, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, TIMELINE_STEP, TimelinePaymentStatus, TravellerSchema, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, createAllQuestionsWithAnswers, createApplicantData, index_default as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getFixTypeFromFixableItems, getSignedUrlFromAsset, getValidationErrors, getValidationResult, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smvtech/x-flux",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.22",
|
|
4
4
|
"description": "x-flux - A powerful React package for managing effective document collection flows, visa questionnaires, travellers, and applications",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|