From 425f0f4e0175ec9546f9de481611f752b5d5cc42 Mon Sep 17 00:00:00 2001 From: "Muhammad A. Ghorbani" Date: Thu, 20 Aug 2026 13:27:07 +0330 Subject: [PATCH] feat: implement testing suite and configuration files for conditional form logic and visibility rules --- api_questions.json | 1 + api_questions_marital.json | 1 + conditional-rules.js | 237 ++++++++++++++++++ .../09_identity_verification_documents.png | Bin 28906 -> 31974 bytes test-all.js | 47 ++++ test-cond.js | 29 +++ test-cond2.js | 32 +++ test-cond3.js | 36 +++ test-empty.js | 26 ++ 9 files changed, 409 insertions(+) create mode 100644 api_questions.json create mode 100644 api_questions_marital.json create mode 100644 conditional-rules.js create mode 100644 test-all.js create mode 100644 test-cond.js create mode 100644 test-cond2.js create mode 100644 test-cond3.js create mode 100644 test-empty.js diff --git a/api_questions.json b/api_questions.json new file mode 100644 index 0000000..b27446e --- /dev/null +++ b/api_questions.json @@ -0,0 +1 @@ +[{"id": "family_background.number_of_siblings", "type": "number", "title": "Number of Siblings", "description": "", "tooltip": "", "placeholder": "2", "required": true, "is_required": true, "private": false, "is_private": false, "show_guardian_notice": false, "validation": {"max": 20, "min": 0}, "ui_config": {"private": false, "noSearch": false, "placeholder_en": "2", "placeholder_fa": "\u06f2"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 0, "options": []}, {"id": "family_background.parents_survival_status", "type": "radio", "title": "Parents' Survival Status", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": true, "private": false, "is_private": false, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": false, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 1, "options": [{"id": "family_background.parents_survival_status.both_parents_are_alive", "value": "both_parents_are_alive", "label": "Both parents are alive", "order": 0}, {"id": "family_background.parents_survival_status.father_has_passed_away", "value": "father_has_passed_away", "label": "Father has passed away", "order": 1}, {"id": "family_background.parents_survival_status.mother_has_passed_away", "value": "mother_has_passed_away", "label": "Mother has passed away", "order": 2}, {"id": "family_background.parents_survival_status.both_parents_have_passed_away", "value": "both_parents_have_passed_away", "label": "Both parents have passed away", "order": 3}]}, {"id": "family_background.parents_marital_status", "type": "radio", "title": "Parents' Marital Status", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Parents' Survival Status", "values": ["Both parents are alive"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "family_background.parents_survival_status", "trigger_option_ids": ["family_background.parents_survival_status.both_parents_are_alive"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "family_background.parents_survival_status", "trigger_option_ids": ["family_background.parents_survival_status.both_parents_are_alive"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "family_background.parents_survival_status", "trigger_option_ids": ["family_background.parents_survival_status.both_parents_are_alive"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 2, "options": [{"id": "family_background.parents_marital_status.living_together", "value": "living_together", "label": "Living together", "order": 0}, {"id": "family_background.parents_marital_status.separated_divorced", "value": "separated_/_divorced", "label": "Separated / Divorced", "order": 1}, {"id": "family_background.parents_marital_status.one_parent_has_remarried", "value": "one_parent_has_remarried", "label": "One parent has remarried", "order": 2}, {"id": "family_background.parents_marital_status.i_have_special_family_circumstances_and_will_provide_the_details_in_the_description", "value": "i_have_special_family_circumstances_and_will_provide_the_details_in_the_description.", "label": "I have special family circumstances and will provide the details in the description.", "order": 3}]}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "type": "radio", "title": "Do you currently have an ongoing financial, caregiving, or guardianship responsibility for a family member?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 3, "options": [{"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.no_i_do_not_have_any_ongoing_responsibility", "value": "no,_i_do_not_have_any_ongoing_responsibility.", "label": "No, I do not have any ongoing responsibility.", "order": 0}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "value": "i_am_responsible_for_caring_for_my_father.", "label": "I am responsible for caring for my father.", "order": 1}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "value": "i_am_responsible_for_caring_for_my_mother.", "label": "I am responsible for caring for my mother.", "order": 2}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "value": "i_am_responsible_for_caring_for_both_parents.", "label": "I am responsible for caring for both parents.", "order": 3}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "value": "i_am_responsible_for_caring_for_a_sibling_(brother/sister).", "label": "I am responsible for caring for a sibling (brother/sister).", "order": 4}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "value": "i_am_the_legal_guardian_or_supervisor_of_a_family_member.", "label": "I am the legal guardian or supervisor of a family member.", "order": 5}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "value": "i_regularly_provide_financial_support_for_a_family_member's_living_expenses.", "label": "I regularly provide financial support for a family member's living expenses.", "order": 6}, {"id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description", "value": "i_have_other_circumstances_and_will_explain_in_the_description.", "label": "I have other circumstances and will explain in the description.", "order": 7}]}, {"id": "family_background.do_the_supported_individual_s_live_with_you", "type": "radio", "title": "Do the supported individual(s) live with you?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Do you currently have an ongoing financial, caregiving, or guardianship responsibility for a family member?", "values": ["I am responsible for caring for my father.", "I am responsible for caring for my mother.", "I am responsible for caring for both parents.", "I am responsible for caring for a sibling (brother/sister).", "I am the legal guardian or supervisor of a family member.", "I regularly provide financial support for a family member's living expenses.", "I have other circumstances and will explain in the description.", "I am responsible for caring for my parent(s) (father, mother, or both).", "I am responsible for the care, custody, or guardianship of other family members (sibling, etc.)."]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 4, "options": [{"id": "family_background.do_the_supported_individual_s_live_with_you.yes_they_live_with_me_permanently", "value": "yes,_they_live_with_me_permanently.", "label": "Yes, they live with me permanently.", "order": 0}, {"id": "family_background.do_the_supported_individual_s_live_with_you.yes_they_live_with_me_temporarily_or_periodically", "value": "yes,_they_live_with_me_temporarily_or_periodically.", "label": "Yes, they live with me temporarily or periodically.", "order": 1}, {"id": "family_background.do_the_supported_individual_s_live_with_you.no_but_they_reside_near_my_place_of_living", "value": "no,_but_they_reside_near_my_place_of_living.", "label": "No, but they reside near my place of living.", "order": 2}, {"id": "family_background.do_the_supported_individual_s_live_with_you.no_they_live_in_another_city_or_country", "value": "no,_they_live_in_another_city_or_country.", "label": "No, they live in another city or country.", "order": 3}]}, {"id": "family_background.additional_details_about_family_responsibility", "type": "textarea", "title": "Additional details about family responsibility", "description": "", "tooltip": "familyResponsibilityTooltip", "placeholder": "Enter details here...", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Enter details here...", "placeholder_fa": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f..."}, "logic": {"dependsOn": {"title": "Do you currently have an ongoing financial, caregiving, or guardianship responsibility for a family member?", "values": ["I am responsible for caring for my father.", "I am responsible for caring for my mother.", "I am responsible for caring for both parents.", "I am responsible for caring for a sibling (brother/sister).", "I am the legal guardian or supervisor of a family member.", "I regularly provide financial support for a family member's living expenses.", "I have other circumstances and will explain in the description.", "I am responsible for caring for my parent(s) (father, mother, or both).", "I am responsible for the care, custody, or guardianship of other family members (sibling, etc.)."]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member", "trigger_option_ids": ["family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_parent_s_father_mother_or_both", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_the_care_custody_or_guardianship_of_other_family_members_sibling_etc", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_regularly_provide_financial_support_for_a_family_member_s_living_expenses", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_father", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_my_mother", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_both_parents", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_responsible_for_caring_for_a_sibling_brother_sister", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_am_the_legal_guardian_or_supervisor_of_a_family_member", "family_background.do_you_currently_have_an_ongoing_financial_caregiving_or_guardianship_responsibility_for_a_family_member.i_have_other_circumstances_and_will_explain_in_the_description"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 5, "options": []}, {"id": "family_background.family_s_religious_and_ideological_atmosphere", "type": "radio", "title": "Family's Religious and Ideological Atmosphere", "description": "Please select the option that best describes the general atmosphere and lifestyle of your family.", "tooltip": "### Family Religious Atmosphere Options\n\n* **Religious and Strictly Observant:** This specifies a family highly dedicated to performing all **obligatory duties**, strictly maintaining **religious boundaries** (such as Mahram rules), and upholding **religious rituals and teachings** across all aspects of life.\n* **Religious (Observant of Obligations):** This indicates a family committed to core **religious duties** (such as prayer and fasting) and **Islamic ethics**, living within the standard frameworks of a religious society.\n* **Traditional (Respectful of Religious Values):** This describes a family that holds devotion to moral values and **respects religion**, but may not strictly execute every specific **religious law** or obligation.\n* **Non-religious / Secular:** This represents a family where **religious rituals and frameworks** do not significantly influence their daily **lifestyle, relationships, or decisions**, despite holding a general respect for religion.", "placeholder": "Select one option", "required": false, "is_required": false, "private": false, "is_private": false, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": false, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 6, "options": [{"id": "family_background.family_s_religious_and_ideological_atmosphere.religious_and_strictly_observant", "value": "religious_and_strictly_observant", "label": "Religious and strictly observant", "order": 0}, {"id": "family_background.family_s_religious_and_ideological_atmosphere.religious_observant_of_obligations", "value": "religious_(observant_of_obligations)", "label": "Religious (observant of obligations)", "order": 1}, {"id": "family_background.family_s_religious_and_ideological_atmosphere.traditional_respectful_of_religious_values", "value": "traditional_(respectful_of_religious_values)", "label": "Traditional (respectful of religious values)", "order": 2}, {"id": "family_background.family_s_religious_and_ideological_atmosphere.non_religious_secular", "value": "non-religious_/_secular", "label": "Non-religious / Secular", "order": 3}]}, {"id": "family_background.family_economic_status", "type": "radio", "title": "Family Economic Status", "description": "", "tooltip": "", "placeholder": "Select one option", "required": false, "is_required": false, "private": false, "is_private": false, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": false, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 7, "options": [{"id": "family_background.family_economic_status.weak", "value": "weak", "label": "Weak", "order": 0}, {"id": "family_background.family_economic_status.average", "value": "average", "label": "Average", "order": 1}, {"id": "family_background.family_economic_status.good", "value": "good", "label": "Good", "order": 2}, {"id": "family_background.family_economic_status.prosperous", "value": "prosperous", "label": "Prosperous", "order": 3}]}, {"id": "family_background.short_family_description", "type": "textarea", "title": "Short Family Description", "description": "", "tooltip": "Write any important point that was not covered in the options above here.", "placeholder": "Enter details here...", "required": false, "is_required": false, "private": false, "is_private": false, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": false, "noSearch": false, "placeholder_en": "Enter details here...", "placeholder_fa": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f..."}, "logic": {"operator": "any_of", "parent_question_id": "family_background.parents_marital_status", "trigger_option_ids": ["family_background.parents_marital_status.i_have_special_family_circumstances_and_will_provide_the_details_in_the_description"], "clear_answer_when_hidden": true}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "family_background.parents_marital_status", "trigger_option_ids": ["family_background.parents_marital_status.i_have_special_family_circumstances_and_will_provide_the_details_in_the_description"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "family_background.parents_marital_status", "trigger_option_ids": ["family_background.parents_marital_status.i_have_special_family_circumstances_and_will_provide_the_details_in_the_description"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "family_background.parents_marital_status", "trigger_option_ids": ["family_background.parents_marital_status.i_have_special_family_circumstances_and_will_provide_the_details_in_the_description"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 8, "options": []}] \ No newline at end of file diff --git a/api_questions_marital.json b/api_questions_marital.json new file mode 100644 index 0000000..5997b3b --- /dev/null +++ b/api_questions_marital.json @@ -0,0 +1 @@ +[{"id": "marital_history.current_marital_status", "type": "radio", "title": "Current Marital Status", "description": "", "tooltip": "currentMaritalStatusTooltip", "placeholder": "Select one option", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": null, "audience": null, "required_when": null, "visibility": null, "conditional_rule": null, "is_visible": true, "order": 0, "options": [{"id": "marital_history.current_marital_status.single_never_married", "value": "single;_never_married", "label": "Single; never married", "order": 0}, {"id": "marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "value": "failed_engagement_/_annulled_marriage;_without_living_together", "label": "Failed engagement / Annulled marriage; without living together", "order": 1}, {"id": "marital_history.current_marital_status.divorced_after_living_together", "value": "divorced;_after_living_together", "label": "Divorced; after living together", "order": 2}, {"id": "marital_history.current_marital_status.widowed", "value": "widowed", "label": "Widowed", "order": 3}]}, {"id": "marital_history.previous_marriage_duration", "type": "text", "title": "Previous Marriage Duration", "description": "", "tooltip": "", "placeholder": "3 years", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "3 years", "placeholder_fa": "\u06f3 \u0633\u0627\u0644", "showYearsSuffix": true}, "logic": {"dependsOn": {"title": "Current Marital Status", "values": ["Failed engagement / Annulled marriage; without living together", "Divorced; after living together", "Widowed"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 1, "options": []}, {"id": "marital_history.reason_for_separation", "type": "text", "title": "Reason for Separation", "description": "", "tooltip": "", "placeholder": "Enter details here...", "required": false, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Enter details here...", "placeholder_fa": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f..."}, "logic": {"dependsOn": {"title": "Current Marital Status", "values": ["Failed engagement / Annulled marriage; without living together", "Divorced; after living together"]}}, "audience": null, "required_when": null, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 2, "options": []}, {"id": "marital_history.children_and_guardianship_status", "type": "radio", "title": "Children and Guardianship Status", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": true, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Current Marital Status", "values": ["Failed engagement / annulled marriage without starting joint life", "Divorced; after living together", "Widowed"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.current_marital_status", "trigger_option_ids": ["marital_history.current_marital_status.failed_engagement_annulled_marriage_without_living_together", "marital_history.current_marital_status.failed_marriage_contract_annulled_engagement_without_starting_joint_life", "marital_history.current_marital_status.divorced_after_living_together", "marital_history.current_marital_status.widowed"], "clear_answer_when_hidden": true}, "is_visible": true, "order": 3, "options": [{"id": "marital_history.children_and_guardianship_status.no_children", "value": "no_children", "label": "No children", "order": 0}, {"id": "marital_history.children_and_guardianship_status.have_children_living_with_me", "value": "have_children_living_with_me", "label": "Have children living with me", "order": 1}, {"id": "marital_history.children_and_guardianship_status.have_children_not_living_with_me", "value": "have_children_not_living_with_me", "label": "Have children not living with me", "order": 2}, {"id": "marital_history.children_and_guardianship_status.someone_else_is_under_my_guardianship", "value": "someone_else_is_under_my_guardianship", "label": "Someone else is under my guardianship", "order": 3}]}, {"id": "marital_history.number_of_children", "type": "number", "title": "Number of Children", "description": "", "tooltip": "", "placeholder": "2", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {"max": 10, "min": 0}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "2", "placeholder_fa": "\u06f2"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 4, "options": []}, {"id": "marital_history.what_is_the_custody_status_of_your_child_ren", "type": "radio", "title": "What is the custody status of your child(ren)?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 5, "options": [{"id": "marital_history.what_is_the_custody_status_of_your_child_ren.i_have_full_custody_of_the_child_ren", "value": "i_have_full_custody_of_the_child(ren).", "label": "I have full custody of the child(ren).", "order": 0}, {"id": "marital_history.what_is_the_custody_status_of_your_child_ren.joint_custody_or_periodic_visitation_relocation_between_parents", "value": "joint_custody_or_periodic_visitation/relocation_between_parents.", "label": "Joint custody or periodic visitation/relocation between parents.", "order": 1}, {"id": "marital_history.what_is_the_custody_status_of_your_child_ren.custody_is_with_the_other_parent_or_another_person", "value": "custody_is_with_the_other_parent_or_another_person.", "label": "Custody is with the other parent or another person.", "order": 2}, {"id": "marital_history.what_is_the_custody_status_of_your_child_ren.children_have_reached_legal_age_custody_is_not_applicable", "value": "children_have_reached_legal_age_(custody_is_not_applicable).", "label": "Children have reached legal age (custody is not applicable).", "order": 3}, {"id": "marital_history.what_is_the_custody_status_of_your_child_ren.other_circumstances_dispute_pending_or_other", "value": "other_circumstances_(dispute,_pending,_or_other).", "label": "Other circumstances (dispute, pending, or other).", "order": 4}]}, {"id": "marital_history.how_much_time_do_the_child_ren_usually_live_with_you", "type": "radio", "title": "How much time do the child(ren) usually live with you?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 6, "options": [{"id": "marital_history.how_much_time_do_the_child_ren_usually_live_with_you.permanently_or_most_days_of_the_week_with_me", "value": "permanently_or_most_days_of_the_week_with_me.", "label": "Permanently or most days of the week with me.", "order": 0}, {"id": "marital_history.how_much_time_do_the_child_ren_usually_live_with_you.approximately_half_the_time_joint_custody_schedule", "value": "approximately_half_the_time_(joint_custody/schedule).", "label": "Approximately half the time (joint custody/schedule).", "order": 1}, {"id": "marital_history.how_much_time_do_the_child_ren_usually_live_with_you.weekends_holidays_or_specific_days_only", "value": "weekends,_holidays,_or_specific_days_only.", "label": "Weekends, holidays, or specific days only.", "order": 2}, {"id": "marital_history.how_much_time_do_the_child_ren_usually_live_with_you.they_do_not_live_with_me_or_there_is_no_fixed_schedule", "value": "they_do_not_live_with_me,_or_there_is_no_fixed_schedule.", "label": "They do not live with me, or there is no fixed schedule.", "order": 3}]}, {"id": "marital_history.does_the_custody_visitation_or_relocation_schedule_impact_your_residence_or_immigration", "type": "radio", "title": "Does the custody, visitation, or relocation schedule impact your residence or immigration?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 7, "options": [{"id": "marital_history.does_the_custody_visitation_or_relocation_schedule_impact_your_residence_or_immigration.no_it_has_no_significant_impact_on_residence_or_relocation", "value": "no,_it_has_no_significant_impact_on_residence_or_relocation.", "label": "No, it has no significant impact on residence or relocation.", "order": 0}, {"id": "marital_history.does_the_custody_visitation_or_relocation_schedule_impact_your_residence_or_immigration.yes_relocation_or_immigration_requires_coordination_agreement_or_a_legal_permit", "value": "yes,_relocation_or_immigration_requires_coordination,_agreement,_or_a_legal_permit.", "label": "Yes, relocation or immigration requires coordination, agreement, or a legal permit.", "order": 1}, {"id": "marital_history.does_the_custody_visitation_or_relocation_schedule_impact_your_residence_or_immigration.yes_i_am_restricted_and_must_reside_in_the_same_city_or_region", "value": "yes,_i_am_restricted_and_must_reside_in_the_same_city_or_region.", "label": "Yes, I am restricted and must reside in the same city or region.", "order": 2}, {"id": "marital_history.does_the_custody_visitation_or_relocation_schedule_impact_your_residence_or_immigration.unclear_pending_dispute_agreement_or_depends_on_conditions", "value": "unclear_(pending_dispute/agreement_or_depends_on_conditions).", "label": "Unclear (pending dispute/agreement or depends on conditions).", "order": 3}]}, {"id": "marital_history.what_is_the_payment_or_receipt_status_of_child_support", "type": "radio", "title": "What is the payment or receipt status of child support?", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 8, "options": [{"id": "marital_history.what_is_the_payment_or_receipt_status_of_child_support.ongoing_financial_commitment_paying_child_support_or_sharing_expenses", "value": "ongoing_financial_commitment_(paying_child_support_or_sharing_expenses).", "label": "Ongoing financial commitment (paying child support or sharing expenses).", "order": 0}, {"id": "marital_history.what_is_the_payment_or_receipt_status_of_child_support.receiving_child_support_regularly", "value": "receiving_child_support_regularly.", "label": "Receiving child support regularly.", "order": 1}, {"id": "marital_history.what_is_the_payment_or_receipt_status_of_child_support.payments_are_case_by_case_agreed_or_irregular", "value": "payments_are_case-by-case,_agreed,_or_irregular.", "label": "Payments are case-by-case, agreed, or irregular.", "order": 2}, {"id": "marital_history.what_is_the_payment_or_receipt_status_of_child_support.no_formal_child_support_commitment_or_child_is_independent_pending", "value": "no_formal_child_support_commitment_(or_child_is_independent_/_pending).", "label": "No formal child support commitment (or child is independent / pending).", "order": 3}]}, {"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent", "type": "radio", "title": "Acceptance of necessary communication between future spouse and the other parent", "description": "", "tooltip": "", "placeholder": "Select one option", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Select one option", "placeholder_fa": "\u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f"}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 9, "options": [{"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent.i_accept_necessary_respectful_and_limited_communication_regarding_child_matters", "value": "i_accept_necessary,_respectful,_and_limited_communication_regarding_child_matters.", "label": "I accept necessary, respectful, and limited communication regarding child matters.", "order": 0}, {"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent.i_only_accept_formal_and_highly_limited_communication_regarding_essential_child_matters", "value": "i_only_accept_formal_and_highly_limited_communication_regarding_essential_child_matters.", "label": "I only accept formal and highly limited communication regarding essential child matters.", "order": 1}, {"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent.i_prefer_communication_to_go_through_an_intermediary_a_family_member_or_a_lawyer_as_much_as_possible", "value": "i_prefer_communication_to_go_through_an_intermediary,_a_family_member,_or_a_lawyer_as_much_as_possible.", "label": "I prefer communication to go through an intermediary, a family member, or a lawyer as much as possible.", "order": 2}, {"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent.any_ongoing_communication_beyond_essential_child_matters_with_the_other_parent_is_a_red_line_for_me", "value": "any_ongoing_communication_beyond_essential_child_matters_with_the_other_parent_is_a_red_line_for_me.", "label": "Any ongoing communication beyond essential child matters with the other parent is a red line for me.", "order": 3}, {"id": "marital_history.acceptance_of_necessary_communication_between_future_spouse_and_the_other_parent.acceptance_depends_on_the_type_and_extent_of_communication_custody_conditions_and_mutual_trust", "value": "acceptance_depends_on_the_type_and_extent_of_communication,_custody_conditions,_and_mutual_trust.", "label": "Acceptance depends on the type and extent of communication, custody conditions, and mutual trust.", "order": 4}]}, {"id": "marital_history.short_children_guardianship_explanation", "type": "textarea", "title": "Short Children/Guardianship Explanation", "description": "", "tooltip": "", "placeholder": "Enter details here...", "required": true, "is_required": false, "private": true, "is_private": true, "show_guardian_notice": false, "validation": {}, "ui_config": {"private": true, "noSearch": false, "placeholder_en": "Enter details here...", "placeholder_fa": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f..."}, "logic": {"dependsOn": {"title": "Children and Guardianship Status", "values": ["Have children living with me", "Have children not living with me", "Someone else is under my guardianship"]}}, "audience": null, "required_when": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me", "marital_history.children_and_guardianship_status.someone_else_is_under_my_guardianship"], "clear_answer_when_hidden": true}, "visibility": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me", "marital_history.children_and_guardianship_status.someone_else_is_under_my_guardianship"], "clear_answer_when_hidden": true}, "conditional_rule": {"operator": "any_of", "parent_question_id": "marital_history.children_and_guardianship_status", "trigger_option_ids": ["marital_history.children_and_guardianship_status.have_children_living_with_me", "marital_history.children_and_guardianship_status.have_children_not_living_with_me", "marital_history.children_and_guardianship_status.someone_else_is_under_my_guardianship"], "clear_answer_when_hidden": true}, "is_visible": false, "order": 10, "options": []}] \ No newline at end of file diff --git a/conditional-rules.js b/conditional-rules.js new file mode 100644 index 0000000..9c0d5d1 --- /dev/null +++ b/conditional-rules.js @@ -0,0 +1,237 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.canonicalRule = canonicalRule; +exports.isAnswerPresent = isAnswerPresent; +exports.matchesAudience = matchesAudience; +exports.ruleMatches = ruleMatches; +exports.isQuestionVisible = isQuestionVisible; +exports.isQuestionRequired = isQuestionRequired; +function canonicalRule(rule) { + if (!rule || typeof rule !== "object") { + return null; + } + // If wrapped in dependsOn (legacy) + if (rule.dependsOn && !rule.parent_question_id) { + return { + dependsOn: rule.dependsOn, + }; + } + var operator = ["any_of", "all_of", "equals", "exists"].includes(rule.operator) + ? rule.operator + : "any_of"; + var optionIds = []; + if (Array.isArray(rule.trigger_option_ids)) { + optionIds = rule.trigger_option_ids.map(String); + } + else if (rule.trigger_option_ids !== undefined && rule.trigger_option_ids !== null) { + optionIds = [String(rule.trigger_option_ids)]; + } + var result = { + parent_question_id: rule.parent_question_id || rule.parentQuestionId, + trigger_option_ids: optionIds, + operator: operator, + clear_answer_when_hidden: Boolean(rule.clear_answer_when_hidden), + }; + if (rule.audience && typeof rule.audience === "object") { + result.audience = rule.audience; + } + if (Array.isArray(rule.conditions)) { + result.conditions = rule.conditions + .map(canonicalRule) + .filter(function (c) { return c !== null; }); + result.conditions_operator = + rule.conditions_operator === "any_of" ? "any_of" : "all_of"; + result.root_operator = + rule.root_operator === "any_of" ? "any_of" : "all_of"; + } + return result; +} +function isAnswerPresent(answer) { + if (answer === undefined || answer === null) { + return false; + } + var val = typeof answer === "object" && "value" in answer ? answer.value : answer; + if (val === undefined || val === null) { + return false; + } + if (typeof val === "string") { + return val.trim().length > 0; + } + if (Array.isArray(val)) { + return val.length > 0; + } + if (typeof val === "object") { + return Object.keys(val).length > 0; + } + return true; +} +function getSelectedOptionTokens(answer) { + var tokens = new Set(); + if (!answer) + return tokens; + var rawOptionId = typeof answer === "object" && "option_id" in answer + ? answer.option_id + : undefined; + var rawValue = typeof answer === "object" && "value" in answer ? answer.value : answer; + var addToken = function (item) { + if (item === undefined || item === null) + return; + var str = String(item).trim(); + if (!str) + return; + tokens.add(str.toLowerCase()); + // If it has a dot prefix like "sec.q.opt", also add the suffix "opt" + var lastDot = str.lastIndexOf("."); + if (lastDot !== -1 && lastDot < str.length - 1) { + tokens.add(str.slice(lastDot + 1).toLowerCase()); + } + }; + if (Array.isArray(rawOptionId)) { + rawOptionId.forEach(addToken); + } + else if (rawOptionId !== undefined) { + addToken(rawOptionId); + } + if (Array.isArray(rawValue)) { + rawValue.forEach(addToken); + } + else if (rawValue !== undefined) { + addToken(rawValue); + } + return tokens; +} +function matchesAudience(audience, context) { + if (!audience || typeof audience !== "object") { + return true; + } + if (audience.genders && audience.genders.length > 0) { + if ((context === null || context === void 0 ? void 0 : context.gender) && !audience.genders.includes(context.gender)) { + return false; + } + } + if (audience.minAge !== undefined && (context === null || context === void 0 ? void 0 : context.age) !== undefined && context.age !== null) { + if (context.age < audience.minAge) { + return false; + } + } + if (audience.maxAge !== undefined && (context === null || context === void 0 ? void 0 : context.age) !== undefined && context.age !== null) { + if (context.age > audience.maxAge) { + return false; + } + } + return true; +} +function ruleMatches(rawRule, answers, context) { + var rule = canonicalRule(rawRule); + if (!rule) { + return true; + } + if (rule.audience && !matchesAudience(rule.audience, context)) { + return false; + } + // Handle legacy dependsOn + if (rule.dependsOn && rule.dependsOn.key) { + var parentId_1 = rule.dependsOn.key; + var answer = answers[parentId_1]; + if (!isAnswerPresent(answer)) { + return false; + } + var expectedValues = (rule.dependsOn.values || []).map(function (v) { + return String(v).toLowerCase().trim(); + }); + var actualTokens_1 = getSelectedOptionTokens(answer); + var hasMatch = expectedValues.some(function (v) { return actualTokens_1.has(v); }); + return hasMatch; + } + var mainMatches = true; + var parentId = rule.parent_question_id; + if (parentId) { + var answer = answers[parentId]; + var operator = rule.operator || "any_of"; + if (operator === "exists") { + mainMatches = isAnswerPresent(answer); + } + else if (!isAnswerPresent(answer)) { + mainMatches = false; + } + else { + var actualTokens_2 = getSelectedOptionTokens(answer); + var expectedIds = (rule.trigger_option_ids || []).map(function (id) { + return String(id).toLowerCase().trim(); + }); + var isTokenMatched = function (expectedId) { + if (actualTokens_2.has(expectedId)) + return true; + var lastDot = expectedId.lastIndexOf("."); + if (lastDot !== -1 && lastDot < expectedId.length - 1) { + var suffix = expectedId.slice(lastDot + 1); + if (actualTokens_2.has(suffix)) + return true; + } + return false; + }; + if (operator === "all_of") { + mainMatches = expectedIds.length > 0 && expectedIds.every(isTokenMatched); + } + else if (operator === "equals") { + mainMatches = + expectedIds.length > 0 && + expectedIds.every(isTokenMatched) && + actualTokens_2.size <= expectedIds.length * 2; + } + else { + // default: "any_of" + mainMatches = expectedIds.some(isTokenMatched); + } + } + } + if (rule.conditions && rule.conditions.length > 0) { + var subMatches = rule.conditions.map(function (cond) { + return ruleMatches(cond, answers, context); + }); + var condOperator = rule.conditions_operator || "all_of"; + var conditionsResult = condOperator === "any_of" + ? subMatches.some(Boolean) + : subMatches.every(Boolean); + if (!parentId) { + return conditionsResult; + } + var rootOp = rule.root_operator || "all_of"; + return rootOp === "any_of" + ? mainMatches || conditionsResult + : mainMatches && conditionsResult; + } + return mainMatches; +} +function isQuestionVisible(question, answers, context) { + // 1. Audience check + if (question.audience && !matchesAudience(question.audience, context)) { + return false; + } + // 2. Canonical visibility / conditional rule + var rule = question.visibility || + question.conditionalRule || + question.logic; + if (rule) { + return ruleMatches(rule, answers, context); + } + if (question.isVisible !== undefined) { + return question.isVisible; + } + return true; +} +function isQuestionRequired(question, answers, context) { + if (!isQuestionVisible(question, answers, context)) { + return false; + } + if (question.required || question.baseRequired) { + return true; + } + if (question.requiredWhen) { + if (question.requiredWhen.genders || question.requiredWhen.minAge || question.requiredWhen.maxAge) { + return matchesAudience(question.requiredWhen, context); + } + return ruleMatches(question.requiredWhen, answers, context); + } + return false; +} diff --git a/public/assets/images/sections/09_identity_verification_documents.png b/public/assets/images/sections/09_identity_verification_documents.png index b3b782990464a636e2472a062d22b4fa6604fd1e..315061fe8d8257b40ac6f86f50b4766db23f7b7a 100644 GIT binary patch literal 31974 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%0A2vc_mW_6UzPmu`~Exf;r$XE4Vvw< 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