{"version":3,"sources":["actions/loading/setLoading.js","actions/userQuestionnaire/setUserQuestionnaireId.js","assets/questionnaire/Enums.js","assets/common/api/api.js","assets/questionnaire/Utils/questionComponentUtil.js","actions/userQuestionnaire/selectPage.js","assets/common/custom/history.js","assets/questionnaire/Utils/questionReferencesUtil.js","assets/questionnaire/containers/categoryConditionContainer.js","assets/localization/resources.js","actions/section/showOrHideSection.js","assets/questionnaire/handleStateFunctions/question.js","actions/section/deleteRepeat.js","assets/questionnaire/containers/sectionConditionsContainer.js","assets/questionnaire/validationRules/validationRules.js","actions/authentication/logout.js","actions/userQuestionnaire/setCompleted.js","actions/authentication/authenticate.js","actions/tempStorage/questionReferences/updateRef.js","assets/questionnaire/resources.js","actions/tempStorage/setEmailVerifyByCode.js","actions/userQuestionnaire/setHoneypot.js","actions/section/addRepeat.js","actions/question/modifyMultipleChoiceOption.js","actions/question/modifyMultipleChoiceAnswers.js","actions/question/modifyAnswers.js","actions/tempStorage/requiredItems/deleteRequiredItem.js","actions/userQuestionnaire/categories/onTextCategoriesChange.js","actions/userQuestionnaire/setQuestionnaireName.js","actions/study/changeWebSiteContentUploads.js","actions/study/deleteWebSiteContentUploads.js","actions/study/getWebSiteContentUploads.js","actions/userQuestionnaire/categories/resetTextCategories.js","actions/tempStorage/customErrorMsg/clearAllMessage.js","actions/tempStorage/customErrorMsg/addMessage.js","actions/userQuestionnaire/setCultureCode.js","actions/userQuestionnaire/setLastOpenedPageId.js","actions/userQuestionnaire/setCurrentDate.js","actions/userQuestionnaire/setCategoriesMap.js","actions/userQuestionnaire/setTextCategories.js","actions/userQuestionnaire/setNumericCategories.js","actions/userQuestionnaire/categories/setSectionsConditions.js","actions/userQuestionnaire/setRedirectUrl.js","actions/userQuestionnaire/setHighlightedPages.js","actions/userQuestionnaire/setZIndexCategories.js","actions/userQuestionnaire/setShowProgressBar.js","actions/tempStorage/setShouldModifyCategories.js","actions/userQuestionnaire/categories/onInitRepeatedSection.js","assets/questionnaire/validationRules/validationRulesUtil.js","actions/tempStorage/setFormVerificationCode.js","assets/questionnaire/Utils/pageNavUtil.js","actions/userQuestionnaire/completeQuestionnaire.js","assets/questionnaire/validationRules/customValidationRules.js","actions/tempStorage/invalidItems/addInvalidItem.js","actions/tempStorage/invalidItems/deleteInvalidItem.js","actions/userQuestionnaire/pageMenuNav.js","assets/questionnaire/containers/tempSelectPageCategoriesContainer.js","actions/userQuestionnaire/categories/initConditionalSection.js","actions/tempStorage/fetchCascadingDrugs.js","actions/tempStorage/invalidItems/addRequiredInvalidQuestions.js","actions/study/changeWebSiteContent.js","assets/common/emailValidator.js","assets/common/pwaUtil.js","actions/userQuestionnaire/categories/setTextCategoriesToDefaultValue.js","actions/userQuestionnaire/categories/modifyCascadingDrugCategoryValues.js","actions/userQuestionnaire/categories/removeCategoriesFromNotVisiblePages.js","actions/userQuestionnaire/categories/calculateSectionVisibility.js","actions/userQuestionnaire/categories/calculateVisibilityWithNotRelevantCategories.js","actions/question/addMCHighlightQuestion.js","actions/question/addInitHighlighQuestion.js","actions/section/initSectionData.js","actions/question/changeRepeats.js","actions/tempStorage/fetchCascadingLevels.js","actions/tempStorage/invalidItems/deleteMultipleInvalidOptions.js","actions/tempStorage/requiredItems/registerRequiredItem.js","actions/tempStorage/questionReferences/initRef.js","actions/question/getQuestionImageContent.js","components/content/loading.js","actions/form/getFormData.js","actions/questionnaires/getUserQuestionnaires.js","actions/questionnaires/subscribePushNotifications.js","actions/authentication/onCountdownFinish.js","actions/pages/getPageByName.js","actions/faq/getFaq.js","actions/faq/handleFaqDrop.js","actions/faq/changeFaqContent.js","actions/faq/deleteFaq.js","actions/faq/addNewFaq.js","actions/form/getFollowupData.js","serviceWorkerRegistration.js","assets/common/custom/customRouter.js","assets/common/custom/scrollToTopOnRouteChange.js","actions/study/getStudyData.js","components/app/index.js","reportWebVitals.js","reducers/studyReducer.js","reducers/authenticationReducer.js","reducers/userQuestionnaire/setUserQuestionnaireIdReducer.js","reducers/userQuestionnaire/pageMenuNavReducer.js","reducers/userQuestionnaire/selectPageReducer.js","reducers/userQuestionnaire/pageDesignReducer.js","reducers/userQuestionnaire/cultureCodeReducer.js","reducers/userQuestionnaire/lastOpenedPageReducer.js","reducers/userQuestionnaire/curentDateReducer.js","reducers/userQuestionnaire/categoriesMapReducer.js","assets/questionnaire/handleStateFunctions/textCategories.js","reducers/userQuestionnaire/textCategoriesReducer.js","assets/questionnaire/handleStateFunctions/numericCategories.js","reducers/userQuestionnaire/numericCategoriesReducer.js","assets/questionnaire/handleStateFunctions/sectionCategories.js","reducers/userQuestionnaire/sectionsConditionsReducer.js","reducers/userQuestionnaire/setCompletedReducer.js","reducers/userQuestionnaire/setRedirectUrlReducer.js","reducers/userQuestionnaire/previousMCAnswersReducer.js","reducers/userQuestionnaire/previousQuestionsReducer.js","reducers/userQuestionnaire/previousSectionsReducer.js","reducers/userQuestionnaire/questionReferencesReducer.js","reducers/userQuestionnaire/setQuestionnaireName.js","reducers/userQuestionnaire/highlightedPagesReducer.js","reducers/userQuestionnaire/honeypotReducer.js","reducers/userQuestionnaire/zIndexCategoriesReducer.js","reducers/userQuestionnaire/showProgressBarReducer.js","assets/questionnaire/handleStateFunctions/sectionRepeat.js","assets/questionnaire/handleStateFunctions/section.js","reducers/Section/handleSectionDataReducer.js","reducers/tempStorage/cascadingComponentReducer.js","reducers/tempStorage/invalidItemsReducer.js","reducers/tempStorage/requiredItemsReducer.js","reducers/tempStorage/shouldModifyCategoriesReducer.js","actions/tempStorage/customErrorMsg/deleteMessage.js","reducers/tempStorage/customErrorMessagesReducer.js","reducers/tempStorage/questionReferencesMapReducer.js","reducers/tempStorage/questionsImagesReducer.js","reducers/tempStorage/emailVerifyReducer.js","reducers/tempStorage/formVerificationReducer.js","reducers/faqReducer.js","reducers/toolboxReducer.js","reducers/storyReducer.js","reducers/index.js","reducers/questionnairesReducer.js","reducers/userQuestionnaire/index.js","reducers/tempStorage/index.js","reducers/loadingReducer.js","reducers/formReducer.js","reducers/pagesReducer.js","reducers/followupReducer.js","assets/common/api/setupInterceptors.js","index.js"],"names":["LOADING_PAGE","setLoading","status","type","payload","SET_USER_QUESTIONNAIRE_ID","setUserQuestionnaireId","id","PageNavigationENUM","Object","freeze","SAME","NEXT","BACK","DIRECT_TO_SPECIFIC_PAGE","SectionViewType","Normal","Matrix","PagedMatrix","GridQuestion","GridQuestionAnswerOptionType","RadioButtons","Checkboxes","LogicalOperator","Or","And","CategoryOperator","Equals","NotEquals","Became","Smaller","SmallerEquals","Bigger","BiggerEquals","BecameNot","NumericEquals","CategoryChangeValue","Increase","Decrease","QuestionContextVariableSrcENUM","QuestionText","HelpText","SummaryShowItemType","OnlyRelevantItems","OnlyArchivedItems","AllItems","TranslationKey","QuestionHelpText","ValidationRule","SectionTitle","AnswerOptionText","QuestionParameterValue","AnswersParameterValue","AddRepeatButtonText","DeleteRepeatButtonText","SummaryZeroElementsText","SummaryOptionColumnTitle","instance","axios","create","baseURL","withCredentials","getQuestionViewParameters","questionDTO","cultureCode","viewparams","QuestionView","Parameters","parameters","length","params","_","each","param","isEmpty","QuestionParameterValues","paramValue","first","translation","getComponentTranslationsText","Translations","Name","singleAnswerObject","SubQuestionName","AnswerValue","order","Order","undefined","singleBirthDayAnswerObject","IsConfirmButtonClick","getAnswerBySubQuestionName","answers","subQuestionName","find","defineDayMonthYear","answer","day","substring","month","year","selectedAnswerOption","options","selectedOptionId","option","ID","shouldArchiveRepeat","selectedOption","checked","exclusive","currentDate","questionAnswers","selectedOptionAnswers","shouldArchive","calulateArchived","selectedOptionsIds","keys","previousSelectedArchive","includes","x","ArchiveRepeatDateInPast","ArchiveRepeatWithIntegerRange","ArchiveRepeat","optionAnswers","checkDateInThePast","answerDate2","firstAnswer","secondAnswer","getAnswerOptionParameterValue","answerOptionParameters","key","translationKey","parameter","contextVariableReplace","question","questionRefMap","repeatNumber","parentRepeatNumber","sectionReferenceName","questionContextVariableSrcENUM","text","parseRererences","resolveValidationRuleValue","validationRuleValue","formatDateAnswer","answerDate","moment","isValid","format","getParentSectionId","section","parentSectionId","SectionDTO","ReferenceName","trim","ShowOnlyInNewRepeatSection","ShowOnlyInFollowUpRepeatSection","getRepeatedSection","parentSection","checkIfQuestionHasAnswers","every","value","some","checkIfCascadingQuesitonHasOtherAnswer","a","isOtherText","checkcheckIfCascadingQuesitonAllAnswersEmpty","fillCascadingEmptyAnswers","currentLevelNr","levels","filter","l","SortOrder","forEach","push","itemId","translations","translationResult","Key","Culture","TranslationText","getDescendantMCquestionsInSection","sectionComponents","mcQuestions","traverseComponentsExtractMcQuesitons","foundMcQuestions","c","QuestionDTO","QuestionType","q","s","SectionContentTemplate","Components","getHighlightedItemsToRemove","itemsToRemove","getHighlightedItems","currentSelectedOptionIsExclusive","optionIds","selectedOptions","Exclusive","convertToPlainText","str","match","join","FETCH_PAGE","selectPage","page","navigationDirection","dispatch","getState","resetSectionConditionsMap","userQuestionnaire","textCategories","numericCategories","setPageCategories","response","api","get","pageId","userQuestionnaireId","then","res","codeValidation","data","skip","nextPage","calulatePreviousPage","values","pageList","sectionsConditions","calulateNextPage","PageType","completeQuestionnaire","sortOrder","getFirstVisiblePage","selectedPage","chain","p","visible","minBy","getLastVisiblePage","maxBy","history","createBrowserHistory","_contextVariableREGEX","_sectionRepeatNrREGEX","_cascadingLinesREGEX","_datePreviousQuestionnaireREGEX","_datePreviousQuestionnaireReferenceREGEX","createReferenceMapForQuestion","repeatNr","parentRepeatNr","questionReferencesDictionary","questionText","questionHelpText","refs","map","refFromText","ref","trimReference","refFromHelpText","validationRules","AnswerOptions","getAnswerOptionValidationRuleReferenceAsValue","getValidationRuleWithReferenceAsValue","QuestionValidationRules","refFromValidationValueText","ValidationRuleValue","parentRepeatNum","objKey","references","r","refItem","referenceCollection","getUniqueFromDictionary","refCollectoinItem","RepeatNumber","ParentRepeatNumber","refKey","split","refCollection","qReferences","qRef","qRefs","refVal","calculateRef","replace","toString","mapKey","txtRpl","answersContainer","answersFound","Answers","cascadingLines","extractCascadingLines","formatAnswers","MultipleChoiceAnswers","formatAnswersMC","trimed","toLowerCase","digits","digitsArray","d","zIndexLine","parseInt","isNaN","isCascading","CascadingListAnswerValue","answerValue","orderBy","isObjectLike","optionText","firstText","secondText","lastText","updateOrInsertThenDispatch","questionReferencesMap","mapKeys","fullName","isExclusive","archived","existingRefAnswer","definePreviousAnswers","definePreviousOptionAnswers","UPDATE_QUESTION_REF_MAP","prevAnswer","Archived","transformedAnswers","prevAns","existingAnswers","optionObject","defineOptionObject","optionAnswer","AnswerText","optionValue","shouldHideAnswerOption","categoryCondtion","textCategoryResult","evaluateCondition","getSectionCategories","categories","operator","previousSectionsCategories","category","SectionSortOrder","sectionCategories","CategoryID","getNotRelevantCategories","sectionsConditionsStore","notVisiblePages","pickBy","SectionID","categoryCondition","categoryOperator","negate","evaluateEquals","evaluateBecame","evaluateBecameNot","evaluateBigger","evaluateBiggerEquals","evaluateSmaller","evaluateSmallerEquals","evaluateNumericEquals","matchFound","NumericValue","Value","isDefault","SetAsDefault","numericValue","evaluateConditions","sectionConditions","properties","evaluations","firstEvaluations","evaluation","categoryConditionEvaulations","reduce","result","condition","isFirstSet","evaluated","evaluateLogicalOperator","logicalOperator1","secondEvaluations","logicalOperator2","firstEvaluationsResult","secondEvaluationResult","secondCategoryConditionOperator","logicalOperator","evaluationResults","element","default_culture","resources","nl","en","de","fr","it","culture","resKey","Error","culture_res","console","warn","SHOW_OR_HIDE_SECTION","showOrHideSectionThunk","sectionId","repeatId","questionId","sections","tempStorage","previousQuestions","previousSections","storeData","requiredItems","calculateSectionsVisibility","showOrHideSection","parentRepeatId","followup","existingRepeats","repeats","ShowQuestionTypeAsAnswerOption","AnswerOptionParameters","answerOptionText","modifyAnswers","draftState","questions","modifyMultipleChoiceOption","archivedInCurrentQuestionnaire","omitedAnswers","omit","modifyMultipleChoiceAnswers","defineQuestionsInRepeat","number","component","sectionName","TargetSectionName","SummaryQuestionColumnDefinitions","column","Content","questionShortName","startsWith","previousQuestion","defaultSummaryQuestionObject","referenceName","EnclosingSectionName","ShortName","duplicateOptions","duplicated","DuplicateAnswerOptions","questionObject","defaultQuestionObject","DELETE_REPEAT","deleteRepeat","isArchived","SectionConditionsMap","registerCondition","showConditions","AnswerShowCondition","isArray","conditions","val","QuestionID","mcQuestionId","affectedSections","prop","sectionKey","calculateSectionVisibility","calculateSectionVisibilityWhileInit","sectionData","evaulationResults","last","evaluateAnswerStatement","Boolean","repeatable","showSection","hideSection","shouldDispatch","actionValue","MCquestions","textCategoryValues","ao","CategoryValues","catVal","resetTextCategories","answerFound","forIn","answerObj","optionId","Negate","validationRulesCommands","ruleValue","validationRulesReferences","additionalInfo","checkMimimumValueRule","checkMaximumValueRule","checkMimimumDecimalValueRule","checkMaximumDecimalValueRule","checkMaximumNumberOfCharactersRule","checkDateInTheFuture","checkDateInThePastOrToday","checkMaxDaysInTheFuture","checkMaxDaysInThePast","checkMinDaysInThePast","checkDateBeforeAnswerToOtherDateQuestion","checkDateAfterAnswerToOtherDateQuestion","checkValid11ProofNumber","checkEmailAddressRule","checkMinimumDaysValues","checkMaximumDaysValues","checkValidDutchPostalCodeRule","checkAgeValue","validDate","validDay","yearsOldNotValid","yearInFuture","yearMaxCharacters","validYear","validationRulesRangeCommands","answer1","answer2","checkFirstNumberSmallerOrEqualNumberSecondValue","checkFirstDateSmallerOrEqualDateSecondValue","validPassword","indexOf","correctedAnswer","correctedRuleValue","parseFloat","test","checkEmailAddress","domain","lastIndexOf","invalidEmailDomains","weighedSum","numbersOnly","i","len","j","currentDateObject","add","isSameOrBefore","subtract","isSameOrAfter","isBefore","isAfter","minDate","maxDate","date1","date2","isSame","trimReferenceValue","reference","referenceDate","diff","baseDate","answerObject","answerData","isEqual","LOGOUT","logout","localStorage","removeItem","SET_COMPLETED","setCompleted","completed","LOGIN_SUCCESS","LOGIN_FAILURE","authenticate","email","password","study","user","studyId","StudyId","post","responseData","message","Message","toast","error","User","JwtToken","LockoutEnable","LockoutSecondsRemaining","lockoutSecondsRemaining","setItem","JSON","stringify","catch","months","inviteFriend","ReceiverEmail","ReceiverName","SenderName","customBirthday","XYearsOld","ConfirmAge","healthSlider","HealthSliderBestHealth","HealthSliderLine1","HealthSliderLine2","HealthSliderLine3","HealthSliderLine4","HealthSliderWorstHealth","HealthSliderYouHealthToday","latency","cascadingQuestionPopUp","Title","Description","NoResults","Search","openQuestionCharactersLeft","CharactersRemaining","validationErrorMessage","QuestionRequiredMessage","BirthdayConfirmClicked","SendGridMailInvalid","SectionRequiredMesaage","ValidationSummaryMessage","FormVerificationCodeMissing","CodeIncorrect","EmailCodeVerifyMsgNotDelivered","fileUpload","DefaulDrugHeretMsg","AllowedTypesMsg","FileSizeMax","commonMessage","Day","Month","Year","DownloadQuestionnaire","DownloadQuestionnaireRF","ButtonNext","ButtonBack","ButtonFinish","ButtonSubmit","AdditionalCheck","DidntMatch","RefreshNote","ConfirmPassword","NewVerificatoinCodeSent","EnterEmailAddressAgain","EMAIL_VERIFY_BY_CODE","setEmailVerifyByCode","emailAddress","isSent","SET_HONEYPOT","setHoneypot","honeypot","ADD_REPEAT","addRepeat","MODIFY_MULTIPLE_CHOICE_OPTION","previousArchivedValue","qRefMap","questionReferences","MODIFY_MULTIPLE_CHOICE_ANSWERS","MODIFY_ANSWERS","DELETE_REQUIRED_ITEM","deleteRequiredItem","SET_PREVIOUS_SELECTED_CATEGORIES_TO_DEFAULT_VALUE","ADD_OPTION_CATEGORIES","SET_OPTION_CATEGORIES_TO_DEFAULT_VALUE","onTextCategoriesChange","sectionSortOrder","SET_QUESTIONNAIRE_NAME","setQuestionnaireName","name","CHANGE_WEBSITE_CONTENT_UPLOADS","changeWebSiteContentUploads","selectedFile","url","html","webContentType","deleted","webContentId","uuidv4","formData","FormData","append","encodeURI","config","headers","success","file","fileString","contentType","fileName","DELETE_WEBSITE_CONTENT_UPLOADS","deleteWebSiteContentUploads","SET_TOOLBOX_DATA","SET_STORY_DATA","getWebSiteContentUploads","RESET_TEXT_CATEGORIES","textCategoriesValues","categoriesValues","CLEAR_ALL_ERROR_MSGS","clearAllMessage","ADD_ERROR_MSG","addErrorMessage","SET_CULTURE_CODE","setCultureCode","SET_LAST_OPENED_PAGE_ID","setLastOpenedPageId","SET_CURRENT_DATE","setCurrentDate","date","SET_CATEGORIES_MAP","setCategoriesMap","categoriesMap","SET_TEXT_CATEGORIES","setTextCategories","SET_NUMERIC_CATEGORIES","setNumericCategories","SET_SECTIONS_CONDITIONS","setSectionsConditions","SET_REDIRECTURL","setRedirectUrl","SET_HIGHLIGHTED_PAGES","setHighlightedPages","highlightedPages","SET_ZINDEX_CATEGORIES","setZIndexCategories","zIndexCategories","SET_SHOW_PROGRESS_BAR","setShowProgressBar","showProgressBar","SET_SHOULD_MODIFY_CATEGORIES","setShouldModifyCategories","shouldModifyCategories","ON_INIT_REPEAT_SECTION","onInitRepeatSection","previousMCAnswers","validateAnswers","questionRules","isRangeItem","customRules","isZIndexQuestion","rules","union","regularRules","IsRangeRule","rule","validateAnswersByRule","IsCustom","ValidationMessage","replaceValidationRuleMessageReference","ValidationMessageTranslations","rangeRules","validationMessage","validateRangeAnswers","ValidZIndexFirstLevel","ValidationName","AdditionalInfo","getSpecificValidationRule","ruleName","calculateCharactersLeft","maxCharactersRule","validatePage","sectionsState","invalidData","validateRequiredItems","invalidBirthdayQuestion","validateCustomBirthdayQuestion","sectionState","item","questionType","InvalidAnswerOption","hasIntegerDecimalQuestionWithAnswerOptionsAnswers","hasQuestionAnswers","hasMultipleChoiceQuestionAnswers","isAnswerAnswered","validateMonth","AdditionalQuestionType","validateDay","validateOnlyFirstAnswer","isDate","isDateAnswered","isObject","invalidBirthdayQuestions","requiredBirthdayItems","replaceValidationRuleReferences","referenceMap","referenceAnswers","appliedValidationRules","refValue","validationRuleValueTrim","IsApplied","answerOptions","validationRulesWithReferences","AnswerOptionValidationRules","concat","validationRuleMessage","SET_FORM_VERIFICATION_CODE","SET_FORM_VERIFICATION_MSG","setFormVerificationCode","code","setFormVerificationMessage","msgType","msgTxt","getFirstThankYouPage","pageListValues","selectedPageOrder","regularPage","pageRedirect","postObj","UserQuestionnaireId","ErrorMessage","errorMessage","RedirectUrl","ValidDate","PreviousAnswerValue","ValidYear","ValidDay","YearsOldNotValid","YearMaxCharacters","YearShouldNotBeInFuture","ValidPassword","ADD_INVALID_ITEM","addInvalidItem","DELETE_INVALID_ITEM","deleteInvalidItem","FETCH_TOP_SECTIONS_LIST","fetch_top_section_list","datetime","lastPageOpenedId","redirectUrl","questionnaireName","topSections","topSectionsList","parse","thankYouPages","sortBy","lastVisitedPage","lastTopSectionVisitedID","pageToDisplay","pageTextCategories","pageNumericCategories","pageSortOrder","INIT_CONDITIONAL_SECTION","initConditionalSection","categoryShowCondition","secondCategoryShowCondition","isTopSection","FETCH_CASCADING_DRUGS","fetchCascadingDrugs","componentName","componentId","levelName","groupName","drugs","ADD_REQUIRED_INVALID_QUESTIONS","addRequiredInvalidQuestions","items","CHANGE_WEBSITE_CONTENT","changeWebSiteContent","webSiteContent","object","pwaA2hs","deferredPrompt","addBtn","document","querySelector","style","display","window","addEventListener","e","preventDefault","prompt","userChoice","choiceResult","arrayBufferToBase64","buffer","binary","bytes","Uint8Array","byteLength","String","fromCharCode","btoa","isPushSupported","navigator","grantPushPermission","onUserAction","appServerKey","flim_config","VAPIDpublicKey","Notification","requestPermission","callBack","reg","pushManager","getSubscription","sub","subscribe","userVisibleOnly","applicationServerKey","subscription","endpoint","p256dh","getKey","auth","serviceWorker","ready","registration","SET_TEXT_CATEGORIES_TO_DEFAULT_VALUE","setTextCategoriesToDefaultValue","MODIFY_CASCADING_DRUG_CATEGORY_VALUES","modifyCascadingDrugCategoryValues","previousAnswer","newAnswer","REMOVE_CATEGORIES_FROM_NOT_VISIBLE_PAGES","removeCategoriesFromNotVisiblePages","notRelevantCategories","CALCULATE_SECTION_VISIBILITY","changedTextCategories","changedNumericCategories","CALCULATE_VISIBILITY_WITH_NOT_RELEVANT_CATEGORIES","calculateVisibilityWithNotRelevantCategories","ADD_MC_HIGHLIGHT_QUESTION","addMCHighlighQuestion","ADD_INIT_HIGHLIGHT_QUESTION","addInitHighlighQuestion","INIT_SECTION_DATA","initSectionData","parentRepeatFollowup","sectionCondition","Repeated","UsePreviousAnswers","CHANGE_REPEATS","changeRepeats","FETCH_CASCADING_LEVELS","fetchCascadingLevels","DELETE_MULTIPLE_INVALID_OPTIONS","deleteMultipleInvalidOptions","REGISTER_REQUIRED_ITEM","registerRequiredItem","INIT_QUESTION_REF_MAP","initQuestionRef","GET_QUESTION_IMAGE_CONTENT","getQuestionImageContent","Loading","className","color","height","width","timeout","GET_FORM_DATA","getFormData","urlParameters","formName","form","FormName","Source","Invitation","CanceledStudyParticipationId","UnsubscribeUserId","AccessGranted","FormId","has","delete","search","GET_USER_QUESTIONNAIRES","getUserQuestionnaires","SUBSCRIBE_PUSH_NOTIFICATIONS","postAndDispatch","ShowPushNotificationPopup","subscribePushNotifications","allow","grantObj","ON_COUNT_DOWN_FINISH","onCountdownFinish","GET_PAGES_BY_NAME","getPageByName","GET_FAQ","getFaq","HANDLE_FAQ_DROP","handleFaqDrop","dragId","dropId","CHANGE_FAQ_CONTENT","changeFaqContent","faq","DELETE_FAQ","deleteFaq","faqId","ADD_NEW_FAQ","addNewFaq","GET_FOLLOWUP_DATA","getFollowupData","QuestionnaireId","isLocalhost","location","hostname","registerValidSW","swUrl","register","onupdatefound","installingWorker","installing","onstatechange","state","controller","log","onUpdate","onSuccess","CustomRouter","props","useState","action","setState","useLayoutEffect","listen","navigationType","ScrollToTopOnRouteChange","useEffect","unlisten","scrollTo","GET_STUDY_DATA","getStudyData","PregnantTheme","lazy","DefaultTheme","ReportFormsTheme","App","this","appStudyName","Suspense","fallback","studyName","switchThemes","position","autoClose","hideProgressBar","newestOnTop","rtl","draggable","pauseOnHover","Component","connect","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","initState","enableES5","produce","draft","websiteContentItem","WebSiteContent","getItem","initialState","loggedIn","pageTemplate","pageType","setCategoriesToDefaultValue","categoryValues","founded","CategoryValueID","DefaultCategoryValueID","splice","DefaultValue","textCategoriesHandleStateExport","add_categories","newItem","delete_categories","index","findIndex","set_options_categories_to_default_value","set_option_categories_to_default_value","set_not_relevant_categories_to_default_value","handleCategoryChange","catgoriesName","CategoryName","avalableZIndexCategories","totalCountCategoryName","currentCountCategoryName","archivedCountCategoryName","findCategoryInCurrentPage","sectionCategory","findSectionCategory","endsWith","toLower","changeCategoryNumericValue","changeValue","addOrUpdateCategory","shouldNotCheckPrevious","currentCategory","previousCategory","findCategoryInPreviousPages","createNewCategory","numericCategoriesExport","currentSectionCount","totalSectionCount","archivedSectionCount","update_category","set_repeat_archived","remove_repeat_archived","remove_added_numeric_categories","pull","archivedCategory","totalCategory","sectionToCalculate","times","InitialNumberOfRepeats","inx","NumericQuestionRepeatID","arhivedRepeats","numberOfRepeats","archivedRepeats","defineCondition","sectionCategoriesHandleState","add_category_condition","CategoryValue1","CategoryOperator1","Negate1","CategoryValue2","CategoryOperator2","Negate2","CategoryValue3","CategoryOperator3","Negate3","CategoryValue4","CategoryOperator4","Negate4","calculate_section_condition","categoryId","calculate_condition","categoryID","calculate_condition_not_relevant_categories","handleSectionCategories","defaultData","previousMCQuestionAnswers","correction","isAnswered","ComponentName","coding","CodeStandard","ShowAdditionalTextField","hasExclusive","sectionsToRemove","itemsToRemoveCorrection","y","difference","itemsToRemoveCoding","deletedCorrection","deletedCoding","defaultSectionRepeatObject","traverseComponents","sectionIds","addManualInitialRepeats","repeatsState","count","newRepeat","customID","repeatTransferCount","sectionRepeatHandleStateExport","addInitialRepeats","previousRepeats","repeat","archivedInCorrection","archivedPublished","update","stateSection","descendantSectionIds","changedRepeats","stateSectionDescendant","obj","changedRepeat","reCalculateOrder","deletedRepeatIds","omitedRepeatState","deletedDescendantRepeatIds","descendantRepeat","changeRepeatsWithMCQuestion","repeatsCount","handleRepeat","sectionHandleStateExport","parentRepeatID","changeState","show_or_hide","previousSection","sectionConditionsVisible","questionConditionVisibility","reduxStateStoreJson","handleSection","maxRepeat","findMaxRepeatNr","repetable","defineRepeatId","handleSectionRepeat","keyBy","newState","remove","DELETE_ERROR_MSG","splitKey","QuestionId","ContentType","dragBox","dropBox","dragBoxOrder","dropBoxOrder","draftFaq","faqOrder","Deleted","notDeleted","maxOrderItem","CultureId","WebContentType","CultureID","File","FileName","URL","rootReducer","combineReducers","studyReducer","faqReducer","authentication","questionnaires","setUserQuestionnaireIdReducer","cultureCodeReducer","lastOpenedPageIdReducer","pageMenuNavReducer","selectPageReducer","pageDesign","pageDesignReducer","currentDateReducer","categoriesMapReducer","textCategoriesReducer","numericCategoriesReducer","sectionsConditionsReducer","setCompletedReducer","setRedirectUrlReducer","previousMCAnswersReducer","previousQuestionsReducer","previousSectionsReducer","questionReferencesReducer","questionnaireNameReducer","highlightedPagesReducer","honeypotReducer","zIndexCategoriesReducer","showProggressBarReducer","handleSectionDataReducer","cascadingComponent","cascadingComponentReducer","invalidItems","invalidItemsReducer","requiredItemsReducer","shouldModifyCategoriesReducer","customErrorMsgs","customErrorMsgReducer","questionReferencesMapReducer","questionsImages","questionsImagesReducer","emailVerify","emailVerifyReducer","formVerification","formVerificationReducer","loading","CodeVerificationSent","pages","pageName","title","toolbox","toolboxReducer","story","storyReducer","setup","store","axiosInstance","interceptors","request","use","token","Authorization","er","isAxiosError","pathname","Promise","reject","middleware","thunk","createStore","composeWithDevTools","applyMiddleware","ReactDOM","render","getElementById","setupInterceptors","process","href","origin","fetch","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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","file":"static/js/main.dbd9c1f4.chunk.js","sourcesContent":["export const LOADING_PAGE = \"LOADING_PAGE\";\r\n\r\nexport function setLoading(status) {\r\n return {\r\n type: LOADING_PAGE,\r\n payload: status,\r\n };\r\n}\r\n","export const SET_USER_QUESTIONNAIRE_ID = \"SET_USER_QUESTIONNAIRE_ID\";\r\n\r\nexport function setUserQuestionnaireId(id){\r\n return {\r\n type: SET_USER_QUESTIONNAIRE_ID,\r\n payload: id\r\n }\r\n}","export const PageNavigationENUM = Object.freeze({\r\n SAME: 0,\r\n NEXT: 1,\r\n BACK: 2,\r\n DIRECT_TO_SPECIFIC_PAGE: 3,\r\n});\r\n\r\nexport const SectionViewType = Object.freeze({\r\n Normal: 0,\r\n Matrix: 1,\r\n PagedMatrix: 2,\r\n GridQuestion: 3,\r\n});\r\n\r\nexport const GridQuestionAnswerOptionType = Object.freeze({\r\n RadioButtons: 0,\r\n Checkboxes: 1,\r\n});\r\n\r\nexport const LogicalOperator = Object.freeze({\r\n Or: 0,\r\n And: 1,\r\n});\r\n\r\nexport const CategoryOperator = Object.freeze({\r\n Equals: 0,\r\n NotEquals: 7,\r\n Became: 1,\r\n Smaller: 2,\r\n SmallerEquals: 3,\r\n Bigger: 4,\r\n BiggerEquals: 5,\r\n BecameNot: 6,\r\n NumericEquals: 8,\r\n});\r\n\r\nexport const CategoryChangeValue = Object.freeze({\r\n Increase: 0,\r\n Decrease: 1,\r\n});\r\n\r\nexport const QuestionContextVariableSrcENUM = Object.freeze({\r\n QuestionText: 0,\r\n HelpText: 1,\r\n});\r\n\r\nexport const SummaryShowItemType = Object.freeze({\r\n OnlyRelevantItems: 0,\r\n OnlyArchivedItems: 1,\r\n AllItems: 2,\r\n});\r\n\r\nexport const TranslationKey = Object.freeze({\r\n QuestionText: \"QuestionText\",\r\n QuestionHelpText: \"QuestionHelpText\",\r\n ValidationRule: \"ValidationRule\",\r\n SectionTitle: \"SectionTitle\",\r\n AnswerOptionText: \"AnswerOptionText\",\r\n QuestionParameterValue: \"QuestionParameterValue\",\r\n AnswersParameterValue: \"AnswersParameterValue\",\r\n AddRepeatButtonText: \"AddRepeatButtonText\",\r\n DeleteRepeatButtonText: \"DeleteRepeatButtonText\",\r\n SummaryZeroElementsText: \"SummaryZeroElementsText\",\r\n SummaryOptionColumnTitle: \"SummaryOptionColumnTitle\",\r\n});\r\n","import axios from \"axios\";\r\n\r\nconst instance = axios.create({\r\n baseURL: \"/api\",\r\n withCredentials: true,\r\n});\r\n\r\nexport default instance;\r\n","import _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport { checkDateInThePast } from \"../validationRules/validationRules\";\r\nimport { QuestionContextVariableSrcENUM, TranslationKey } from \"../Enums\";\r\nimport { parseRererences } from \"./questionReferencesUtil\";\r\n\r\n// convert QuestionViewParameters from Array to Dictionary\r\nexport const getQuestionViewParameters = (questionDTO, cultureCode) => {\r\n var viewparams = [];\r\n\r\n if (questionDTO.QuestionView && questionDTO.QuestionView.Parameters) {\r\n var parameters = questionDTO.QuestionView.Parameters;\r\n\r\n if (parameters && parameters.length) {\r\n let params = {};\r\n\r\n _.each(parameters, (param) => {\r\n if (!_.isEmpty(param.QuestionParameterValues)) {\r\n var paramValue = _.first(param.QuestionParameterValues);\r\n\r\n let translation = getComponentTranslationsText(\r\n cultureCode,\r\n paramValue.Translations,\r\n TranslationKey.QuestionParameterValue\r\n );\r\n if (!_.isEmpty(translation)) params[param.Name] = translation;\r\n else params[param.Name] = \"\";\r\n }\r\n });\r\n\r\n viewparams[questionDTO.QuestionView.Name] = params;\r\n }\r\n }\r\n return viewparams;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} SubQuestionName sub question name of the answer i.e 'Text', 'Number', 'Date'\r\n * @param {string} AnswerValue\r\n * @param {int} order answer order\r\n */\r\nexport const singleAnswerObject = (SubQuestionName, AnswerValue, order) => {\r\n var answer = {\r\n SubQuestionName,\r\n AnswerValue,\r\n Order: order === undefined ? 1 : order,\r\n };\r\n return answer;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} SubQuestionName sub question name of the answer i.e 'Text', 'Number', 'Date'\r\n * @param {string} AnswerValue\r\n * @param {int} order answer order\r\n * @param {bool} IsConfirmButtonClick only available for custom birthday question\r\n */\r\nexport const singleBirthDayAnswerObject = (SubQuestionName, AnswerValue, order, IsConfirmButtonClick) => {\r\n var answer = {\r\n SubQuestionName,\r\n AnswerValue,\r\n IsConfirmButtonClick,\r\n Order: order === undefined ? 1 : order,\r\n };\r\n return answer;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} answers question answers list\r\n * @param {string} SubQuestionName sub question name of the answer i.e 'Text', 'Number', 'Date'\r\n */\r\nexport const getAnswerBySubQuestionName = (answers, subQuestionName) => {\r\n if (!answers) return null;\r\n return _.find(answers, {\r\n SubQuestionName: subQuestionName,\r\n });\r\n};\r\n\r\n/**\r\n *\r\n * @param {object} answers question answer\r\n */\r\nexport const defineDayMonthYear = (answer) => {\r\n if (answer && answer.length === 8) {\r\n return {\r\n day: answer.substring(6, 8),\r\n month: answer.substring(4, 6),\r\n year: answer.substring(0, 4),\r\n };\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n *\r\n * @param {array} options question answer options\r\n * @param {array} selectedOptionId selected answer option ID\r\n */\r\nexport const selectedAnswerOption = (options, selectedOptionId) => {\r\n return _.find(options, (option) => {\r\n return option.ID === selectedOptionId;\r\n });\r\n};\r\n/**\r\n *\r\n * @param {array} options question answer options\r\n * @param {object} selectedOption selected answer option\r\n * @param {bool} checked if selected option is checked (this property is only logical for checkbox input)\r\n * @param {array} selectedOptionAnswers answers provided for the selected answer option\r\n * @param {object} selectedOptionsIds selected answer options for the question\r\n */\r\nexport const shouldArchiveRepeat = (\r\n selectedOption,\r\n checked,\r\n exclusive,\r\n currentDate,\r\n options,\r\n questionAnswers,\r\n selectedOptionAnswers = []\r\n) => {\r\n let shouldArchive = calulateArchived(selectedOption, selectedOptionAnswers, currentDate);\r\n if (shouldArchive) return true;\r\n\r\n if (!exclusive && !checked) {\r\n let selectedOptionsIds = questionAnswers != null ? Object.keys(questionAnswers) : null;\r\n if (selectedOptionsIds) {\r\n let previousSelectedArchive = _.find(options, (option) => {\r\n return (\r\n selectedOptionsIds.includes(option.ID) &&\r\n option.ID !== selectedOption.ID &&\r\n calulateArchived(option, questionAnswers[option.ID].answers, currentDate)\r\n );\r\n });\r\n if (previousSelectedArchive) return true;\r\n }\r\n }\r\n\r\n if (\r\n _.find(options, (x) => {\r\n return x.ArchiveRepeatDateInPast || x.ArchiveRepeatWithIntegerRange || x.ArchiveRepeat;\r\n }) != null\r\n )\r\n return false;\r\n else return null;\r\n};\r\n\r\nconst calulateArchived = (option, optionAnswers, currentDate) => {\r\n if (option.ArchiveRepeat) return true;\r\n\r\n if (optionAnswers) {\r\n if (option.ArchiveRepeatDateInPast) {\r\n if (optionAnswers.length === 0) return true;\r\n\r\n if (optionAnswers.length === 1) {\r\n let answer = _.find(optionAnswers, { SubQuestionName: \"Text\" });\r\n if (\r\n !_.isEmpty(answer) &&\r\n !_.isEmpty(answer.AnswerValue) &&\r\n checkDateInThePast(optionAnswers[0].AnswerValue, currentDate)\r\n ) {\r\n return true;\r\n }\r\n\r\n let answerDate2 = _.find(optionAnswers, { SubQuestionName: \"Date2\" });\r\n if (\r\n !_.isEmpty(answerDate2) &&\r\n !_.isEmpty(answerDate2.AnswerValue) &&\r\n checkDateInThePast(answerDate2.AnswerValue, currentDate)\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n optionAnswers.length > 1 &&\r\n _.isEmpty(optionAnswers[0].AnswerValue) &&\r\n _.isEmpty(optionAnswers[1].AnswerValue)\r\n )\r\n return true;\r\n\r\n if (\r\n optionAnswers.length > 1 &&\r\n !_.isEmpty(optionAnswers[1].AnswerValue) &&\r\n checkDateInThePast(optionAnswers[1].AnswerValue, currentDate)\r\n )\r\n return true;\r\n }\r\n if (option.ArchiveRepeatWithIntegerRange) {\r\n if (optionAnswers.length === 0) return true;\r\n if (\r\n optionAnswers.length > 1 &&\r\n _.isEmpty(optionAnswers[0].AnswerValue) &&\r\n _.isEmpty(optionAnswers[1].AnswerValue)\r\n )\r\n return true;\r\n\r\n if (optionAnswers.length > 1) {\r\n const firstAnswer = _.find(optionAnswers, {\r\n SubQuestionName: \"Number1\",\r\n });\r\n const secondAnswer = _.find(optionAnswers, {\r\n SubQuestionName: \"Number2\",\r\n });\r\n if (\r\n !_.isEmpty(firstAnswer) &&\r\n !_.isEmpty(secondAnswer) &&\r\n _.isEmpty(firstAnswer.AnswerValue) &&\r\n _.isEmpty(secondAnswer.AnswerValue)\r\n )\r\n return true;\r\n if (\r\n !_.isEmpty(firstAnswer) &&\r\n !_.isEmpty(secondAnswer) &&\r\n _.isEmpty(firstAnswer.AnswerValue) &&\r\n !_.isEmpty(secondAnswer.AnswerValue)\r\n )\r\n return true;\r\n }\r\n\r\n const secondAnswer = _.find(optionAnswers, {\r\n SubQuestionName: \"Number2\",\r\n });\r\n if (optionAnswers.length === 1 && !_.isEmpty(secondAnswer)) return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\n/**\r\n *\r\n * @param {array} answerOptionParameters answer option parameters\r\n * @param {string} key key to search specific answer option parameter\r\n */\r\nexport const getAnswerOptionParameterValue = (answerOptionParameters, key, cultureCode, translationKey) => {\r\n let parameter = _.find(answerOptionParameters, (parameter) => {\r\n return parameter.Name === key;\r\n });\r\n if (!_.isEmpty(parameter)) {\r\n return getComponentTranslationsText(cultureCode, parameter.Translations, translationKey);\r\n } else return null;\r\n};\r\n\r\nexport const contextVariableReplace = (\r\n question,\r\n questionRefMap,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n sectionReferenceName,\r\n cultureCode,\r\n questionContextVariableSrcENUM\r\n) => {\r\n //var qFullName = `${questionDTO.EnclosingSectionName}.${questionDTO.ShortName}`.toLowerCase().trim();\r\n\r\n var text =\r\n questionContextVariableSrcENUM === QuestionContextVariableSrcENUM.QuestionText\r\n ? getComponentTranslationsText(cultureCode, question.Translations, TranslationKey.QuestionText)\r\n : getComponentTranslationsText(cultureCode, question.Translations, TranslationKey.QuestionHelpText);\r\n\r\n if (text) text = parseRererences(text, questionRefMap, repeatNumber, parentRepeatNumber, sectionReferenceName);\r\n\r\n return text;\r\n};\r\n\r\n/**\r\n * resolve reference define in the validation rule as validation rule value\r\n * @param {string} validationRuleValue validation rule value\r\n * @param {object} questionRefMap question reference map\r\n * @param {int} repeatNumber repeat number in which question belongs\r\n * @param {int} parentRepeatNumber parent repeat number in which question belongs\r\n * @param {string} sectionReferenceName section reference name in which question belongs\r\n */\r\nexport const resolveValidationRuleValue = (\r\n validationRuleValue,\r\n questionRefMap,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n sectionReferenceName\r\n) => {\r\n if (validationRuleValue)\r\n validationRuleValue = parseRererences(\r\n validationRuleValue,\r\n questionRefMap,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n sectionReferenceName\r\n );\r\n\r\n return validationRuleValue;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} answer answer that need to be format as date\r\n */\r\nexport const formatDateAnswer = (answer) => {\r\n const answerDate = moment(answer, \"YYYYMMDD\");\r\n if (answerDate.isValid()) {\r\n return answerDate.format(\"DD-MM-YYYY\");\r\n } else return answer;\r\n};\r\n\r\n/**\r\n * return parent section id if the current section has empty string as reference name and if section need to show follow up or new repeats\r\n * @param {object} section current section\r\n */\r\nexport const getParentSectionId = (section, parentSectionId) => {\r\n let sectionReferenceName =\r\n section != null && section.SectionDTO.ReferenceName != null ? section.SectionDTO.ReferenceName.trim() : null;\r\n return _.isEmpty(sectionReferenceName) &&\r\n (section.SectionDTO.ShowOnlyInNewRepeatSection || section.SectionDTO.ShowOnlyInFollowUpRepeatSection)\r\n ? parentSectionId\r\n : null;\r\n};\r\n/**\r\n * return parent section if the current section has empty string as reference name and if section need to show follow up or new repeats\r\n * @param {object} section current section\r\n * @param {object} parentSection parent section\r\n */\r\nexport const getRepeatedSection = (section, parentSection) => {\r\n let sectionReferenceName =\r\n section != null && section.SectionDTO.ReferenceName != null ? section.SectionDTO.ReferenceName.trim() : null;\r\n return _.isEmpty(sectionReferenceName) &&\r\n (section.SectionDTO.ShowOnlyInNewRepeatSection || section.SectionDTO.ShowOnlyInFollowUpRepeatSection)\r\n ? parentSection\r\n : section;\r\n};\r\n\r\n/**\r\n * return true if the array has at least one answer and AnswerValue is not null or empty string\r\n * @param {array} answers question answers\r\n */\r\nexport const checkIfQuestionHasAnswers = (answers) => {\r\n if (answers.length > 0 && _.every(answers, { AnswerValue: { value: \"\" } })) return false;\r\n\r\n if (answers.length > 0 && !_.some(answers, { AnswerValue: null }) && !_.some(answers, { AnswerValue: \"\" }))\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * return true if the array has at least one non empty answer for \"Other\" textbox\r\n * @param {array} answers question answers\r\n */\r\nexport const checkIfCascadingQuesitonHasOtherAnswer = (answers) => {\r\n return (\r\n answers.length > 0 &&\r\n _.some(answers, (a) => {\r\n return a.AnswerValue.value !== \"\" && a.AnswerValue.isOtherText === true;\r\n })\r\n );\r\n};\r\n\r\n/**\r\n * return true if all cascading answers are empty\r\n * @param {answers} answers question answers\r\n */\r\nexport const checkcheckIfCascadingQuesitonAllAnswersEmpty = (answers) => {\r\n let isEmpty;\r\n\r\n if (answers.length > 0) {\r\n isEmpty = _.every(answers, (a) => {\r\n return _.isEmpty(a.AnswerValue.value);\r\n });\r\n } else isEmpty = true;\r\n\r\n return isEmpty;\r\n};\r\n\r\nexport const fillCascadingEmptyAnswers = (currentLevelNr, levels, answers) => {\r\n var restLevels = _.filter(levels, (l) => l.SortOrder > currentLevelNr);\r\n\r\n restLevels.forEach((l) => {\r\n let subQuestionName = l.Name;\r\n let order = l.SortOrder + 1;\r\n let emptyAnswer = { itemId: null, value: \"\", isOtherText: false };\r\n\r\n answers.push(singleAnswerObject(subQuestionName, emptyAnswer, order)); //add emptyString for all unanswered levels\r\n });\r\n};\r\n\r\n/**\r\n * return translation for given culture code and key\r\n * @param {string} cultureCode culture code\r\n * @param {array} translations component translations\r\n * @param {enum(string)} key translation key\r\n */\r\nexport const getComponentTranslationsText = (cultureCode, translations, key) => {\r\n if (!translations) return \"\";\r\n if (translations.length === 0) return \"\";\r\n\r\n var translationResult = _.find(translations, (x) => {\r\n return x.Key === key && x.Culture === cultureCode;\r\n });\r\n\r\n if (!_.isEmpty(translationResult)) {\r\n return translationResult.TranslationText;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nexport const getDescendantMCquestionsInSection = (sectionComponents) => {\r\n let mcQuestions = [];\r\n traverseComponentsExtractMcQuesitons(sectionComponents, mcQuestions);\r\n return mcQuestions;\r\n};\r\n\r\nfunction traverseComponentsExtractMcQuesitons(sectionComponents, mcQuestions) {\r\n var foundMcQuestions = sectionComponents.filter(\r\n (c) => c.QuestionDTO != null && c.QuestionDTO.QuestionType === \"MultipleChoiceQuestion\"\r\n );\r\n\r\n _.forEach(foundMcQuestions, (q) => mcQuestions.push(q));\r\n\r\n var sections = sectionComponents.filter((c) => c.SectionDTO != null);\r\n sections.forEach((s) => {\r\n traverseComponentsExtractMcQuesitons(s.SectionDTO.SectionContentTemplate.Components, mcQuestions);\r\n });\r\n}\r\nexport const getHighlightedItemsToRemove = (section) => {\r\n let itemsToRemove = [];\r\n getHighlightedItems([section], itemsToRemove);\r\n return itemsToRemove;\r\n};\r\n\r\nfunction getHighlightedItems(sectionComponents, itemsToRemove) {\r\n var sections = sectionComponents.filter((c) => c.SectionDTO != null);\r\n sections.forEach((s) => {\r\n itemsToRemove.push(s.ID);\r\n getHighlightedItems(s.SectionDTO.SectionContentTemplate.Components, itemsToRemove);\r\n });\r\n}\r\n\r\nexport const currentSelectedOptionIsExclusive = (options, answers) => {\r\n let optionIds = answers ? Object.keys(answers) : [];\r\n let selectedOptions = _.filter(options, (option) => {\r\n return optionIds.includes(option.ID);\r\n });\r\n if (selectedOptions.length === 1 && selectedOptions[0].Exclusive) return true;\r\n return false;\r\n};\r\n\r\nexport const convertToPlainText = (str) => {\r\n const allowedCharactersRegex = /[a-zA-Z0-9 @.,!?+-=*&^%$#'\"()-_]/g;\r\n return str.match(allowedCharactersRegex)?.join(\"\") || \"\";\r\n\r\n // return str\r\n // .replace(/[\\uD83C-\\uDBFF\\uDC00-\\uDFFF\\u2600-\\u26FF\\u2700-\\u27BF\\uFE0F\\u1F900-\\u1F9FF\\u1F000-\\u1F02F]/g, \"\") // Remove emojis\r\n // .replace(/[\\u00A9\\u2122]/g, \"\"); // Remove special characters\r\n};\r\n","import api from \"../../assets/common/api/api\";\r\nimport { resetSectionConditionsMap } from \"../../assets/questionnaire/containers/sectionConditionsContainer\";\r\nimport { setPageCategories } from \"../../assets/questionnaire/containers/tempSelectPageCategoriesContainer\";\r\nimport { calulateNextPage, calulatePreviousPage } from \"../../assets/questionnaire/Utils/pageNavUtil\";\r\nimport { completeQuestionnaire } from \"./completeQuestionnaire\";\r\nimport { PageNavigationENUM } from \"../../assets/questionnaire/Enums\";\r\nimport _ from \"lodash\";\r\n\r\nexport const FETCH_PAGE = \"FETCH_PAGE\";\r\n\r\nexport const selectPage = (page, navigationDirection) => async (dispatch, getState) => {\r\n resetSectionConditionsMap();\r\n let { id, cultureCode, textCategories, numericCategories } = getState().userQuestionnaire;\r\n setPageCategories(textCategories, numericCategories, page.SortOrder);\r\n\r\n let response = {};\r\n await api\r\n .get(\"/Questionnaire/GetPageTemplate\", {\r\n params: {\r\n pageId: page.ID,\r\n userQuestionnaireId: id,\r\n cultureCode,\r\n },\r\n })\r\n .then((res) => {\r\n response = res;\r\n });\r\n\r\n let { codeValidation } = response.data;\r\n if (codeValidation && codeValidation.skip === true) {\r\n let nextPage;\r\n\r\n if (navigationDirection === PageNavigationENUM.BACK) {\r\n nextPage = calulatePreviousPage(\r\n Object.values(getState().userQuestionnaire.pageList),\r\n getState().userQuestionnaire.sectionsConditions,\r\n page.SortOrder\r\n );\r\n } else {\r\n nextPage = calulateNextPage(\r\n Object.values(getState().userQuestionnaire.pageList),\r\n getState().userQuestionnaire.sectionsConditions,\r\n page.SortOrder\r\n );\r\n }\r\n\r\n if (nextPage) {\r\n if (nextPage.PageType === 1 && page.PageType === 0) dispatch(completeQuestionnaire(nextPage));\r\n else {\r\n dispatch(selectPage(nextPage));\r\n }\r\n } else dispatch(completeQuestionnaire());\r\n } else {\r\n dispatch({ type: FETCH_PAGE, payload: { data: response.data, sortOrder: page.SortOrder } });\r\n }\r\n};\r\n\r\nexport const getFirstVisiblePage = (pageList, sectionsConditions, selectedPage) => {\r\n return _.chain(pageList)\r\n .values()\r\n .filter((p) => {\r\n return (\r\n p.PageType === 0 &&\r\n p.SortOrder <= selectedPage.sortOrder &&\r\n (!sectionsConditions[p.ID] || sectionsConditions[p.ID].visible)\r\n );\r\n })\r\n .minBy(\"SortOrder\")\r\n .value();\r\n};\r\n\r\nexport const getLastVisiblePage = (pageList, sectionsConditions, selectedPage) => {\r\n return _.chain(pageList)\r\n .values()\r\n .filter((p) => {\r\n return (\r\n p.PageType === 0 &&\r\n p.SortOrder >= selectedPage.sortOrder &&\r\n (!sectionsConditions[p.ID] || sectionsConditions[p.ID].visible)\r\n );\r\n })\r\n .maxBy(\"SortOrder\")\r\n .value();\r\n};\r\n","import { createBrowserHistory } from \"history\";\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;\r\n","import _ from \"lodash\";\r\nimport { formatDateAnswer } from \"./questionComponentUtil\";\r\nimport { defineOptionObject } from \"../handleStateFunctions/question\";\r\nimport { UPDATE_QUESTION_REF_MAP } from \"../../../actions/tempStorage/questionReferences/updateRef\";\r\nimport { getValidationRuleWithReferenceAsValue, getAnswerOptionValidationRuleReferenceAsValue } from \"../validationRules/validationRulesUtil\";\r\nimport { TranslationKey } from \"../Enums\";\r\nimport { getComponentTranslationsText } from \"./questionComponentUtil\";\r\n\r\nexport const _contextVariableREGEX = /\\{\\{[$]{0,1}([a-z0-9-_ ]*?)\\.([a-z0-9-_,\\[\\] ]+?)\\}\\}/gi;\r\nexport const _sectionRepeatNrREGEX = /\\{\\{[a-z0-9-_ ]*?\\.RepeatNr\\}\\}/gi;\r\nexport const _cascadingLinesREGEX = /\\[[0-9, ]+\\]$/;\r\nexport const _datePreviousQuestionnaireREGEX = /\\participation\\.datepreviousquestionnaire/;\r\nexport const _datePreviousQuestionnaireReferenceREGEX = /\\{\\{Participation\\.DatePreviousQuestionnaire\\}\\}/;\r\n\r\nconst defaultQuestionRefCollection = (objKey) => {\r\n return { objKey, references: {} };\r\n};\r\n\r\nexport const createReferenceMapForQuestion = (question, repeatNr, parentRepeatNr, sectionReferenceName, questionReferencesDictionary, cultureCode) => {\r\n if (_.isEmpty(questionReferencesDictionary)) return;\r\n\r\n let questionText = getComponentTranslationsText(cultureCode, question.Translations, TranslationKey.QuestionText);\r\n let questionHelpText = getComponentTranslationsText(cultureCode, question.Translations, TranslationKey.QuestionHelpText);\r\n\r\n let refs = [];\r\n let map = null;\r\n\r\n if (questionText) {\r\n let refFromText = questionText.match(_contextVariableREGEX);\r\n if (refFromText) {\r\n refFromText.forEach((ref) => {\r\n var key = trimReference(ref);\r\n if (!_.includes(refs, key)) refs.push(key);\r\n });\r\n }\r\n }\r\n\r\n if (questionHelpText) {\r\n let refFromHelpText = questionHelpText.match(_contextVariableREGEX);\r\n if (refFromHelpText) {\r\n refFromHelpText.forEach((ref) => {\r\n var key = trimReference(ref);\r\n if (!_.includes(refs, key)) refs.push(key);\r\n });\r\n }\r\n }\r\n\r\n let validationRules = [];\r\n if (question.QuestionDTO.AnswerOptions.length > 0) validationRules = getAnswerOptionValidationRuleReferenceAsValue(question.QuestionDTO.AnswerOptions);\r\n else validationRules = getValidationRuleWithReferenceAsValue(question.QuestionDTO.QuestionValidationRules);\r\n\r\n if (validationRules.length > 0) {\r\n _.map(validationRules, (x) => {\r\n let refFromValidationValueText = x.ValidationRuleValue.match(_contextVariableREGEX);\r\n if (refFromValidationValueText) {\r\n refFromValidationValueText.forEach((ref) => {\r\n var key = trimReference(ref);\r\n if (!_.includes(refs, key)) refs.push(key);\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (!_.isEmpty(refs)) {\r\n let parentRepeatNum = parentRepeatNr == null ? \"null\" : parentRepeatNr;\r\n let key = `${question.ID}||${repeatNr}||${parentRepeatNum}`;\r\n map = defaultQuestionRefCollection(key);\r\n\r\n refs.forEach((r) => {\r\n let refItem;\r\n if (r.match(_datePreviousQuestionnaireREGEX) && r in questionReferencesDictionary) {\r\n refItem = _.first(questionReferencesDictionary[r]);\r\n } else {\r\n let referenceCollection = getUniqueFromDictionary(questionReferencesDictionary, r);\r\n\r\n if (!_.isEmpty(referenceCollection)) {\r\n refItem = _.find(referenceCollection, function (refCollectoinItem) {\r\n return refCollectoinItem.RepeatNumber === repeatNr && refCollectoinItem.ParentRepeatNumber === parentRepeatNr;\r\n });\r\n\r\n if (!refItem) {\r\n refItem = _.find(referenceCollection, function (refCollectoinItem) {\r\n return refCollectoinItem.RepeatNumber === parentRepeatNr && refCollectoinItem.ParentRepeatNumber === null;\r\n });\r\n }\r\n\r\n if (!refItem && (repeatNr > 0 || parentRepeatNr > 0) && referenceCollection.length == 1) {\r\n refItem = { ...referenceCollection[0], RepeatNumber: repeatNr, ParentRepeatNumber: parentRepeatNr };\r\n }\r\n }\r\n }\r\n\r\n map.references[r] = refItem ?? null;\r\n });\r\n }\r\n\r\n return map;\r\n};\r\n\r\nconst getUniqueFromDictionary = (questionReferencesDictionary, refKey) => {\r\n var keys = _.filter(Object.keys(questionReferencesDictionary), (key) => {\r\n var ref = key.split(\"||\")[0];\r\n return ref === refKey;\r\n });\r\n\r\n if (_.isEmpty(keys)) return null;\r\n\r\n let refCollection = [];\r\n\r\n _.forEach(keys, function (key) {\r\n var qReferences = questionReferencesDictionary[key];\r\n\r\n if (!_.isEmpty(qReferences)) {\r\n _.forEach(qReferences, (qRef) => {\r\n var found = _.find(refCollection, function (refCollectoinItem) {\r\n return refCollectoinItem.RepeatNumber === qRef.RepeatNumber && refCollectoinItem.ParentRepeatNumber === qRef.ParentRepeatNumber;\r\n });\r\n\r\n if (!found) refCollection.push(qRef);\r\n });\r\n }\r\n });\r\n\r\n return refCollection;\r\n};\r\n\r\nexport const parseRererences = (text, questionRefMap, repeatNumber, parentRepeatNumber, sectionReferenceName) => {\r\n let qRefs = text.match(_contextVariableREGEX);\r\n\r\n if (qRefs) {\r\n qRefs.forEach((ref) => {\r\n var refVal = calculateRef(ref, questionRefMap, repeatNumber, parentRepeatNumber, sectionReferenceName);\r\n text = text.replace(ref, refVal);\r\n });\r\n }\r\n\r\n return text;\r\n};\r\n\r\nconst calculateRef = (ref, questionRefMap, repeatNumber, parentRepeatNumber, sectionReferenceName) => {\r\n if (ref.match(_sectionRepeatNrREGEX)) return repeatNumber === 0 && parentRepeatNumber !== null ? parentRepeatNumber.toString() : repeatNumber.toString();\r\n\r\n let mapKey = trimReference(ref);\r\n let txtRpl = \"n/a\";\r\n\r\n if (questionRefMap && mapKey in questionRefMap) {\r\n var answersContainer = questionRefMap[mapKey];\r\n let answersFound = false;\r\n answersFound = answersContainer && answersContainer.RepeatNumber === repeatNumber && answersContainer.ParentRepeatNumber === parentRepeatNumber;\r\n\r\n //sectionReferenceName = sectionReferenceName != null ? sectionReferenceName.trim() : sectionReferenceName;\r\n if (!answersFound) answersFound = answersContainer && answersContainer.RepeatNumber === parentRepeatNumber && answersContainer.ParentRepeatNumber === null;\r\n\r\n if (answersContainer && ref.match(_datePreviousQuestionnaireReferenceREGEX)) answersFound = true;\r\n\r\n if (answersFound) {\r\n if (answersContainer.Answers) {\r\n let cascadingLines = extractCascadingLines(ref);\r\n txtRpl = formatAnswers(answersContainer.Answers, cascadingLines);\r\n } else if (answersContainer.MultipleChoiceAnswers) {\r\n txtRpl = formatAnswersMC(answersContainer.MultipleChoiceAnswers);\r\n }\r\n }\r\n }\r\n\r\n return txtRpl;\r\n};\r\n\r\nexport const trimReference = (str) => {\r\n let trimed = str.replace(\"{{\", \"\").replace(\"}}\", \"\");\r\n trimed = trimed.replace(_cascadingLinesREGEX, \"\");\r\n\r\n return trimed.trim().toLowerCase();\r\n};\r\n\r\nexport const extractCascadingLines = (ref) => {\r\n let trimed = ref.replace(\"{{\", \"\").replace(\"}}\", \"\");\r\n trimed = trimed.trim().toLowerCase();\r\n\r\n let match = trimed.match(_cascadingLinesREGEX);\r\n\r\n if (match && match.length) {\r\n let brackets = match[0];\r\n let digits = brackets.match(/\\d+/g);\r\n\r\n if (digits && digits.length) {\r\n let digitsArray = [];\r\n digits.forEach((d) => {\r\n var zIndexLine = parseInt(d, 10);\r\n if (!isNaN(zIndexLine) && zIndexLine > 0) digitsArray.push(zIndexLine);\r\n });\r\n\r\n return digitsArray;\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const formatAnswers = (answers, cascadingLines) => {\r\n let isCascading = _.some(answers, (x) => !_.isEmpty(x.CascadingListAnswerValue) || !_.isEmpty(x.AnswerValue.value));\r\n if (cascadingLines) answers = _.filter(answers, (x) => _.includes(cascadingLines, x.Order));\r\n\r\n let answer = \"\";\r\n\r\n if (isCascading) {\r\n if (answers.length === 1) {\r\n let answerValue = !_.isEmpty(answers[0].AnswerValue.value) ? answers[0].AnswerValue.value : answers[0].AnswerValue;\r\n answer = answer + ` ${answerValue}`;\r\n } else {\r\n _.orderBy(answers, \"Order\").forEach((a) => {\r\n let answerValue = _.isObjectLike(a.AnswerValue) ? a.AnswerValue.value : a.AnswerValue;\r\n answer = answer + `
We would like to know how good or bad your health is TODAY.
\",\r\n HealthSliderLine2: \"The scale is numbered from 0 to 100.
\",\r\n HealthSliderLine3:\r\n \"
100 means the best health you can imagine.
0 means the worst health you can imagine.
Please click on the scale to indicate how your health is TODAY.
\",\r\n HealthSliderWorstHealth: \"The worst health you can image\",\r\n HealthSliderYouHealthToday: \"YOUR HEALTH TODAY\",\r\n};\r\n\r\nconst healthSliderNL = {\r\n HealthSliderBestHealth: \"De beste gezondheid die u zich kunt voorstellen\",\r\n HealthSliderLine1: \"We willen weten hoe goed of slecht uw gezondheid VANDAAG is.
\",\r\n HealthSliderLine2: \"Deze meetschaal loopt van 0 tot 100.
\",\r\n HealthSliderLine3:\r\n \"100 staat voor de beste gezondheid die u zich kunt voorstellen.
0 staat voor de slechtste gezondheid die u zich kunt voorstellen.
Klik op de meetschaal om aan te geven hoe uw gezondheid VANDAAG is.
\",\r\n HealthSliderWorstHealth: \"De slechtste gezondheid die u zich kunt voorstellen\",\r\n HealthSliderYouHealthToday: \"UW GEZONDHEID VANDAAG\",\r\n};\r\n\r\nconst healthSliderIT = {\r\n HealthSliderBestHealth: \"Il miglior stato di salute che tu possa immaginare.\",\r\n HealthSliderLine1: \"Vorremmo sapere quanto è buona o cattiva la tua salute OGGI.
\",\r\n HealthSliderLine2: \"La scala è numerata da 0 a 100.
\",\r\n HealthSliderLine3:\r\n \"
100 indica il miglior stato di salute che puoi immaginare.
0 indica il peggior stato di salute che puoi immaginare.
fai clic su un punto della scala per indicare com'è il tuo stato di salute OGGI
\",\r\n HealthSliderWorstHealth:\r\n \"Il peggior stato di salute che tu possa immaginare. La peggior salute che tu possa immaginare\",\r\n HealthSliderYouHealthToday: \"LA TUA SALUTE OGGI\",\r\n};\r\n\r\nconst healthSliderFR = {\r\n HealthSliderBestHealth: \"Le meilleur état de santé que vous puissiez imaginer\",\r\n HealthSliderLine1: \"Nous aimerions savoir à quel point votre état de santé est bon ou mauvais AUJOURD'HUI.
\",\r\n HealthSliderLine2: \"L'échelle s'etend de 0 à 100.
\",\r\n HealthSliderLine3:\r\n \"
100 signifie le meilleur état de santé que vous puissiez imaginer.
0 signifie le pire état de santé que vous puissiez imaginer.
Veuillez cliquer sur l'échelle pour indiquer votre état de santé AUJOURD'HUI.
\",\r\n HealthSliderWorstHealth: \"Le plus mauvais état de santé que vous puissiez imaginer\",\r\n HealthSliderYouHealthToday: \"VOTRE ETAT DE SANTE AUJOURD'HUI\",\r\n};\r\n\r\nconst healthSliderDE = {\r\n HealthSliderBestHealth: \"Die beste Gesundheit, die Sie sich vorstellen können\",\r\n HealthSliderLine1: \"Wir würden gerne wissen, wie gut oder schlecht es Ihnen HEUTE geht.
\",\r\n HealthSliderLine2: \"Die Skala reicht von 0 bis 100.
\",\r\n HealthSliderLine3:\r\n \"
100 bedeutet die beste Gesundheit, die Sie sich vorstellen können.
0 bedeutet die schlechteste Gesundheit, die Sie sich vorstellen können.
Klicken Sie auf die Skala, um anzugeben, wie Ihr Gesundheitszustand HEUTE ist.
\",\r\n HealthSliderWorstHealth: \"Die schlechteste Gesundheit, die Sie sich vorstellen können\",\r\n HealthSliderYouHealthToday: \"IHRE GESUNDHEIT HEUTE\",\r\n};\r\n\r\nconst latencyEN = [\r\n { text: \"Seconds\", value: \"1\" },\r\n { text: \"Minutes\", value: \"2\" },\r\n { text: \"Hours\", value: \"3\" },\r\n { text: \"Days\", value: \"4\" },\r\n { text: \"Weeks\", value: \"5\" },\r\n { text: \"Months\", value: \"6\" },\r\n { text: \"Years\", value: \"7\" },\r\n];\r\n\r\nconst latencyNL = [\r\n { text: \"Seconden\", value: \"1\" },\r\n { text: \"Minuten\", value: \"2\" },\r\n { text: \"Uur\", value: \"3\" },\r\n { text: \"Dagen\", value: \"4\" },\r\n { text: \"Weken\", value: \"5\" },\r\n { text: \"Maanden\", value: \"6\" },\r\n { text: \"Jaren\", value: \"7\" },\r\n];\r\n\r\nconst latencyIT = [\r\n { text: \"Secondi\", value: \"1\" },\r\n { text: \"Minuti\", value: \"2\" },\r\n { text: \"Ore\", value: \"3\" },\r\n { text: \"Giorni\", value: \"4\" },\r\n { text: \"Settimane\", value: \"5\" },\r\n { text: \"Mesi\", value: \"6\" },\r\n { text: \"Anni\", value: \"7\" },\r\n];\r\n\r\nconst latencyFR = [\r\n { text: \"Secondes\", value: \"1\" },\r\n { text: \"Minutes\", value: \"2\" },\r\n { text: \"Heures\", value: \"3\" },\r\n { text: \"Jours\", value: \"4\" },\r\n { text: \"Semaines\", value: \"5\" },\r\n { text: \"Mois\", value: \"6\" },\r\n { text: \"Années\", value: \"7\" },\r\n];\r\n\r\nconst latencyDE = [\r\n { text: \"Sekunden\", value: \"1\" },\r\n { text: \"Minuten\", value: \"2\" },\r\n { text: \"Stunden\", value: \"3\" },\r\n { text: \"Tage\", value: \"4\" },\r\n { text: \"Wochen\", value: \"5\" },\r\n { text: \"Monate\", value: \"6\" },\r\n { text: \"Jahre\", value: \"7\" },\r\n];\r\n\r\nconst cascadingPopUpEN = {\r\n Title: \"Specify drug use\",\r\n Description:\r\n \"You can select the medicine below. As you start typing the name of the medicine, the choice narrows. If the medicine you have used is not listed, you can type the name.\",\r\n NoResults: \"No results found\",\r\n Search: \"Search\",\r\n};\r\nconst cascadingPopUpNL = {\r\n Title: \"Specificeer geneesmiddelgebruik\",\r\n Description:\r\n \"U kunt het geneesmiddel hieronder selecteren. Als u begint met typen van de naam van het geneesmiddel, wordt de keuze kleiner. Staat het geneesmiddel dat u gebruikt heeft er niet bij, dan kunt u de naam intypen en vervolgens op OK klikken.\",\r\n NoResults: \"Geen suggesties gevonden\",\r\n Search: \"Zoeken\",\r\n};\r\n\r\nconst cascadingPopUpIT = {\r\n Title: \"Indicare l'uso di farmaci\",\r\n Description:\r\n \"Puoi selezionare il nome del farmaco scorrendo il menù a tendina. Inizia a digitare il nome del farmaco per restringere la tua ricerca. Se il farmaco utilizzato non è presente nell'elenco, puoi inserirlo come testo libero.\",\r\n NoResults: \"Nessun risultato trovato\",\r\n Search: \"Cerca\",\r\n};\r\n\r\nconst cascadingPopUpFR = {\r\n Title: \"Préciser le traitement utilisé\",\r\n Description:\r\n \"Vous pouvez sélectionner le traitement ci-dessous. Lorsque vous commencez à saisir le nom du médicament, le choix se précise. Si le médicament que vous avez pris n'est pas dans la liste, vous pouvez le saisir.\",\r\n NoResults: \"Aucun résultat trouvé\",\r\n Search: \"Chercher\",\r\n};\r\n\r\nconst cascadingPopUpDE = {\r\n Title: \"Medikamenteneinnahme spezifizieren\",\r\n Description:\r\n \"Sie können das Medikament nachfolgend auswählen. Wenn Sie beginnen, den Namen des Medikaments einzugeben, wird die Auswahl kleiner. Wenn das Medikament, das Sie eingenommen haben, nicht dabei ist, können Sie den Namen eingeben.\",\r\n NoResults: \"Keine Resultate gefunden\",\r\n Search: \"Suchen\",\r\n};\r\n\r\nconst openQuestionCharactersLeftEN = {\r\n CharactersRemaining: \"You have {0} characters left\",\r\n};\r\nconst openQuestionCharactersLeftNL = {\r\n CharactersRemaining: \"U heeft nog {0} tekens over\",\r\n};\r\n\r\nconst openQuestionCharactersLeftIT = {\r\n CharactersRemaining: \"Hai {0} caratteri rimanenti\",\r\n};\r\n\r\nconst openQuestionCharactersLeftFR = {\r\n CharactersRemaining: \"Il reste {0} caractère(s)\",\r\n};\r\n\r\nconst openQuestionCharactersLeftDE = {\r\n CharactersRemaining: \"Sie haben noch {0} Zeichen übrig\",\r\n};\r\n\r\nconst fileUploadEN = {\r\n DefaulDrugHeretMsg: \"Drag your file (s) here or click to upload\",\r\n AllowedTypesMsg: \"Not all files are uploaded, the following files are accepted {0}\",\r\n FileSizeMax: \"File is too large, maximum allowed {0}.\",\r\n};\r\nconst fileUploadNL = {\r\n DefaulDrugHeretMsg: \"Versleep hier uw bestand(en) of klik om te uploaden\",\r\n AllowedTypesMsg:\r\n \"Een of meer bestanden worden niet ondersteund. Deze worden niet geupload als u verder gaat. Toegestaan: {0}\",\r\n FileSizeMax: \"Bestand is te groot, maximaal toegestaan {0}.\",\r\n};\r\n\r\nconst fileUploadIT = {\r\n DefaulDrugHeretMsg: \"Trascina qui i tuoi file o clicca per caricarli\",\r\n AllowedTypesMsg: \"Non tutti i file sono caricati, I seguenti file sono accettati: {0}\",\r\n FileSizeMax: \"Il file è troppo grande, dimensione massima consentita {0}.\",\r\n};\r\n\r\nconst fileUploadFR = {\r\n DefaulDrugHeretMsg: \"Faites glisser votre (vos) fichier(s) ou cliquer sur télécharger\",\r\n AllowedTypesMsg: \"Tous les fichiers ne sont pas téléchargés, les fichiers suivants sont acceptés {0}\",\r\n FileSizeMax: \"Le fichier est trop volumineux, la taille maximale autorisée est {0}.\",\r\n};\r\n\r\nconst fileUploadDE = {\r\n DefaulDrugHeretMsg: \"Ziehen Sie Ihre Datei(en) hierher oder klicken Sie zum Hochladen\",\r\n AllowedTypesMsg: \"Es wurden nicht alle Dateien hochgeladen, die folgenden Dateien wurden akzeptiert {0}\",\r\n FileSizeMax: \"Datei ist zu groß, maximal erlaubt {0}.\",\r\n};\r\n\r\nconst validationErrorMessageEN = {\r\n QuestionRequiredMessage: \"You have not yet answered this question.\",\r\n BirthdayConfirmClicked: \"You must confirm your age.\",\r\n SendGridMailInvalid: \"The email address may not be correct, please check it carefully.\",\r\n SectionRequiredMesaage: \"This section is mandatory.\",\r\n ValidationSummaryMessage: \"Not all fields are filled in correctly. Please see the messages.\",\r\n FormVerificationCodeMissing: \"You must enter Verification code\",\r\n CodeIncorrect: \"Code Incorrect.\",\r\n EmailCodeVerifyMsgNotDelivered:\r\n \"We have sent you the verification code but it may have been declined. Please check your email address and try again if you have not received the code.\",\r\n};\r\n\r\nconst validationErrorMessageNL = {\r\n QuestionRequiredMessage: \"U heeft deze vraag nog niet ingevuld.\",\r\n BirthdayConfirmClicked: \"U dient uw leeftijd te bevestigen.\",\r\n SendGridMailInvalid: \"Het emailadres is mogelijk niet correct, controleer deze alstublieft goed.\",\r\n SectionRequiredMesaage: \"Deze sectie is verplicht.\",\r\n ValidationSummaryMessage: \"Niet alle velden zijn correct ingevuld. Hierboven kunt u zien om welke velden het gaat.\",\r\n FormVerificationCodeMissing: \"Vul eerst de verificatiecode in\",\r\n CodeIncorrect: \"De verificatiecode is onjuist.\",\r\n EmailCodeVerifyMsgNotDelivered:\r\n \"Wij hebben de verificatie code naar je verzonden maar deze is mogelijk geweigerd. Controleer je e-mailadres en probeer het opnieuw als je de code niet hebt ontvangen.\",\r\n};\r\n\r\nconst validationErrorMessageIT = {\r\n QuestionRequiredMessage: \"Non hai ancora risposto a questa domanda.\",\r\n BirthdayConfirmClicked: \"Conferma la tua età .\",\r\n SendGridMailInvalid: \"L'indirizzo e-mail potrebbe non essere corretto, controllarlo attentamente.\",\r\n SectionRequiredMesaage: \"Questa sezione è obbligatoria.\",\r\n ValidationSummaryMessage:\r\n \"Almeno un campo non è stato compilato correttamente. Per favore ricontrolla che tutti i campi obbligatori siano stati compilati.\",\r\n FormVerificationCodeMissing: \"Devi inserire il codice di verifica\",\r\n CodeIncorrect: \"Codice errato.\",\r\n EmailCodeVerifyMsgNotDelivered:\r\n \"We have sent you the verification code but it may have been declined. Please check your email address and try again if you have not received the code.\",\r\n};\r\n\r\nconst validationErrorMessageFR = {\r\n QuestionRequiredMessage: \"Vous n'avez pas encore répondu à cette question.\",\r\n BirthdayConfirmClicked: \"Vous devez confirmer votre âge.\",\r\n SendGridMailInvalid: \"L'adresse e-mail n'est peut-être pas correcte, veuillez la vérifier attentivement.\",\r\n SectionRequiredMesaage: \"Cette section est obligatoire.\",\r\n ValidationSummaryMessage:\r\n \"Tous les champs ne sont pas renseignés correctement. Merci de lire les messages d'erreurs.\",\r\n FormVerificationCodeMissing: \"Vous devez entrer le code de vérification\",\r\n CodeIncorrect: \"Code incorrect.\",\r\n EmailCodeVerifyMsgNotDelivered:\r\n \"We have sent you the verification code but it may have been declined. Please check your email address and try again if you have not received the code.\",\r\n};\r\n\r\nconst validationErrorMessageDE = {\r\n QuestionRequiredMessage: \"Sie haben diese Frage noch nicht beantwortet.\",\r\n BirthdayConfirmClicked: \"Sie müssen Ihr Alter bestätigen.\",\r\n SendGridMailInvalid: \"Die E-Mail-Adresse ist möglicherweise nicht korrekt, bitte überprüfen Sie sie sorgfältig.\",\r\n SectionRequiredMesaage: \"Dieser Teil ist obligatorisch.\",\r\n ValidationSummaryMessage: \"Nicht alle Felder wurden korrekt ausgefüllt. Siehe Meldungen.\",\r\n FormVerificationCodeMissing: \"Sie müssen den Bestätigungscode eingeben\",\r\n CodeIncorrect: \"Code falsch.\",\r\n EmailCodeVerifyMsgNotDelivered:\r\n \"We have sent you the verification code but it may have been declined. Please check your email address and try again if you have not received the code.\",\r\n};\r\n\r\nconst commonMessageEN = {\r\n Day: \"Day\",\r\n Month: \"Month\",\r\n Year: \"Year\",\r\n DownloadQuestionnaire: \"Download questionnaire\",\r\n DownloadQuestionnaireRF: \"Download questionnaire\",\r\n ButtonNext: \"Next\",\r\n ButtonBack: \"Back\",\r\n ButtonFinish: \"Finish\",\r\n ButtonSubmit: \"Submit\",\r\n AdditionalCheck: \"As additional check please fill in the characters from the image\",\r\n DidntMatch: \"The characters did not match, please try again.\",\r\n RefreshNote: \"(Note: If you cannot read the numbers in the image, click on image to reload to generate a new one.)\",\r\n ConfirmPassword: \"Confirm password\",\r\n NewVerificatoinCodeSent: \"New code sent to your email address\",\r\n EnterEmailAddressAgain: \"Please enter your email address again\",\r\n};\r\n\r\nconst commonMessageNL = {\r\n Day: \"Dag\",\r\n Month: \"Maand\",\r\n Year: \"Jaar\",\r\n DownloadQuestionnaire: \"Download vragenlijst\",\r\n DownloadQuestionnaireRF: \"Download formulier\",\r\n ButtonNext: \"Volgende\",\r\n ButtonBack: \"Vorige\",\r\n ButtonFinish: \"Verzenden\",\r\n ButtonSubmit: \"Controleren\",\r\n AdditionalCheck: \"Neem als extra controle de tekens uit onderstaande afbeelding over\",\r\n DidntMatch: \"De tekens kwamen niet overeen. Probeer het alstublieft nogmaals.\",\r\n RefreshNote: \"(Opmerking: als u de cijfers niet kunt lezen klik dan op de afbeelding voor een nieuwe cijferreeks.)\",\r\n ConfirmPassword: \"Wachtwoord bevestigen\",\r\n NewVerificatoinCodeSent: \"Er is een nieuwe verificatiecode verzonden\",\r\n EnterEmailAddressAgain: \"Voer uw e-mailadres opnieuw in\",\r\n};\r\n\r\nconst commonMessageIT = {\r\n Day: \"Giorno\",\r\n Month: \"Mese\",\r\n Year: \"Anno\",\r\n DownloadQuestionnaire: \"Scarica il tuo questionario\",\r\n DownloadQuestionnaireRF: \"Scarica il tuo questionario\",\r\n ButtonNext: \"Avanti\",\r\n ButtonBack: \"Indietro\",\r\n ButtonFinish: \"Fine\",\r\n ButtonSubmit: \"Inviare\",\r\n AdditionalCheck: \"Come controllo aggiuntivo, inserire i caratteri presenti nell'immagine\",\r\n DidntMatch: \"I caratteri non corrispondono, riprovare.\",\r\n RefreshNote:\r\n \"(Nota: se non riesci a leggere i numeri nell'immagine, clicca sull'immagine per ricaricarla e generarne una nuova.)\",\r\n ConfirmPassword: \"Conferma password\",\r\n NewVerificatoinCodeSent: \"Nuovo codice inviato al tuo indirizzo email\",\r\n EnterEmailAddressAgain: \"Inserisci di nuovo il tuo indirizzo email\",\r\n};\r\n\r\nconst commonMessageFR = {\r\n Day: \"Jour\",\r\n Month: \"Mois\",\r\n Year: \"An\",\r\n DownloadQuestionnaire: \"Télécharger le questionnaire\",\r\n DownloadQuestionnaireRF: \"Télécharger le questionnaire\",\r\n ButtonNext: \"Suivant\",\r\n ButtonBack: \"Précédent\",\r\n ButtonFinish: \"Terminer\",\r\n ButtonSubmit: \"Envoyer\",\r\n AdditionalCheck: \"En complément, veuillez compléter les caractères de l'image\",\r\n DidntMatch: \"Les caractères ne correspondant pas, veuillez réessayer.\",\r\n RefreshNote:\r\n \"(Remarque: si vous ne pouvez pas lire les nombres dans l'image, cliquez sur l'image pour en générer une nouvelle.)\",\r\n ConfirmPassword: \"Confirmez le mot de passe\",\r\n NewVerificatoinCodeSent: \"Nouveau code envoyé à votre adresse e-mail\",\r\n EnterEmailAddressAgain: \"Veuillez saisir à nouveau votre adresse e-mail\",\r\n};\r\n\r\nconst commonMessageDE = {\r\n Day: \"Tag\",\r\n Month: \"Monat\",\r\n Year: \"Jahr\",\r\n DownloadQuestionnaire: \"Fragebogen herunterladen\",\r\n DownloadQuestionnaireRF: \"Fragebogen herunterladen\",\r\n ButtonNext: \"Weiter\",\r\n ButtonBack: \"Zurück\",\r\n ButtonFinish: \"Vervollständigen\",\r\n ButtonSubmit: \"Versenden\",\r\n AdditionalCheck: \"Bitte geben Sie die Zeichen aus dem Bild als zusätzliche Kontrolle ein\",\r\n DidntMatch: \"Die Zeichen stimmten nicht überein, bitte versuchen Sie es erneut.\",\r\n RefreshNote:\r\n \"(Hinweis: Wenn Sie die Zahlen im Bild nicht lesen können, klicken Sie auf „Bild neu laden“, um ein neues Bild zu erzeugen).\",\r\n ConfirmPassword: \"Passwort bestätigen\",\r\n NewVerificatoinCodeSent: \"Neuer Code an Ihre E-Mail-Adresse gesendet\",\r\n EnterEmailAddressAgain: \"Bitte geben Sie Ihre E-Mail-Adresse erneut ein\",\r\n};\r\n\r\nconst resources = {\r\n \"nl-NL\": {\r\n months: monthNL,\r\n inviteFriend: inviteFriendNL,\r\n customBirthday: customBirthdayNL,\r\n healthSlider: healthSliderNL,\r\n latency: latencyNL,\r\n cascadingQuestionPopUp: cascadingPopUpNL,\r\n openQuestionCharactersLeft: openQuestionCharactersLeftNL,\r\n validationErrorMessage: validationErrorMessageNL,\r\n fileUpload: fileUploadNL,\r\n commonMessage: commonMessageNL,\r\n },\r\n \"en-GB\": {\r\n months: monthEN,\r\n inviteFriend: inviteFriendEN,\r\n customBirthday: customBirthdayEN,\r\n healthSlider: healthSliderEN,\r\n latency: latencyEN,\r\n cascadingQuestionPopUp: cascadingPopUpEN,\r\n openQuestionCharactersLeft: openQuestionCharactersLeftEN,\r\n validationErrorMessage: validationErrorMessageEN,\r\n fileUpload: fileUploadEN,\r\n commonMessage: commonMessageEN,\r\n },\r\n \"it-IT\": {\r\n months: monthIT,\r\n inviteFriend: inviteFriendIT,\r\n customBirthday: customBirthdayIT,\r\n healthSlider: healthSliderIT,\r\n latency: latencyIT,\r\n cascadingQuestionPopUp: cascadingPopUpIT,\r\n openQuestionCharactersLeft: openQuestionCharactersLeftIT,\r\n validationErrorMessage: validationErrorMessageIT,\r\n fileUpload: fileUploadIT,\r\n commonMessage: commonMessageIT,\r\n },\r\n \"fr-FR\": {\r\n months: monthFR,\r\n inviteFriend: inviteFriendFR,\r\n customBirthday: customBirthdayFR,\r\n healthSlider: healthSliderFR,\r\n latency: latencyFR,\r\n cascadingQuestionPopUp: cascadingPopUpFR,\r\n openQuestionCharactersLeft: openQuestionCharactersLeftFR,\r\n validationErrorMessage: validationErrorMessageFR,\r\n fileUpload: fileUploadFR,\r\n commonMessage: commonMessageFR,\r\n },\r\n \"de-DE\": {\r\n months: monthDE,\r\n inviteFriend: inviteFriendDE,\r\n customBirthday: customBirthdayDE,\r\n healthSlider: healthSliderDE,\r\n latency: latencyDE,\r\n cascadingQuestionPopUp: cascadingPopUpDE,\r\n openQuestionCharactersLeft: openQuestionCharactersLeftDE,\r\n validationErrorMessage: validationErrorMessageDE,\r\n fileUpload: fileUploadDE,\r\n commonMessage: commonMessageDE,\r\n },\r\n};\r\n\r\nexport default resources;\r\n","export const EMAIL_VERIFY_BY_CODE = \"EMAIL_VERIFY_BY_CODE\";\r\n\r\nexport default function setEmailVerifyByCode(emailAddress, isSent) {\r\n return {\r\n type: EMAIL_VERIFY_BY_CODE,\r\n payload: { email: emailAddress, isSent },\r\n };\r\n}\r\n","export const SET_HONEYPOT = \"SET_HONEYPOT\";\r\n\r\nexport default function setHoneypot(honeypot) {\r\n return {\r\n type: SET_HONEYPOT,\r\n payload: honeypot,\r\n };\r\n}","export const ADD_REPEAT = \"ADD_REPEAT\";\r\n\r\nlet addRepeat = (section, parentRepeatId, parentRepeatNumber) => (dispatch, getState) => {\r\n let { selectedPage, previousQuestions, cultureCode } = getState().userQuestionnaire;\r\n\r\n dispatch({\r\n type: ADD_REPEAT,\r\n payload: { section, parentRepeatId, parentRepeatNumber, selectedPage, previousQuestions, cultureCode },\r\n });\r\n};\r\n\r\nexport default addRepeat;\r\n","import { updateOrInsertThenDispatch } from \"../../assets/questionnaire/Utils/questionReferencesUtil\";\r\nimport _ from \"lodash\";\r\nexport const MODIFY_MULTIPLE_CHOICE_OPTION = \"MODIFY_MULTIPLE_CHOICE_OPTION\";\r\n\r\nlet modifyMultipleChoiceOption =\r\n (\r\n section,\r\n repeatId,\r\n questionId,\r\n option,\r\n checked,\r\n isExclusive,\r\n archived,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n fullName,\r\n parentSection\r\n ) =>\r\n (dispatch, getState) => {\r\n let { selectedPage, cultureCode } = getState().userQuestionnaire;\r\n let previousArchivedValue = getState().sections[section.ID].repeats[repeatId].archived;\r\n\r\n dispatch({\r\n type: MODIFY_MULTIPLE_CHOICE_OPTION,\r\n payload: {\r\n section,\r\n repeatId,\r\n questionId,\r\n option,\r\n checked,\r\n isExclusive,\r\n archived,\r\n cultureCode,\r\n selectedPage,\r\n previousArchivedValue,\r\n parentSection,\r\n },\r\n });\r\n\r\n let qRefMap = getState().userQuestionnaire.questionReferences;\r\n\r\n //check if need to dispatch update questionReference\r\n let keys = _.filter(Object.keys(qRefMap), (key) => {\r\n var ref = key.split(\"||\")[0];\r\n return ref === fullName;\r\n });\r\n\r\n if (!_.isEmpty(keys))\r\n updateOrInsertThenDispatch(\r\n dispatch,\r\n qRefMap,\r\n keys,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n fullName,\r\n [],\r\n cultureCode,\r\n option,\r\n checked,\r\n isExclusive,\r\n archived\r\n );\r\n };\r\n\r\nexport default modifyMultipleChoiceOption;\r\n","import { updateOrInsertThenDispatch } from \"../../assets/questionnaire/Utils/questionReferencesUtil\";\r\nimport _ from \"lodash\";\r\nexport const MODIFY_MULTIPLE_CHOICE_ANSWERS = \"MODIFY_MULTIPLE_CHOICE_ANSWERS\";\r\n\r\nlet modifyMultipleChoiceAnswers =\r\n (\r\n section,\r\n repeatId,\r\n questionId,\r\n option,\r\n answers,\r\n isExclusive,\r\n archived,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n fullName,\r\n parentSection\r\n ) =>\r\n (dispatch, getState) => {\r\n let { selectedPage, cultureCode } = getState().userQuestionnaire;\r\n let previousArchivedValue = getState().sections[section.ID].repeats[repeatId].archived;\r\n\r\n dispatch({\r\n type: MODIFY_MULTIPLE_CHOICE_ANSWERS,\r\n payload: {\r\n section,\r\n repeatId,\r\n questionId,\r\n option,\r\n answers,\r\n isExclusive,\r\n archived,\r\n cultureCode,\r\n selectedPage,\r\n previousArchivedValue,\r\n parentSection,\r\n },\r\n });\r\n\r\n let qRefMap = getState().userQuestionnaire.questionReferences;\r\n\r\n //check if need to dispatch update questionReference\r\n let keys = _.filter(Object.keys(qRefMap), (key) => {\r\n var ref = key.split(\"||\")[0];\r\n return ref === fullName;\r\n });\r\n\r\n if (!_.isEmpty(keys))\r\n updateOrInsertThenDispatch(\r\n dispatch,\r\n qRefMap,\r\n keys,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n fullName,\r\n answers,\r\n cultureCode,\r\n option,\r\n true,\r\n isExclusive,\r\n archived\r\n );\r\n };\r\n\r\nexport default modifyMultipleChoiceAnswers;\r\n","import { updateOrInsertThenDispatch } from \"../../assets/questionnaire/Utils/questionReferencesUtil\";\r\nimport _ from \"lodash\";\r\nexport const MODIFY_ANSWERS = \"MODIFY_ANSWERS\";\r\n\r\nlet modifyAnswers =\r\n (sectionId, repeatId, question, answers, repeatNumber, parentRepeatNumber, fullName) => (dispatch, getState) => {\r\n let { selectedPage, cultureCode } = getState().userQuestionnaire;\r\n dispatch({\r\n type: MODIFY_ANSWERS,\r\n payload: { sectionId, repeatId, question, answers, parentRepeatNumber, selectedPage },\r\n });\r\n\r\n let qRefMap = getState().userQuestionnaire.questionReferences;\r\n\r\n //check if need to dispatch update questionReference\r\n let keys = _.filter(Object.keys(qRefMap), (key) => {\r\n var ref = key.split(\"||\")[0];\r\n return ref === fullName;\r\n });\r\n\r\n if (!_.isEmpty(keys))\r\n updateOrInsertThenDispatch(\r\n dispatch,\r\n qRefMap,\r\n keys,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n fullName,\r\n answers,\r\n cultureCode\r\n );\r\n };\r\n\r\nexport default modifyAnswers;\r\n","export const DELETE_REQUIRED_ITEM = \"DELETE_REQUIRED_ITEM\";\r\n\r\nexport default function deleteRequiredItem(questionId, repeatId) {\r\n return {\r\n type: DELETE_REQUIRED_ITEM,\r\n payload: { questionId, repeatId },\r\n };\r\n}\r\n","export const SET_PREVIOUS_SELECTED_CATEGORIES_TO_DEFAULT_VALUE = \"SET_PREVIOUS_SELECTED_CATEGORIES_TO_DEFAULT_VALUE\";\r\nexport const ADD_OPTION_CATEGORIES = \"ADD_OPTION_CATEGORIES\";\r\nexport const SET_OPTION_CATEGORIES_TO_DEFAULT_VALUE = \"SET_OPTION_CATEGORIES_TO_DEFAULT_VALUE\";\r\n\r\nlet onTextCategoriesChange = (selectedOption, checked, options, answers, exclusive) => (dispatch, getState) => {\r\n let { selectedPage } = getState().userQuestionnaire;\r\n let sectionId = selectedPage.id;\r\n let sectionSortOrder = selectedPage.sortOrder;\r\n\r\n if (checked) {\r\n if (exclusive) {\r\n dispatch({\r\n type: SET_PREVIOUS_SELECTED_CATEGORIES_TO_DEFAULT_VALUE,\r\n payload: { selectedOption, sectionId, checked, options, answers, exclusive },\r\n });\r\n }\r\n dispatch({\r\n type: ADD_OPTION_CATEGORIES,\r\n payload: { selectedOption, sectionId, sectionSortOrder },\r\n });\r\n } else {\r\n dispatch({\r\n type: SET_OPTION_CATEGORIES_TO_DEFAULT_VALUE,\r\n payload: { selectedOption, sectionId },\r\n });\r\n }\r\n};\r\n\r\nexport default onTextCategoriesChange;\r\n","export const SET_QUESTIONNAIRE_NAME = \"SET_QUESTIONNAIRE_NAME\";\r\n\r\nexport default function setQuestionnaireName(name) {\r\n return {\r\n type: SET_QUESTIONNAIRE_NAME,\r\n payload: name,\r\n };\r\n}\r\n","import api from \"../../assets/common/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\n\r\nexport const CHANGE_WEBSITE_CONTENT_UPLOADS = \"CHANGE_WEBSITE_CONTENT_UPLOADS\";\r\n\r\nexport const changeWebSiteContentUploads =\r\n (id, selectedFile, name, order, url, html, webContentType, deleted) => async (dispatch, getState) => {\r\n let { study } = getState();\r\n setLoading(true);\r\n let webContentId = id != null ? id : uuidv4();\r\n const formData = new FormData();\r\n formData.append(\"selectedFile\", selectedFile);\r\n formData.append(\"id\", webContentId);\r\n formData.append(\"webContentType\", webContentType);\r\n formData.append(\"name\", name);\r\n formData.append(\"value\", encodeURI(html));\r\n formData.append(\"order\", order);\r\n formData.append(\"url\", url);\r\n formData.append(\"deleted\", deleted);\r\n formData.append(\"studyId\", study.StudyId);\r\n formData.append(\"culture\", study.Culture);\r\n const config = {\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n },\r\n };\r\n await api\r\n .post(\"/study/ChangeWebSiteContentUplodas\", formData, config)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setLoading(false);\r\n if (response.data && response.data.success) {\r\n dispatch({\r\n type: CHANGE_WEBSITE_CONTENT_UPLOADS,\r\n payload: {\r\n id: webContentId,\r\n name: name,\r\n value: html,\r\n order: order,\r\n url: url,\r\n file: response.data.fileString,\r\n contentType: response.data.contentType,\r\n fileName: response.data.fileName,\r\n webContentType,\r\n culture: study.Culture,\r\n },\r\n });\r\n } else toast.error(\"Error while changing site content\");\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n toast.error(\"Error while changing site content\");\r\n });\r\n };\r\n","import api from \"../../assets/common/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\n\r\nexport const DELETE_WEBSITE_CONTENT_UPLOADS = \"DELETE_WEBSITE_CONTENT_UPLOADS\";\r\n\r\nexport const deleteWebSiteContentUploads = (id, contentType) => async (dispatch, getState) => {\r\n setLoading(true);\r\n await api\r\n .post(`/study/DeleteWebSiteContentUplodas?id=${id}`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setLoading(false);\r\n if (response.data && response.data.success) {\r\n dispatch({\r\n type: DELETE_WEBSITE_CONTENT_UPLOADS,\r\n payload: { id, contentType },\r\n });\r\n } else toast.error(\"Error while deleting site content\");\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n toast.error(\"Error while deleting site content\");\r\n });\r\n};\r\n","import api from \"../../assets/common/api/api\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\nexport const SET_TOOLBOX_DATA = \"SET_TOOLBOX_DATA\";\r\nexport const SET_STORY_DATA = \"SET_STORY_DATA\";\r\n\r\nexport const getWebSiteContentUploads = (webContentType) => async (dispatch, getState) => {\r\n setLoading(true);\r\n await api\r\n .get(`/study/GetWebSiteContentUploads?webContentType=${webContentType}`)\r\n .then((response) => {\r\n setLoading(false);\r\n if (response.status === 200) {\r\n setLoading(false);\r\n if (webContentType == 5) {\r\n dispatch({ type: SET_TOOLBOX_DATA, payload: response.data });\r\n }\r\n if (webContentType == 6) {\r\n dispatch({ type: SET_STORY_DATA, payload: response.data });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n });\r\n};\r\n","export const RESET_TEXT_CATEGORIES = \"RESET_TEXT_CATEGORIES\";\r\n\r\nlet resetTextCategories = (textCategoriesValues) => (dispatch, getState) => {\r\n let { selectedPage } = getState().userQuestionnaire;\r\n\r\n dispatch({\r\n type: RESET_TEXT_CATEGORIES,\r\n payload: {\r\n categoriesValues: textCategoriesValues,\r\n selectedPage,\r\n },\r\n });\r\n};\r\n\r\nexport default resetTextCategories;\r\n","export const CLEAR_ALL_ERROR_MSGS = \"CLEAR_ALL_ERROR_MSGS\";\r\n\r\nexport default function clearAllMessage() {\r\n return {\r\n type: CLEAR_ALL_ERROR_MSGS,\r\n payload: { },\r\n };\r\n}","export const ADD_ERROR_MSG = \"ADD_ERROR_MSG\";\r\n\r\nexport default function addErrorMessage(key, message) {\r\n return {\r\n type: ADD_ERROR_MSG,\r\n payload: { key, message },\r\n };\r\n}\r\n","export const SET_CULTURE_CODE = \"SET_CULTURE_CODE\";\r\n\r\nexport default function setCultureCode(id){\r\n return {\r\n type: SET_CULTURE_CODE,\r\n payload: id\r\n }\r\n}","export const SET_LAST_OPENED_PAGE_ID = \"SET_LAST_OPENED_PAGE_ID\";\r\n\r\nexport default function setLastOpenedPageId(id){\r\n return {\r\n type: SET_LAST_OPENED_PAGE_ID,\r\n payload: id\r\n }\r\n}","export const SET_CURRENT_DATE = \"SET_CURRENT_DATE\";\r\n\r\nexport default function setCurrentDate(date) {\r\n return {\r\n type: SET_CURRENT_DATE,\r\n payload: date,\r\n };\r\n}\r\n","export const SET_CATEGORIES_MAP = \"SET_CATEGORIES_MAP\";\r\n\r\nexport default function setCategoriesMap(categoriesMap) {\r\n return {\r\n type: SET_CATEGORIES_MAP,\r\n payload: categoriesMap,\r\n };\r\n}\r\n","export const SET_TEXT_CATEGORIES = \"SET_TEXT_CATEGORIES\";\r\n\r\nexport default function setTextCategories(textCategories) {\r\n return {\r\n type: SET_TEXT_CATEGORIES,\r\n payload: textCategories,\r\n };\r\n}\r\n","export const SET_NUMERIC_CATEGORIES = \"SET_NUMERIC_CATEGORIES\";\r\n\r\nexport default function setNumericCategories(numericCategories) {\r\n return {\r\n type: SET_NUMERIC_CATEGORIES,\r\n payload: numericCategories,\r\n };\r\n}\r\n","export const SET_SECTIONS_CONDITIONS = \"SET_SECTIONS_CONDITIONS\";\r\n\r\nexport default function setSectionsConditions(sectionsConditions) {\r\n return {\r\n type: SET_SECTIONS_CONDITIONS,\r\n payload: sectionsConditions,\r\n };\r\n}\r\n","export const SET_REDIRECTURL = \"SET_REDIRECTURL\";\r\n\r\nexport default function setRedirectUrl(url) {\r\n return {\r\n type: SET_REDIRECTURL,\r\n payload: url,\r\n };\r\n}","export const SET_HIGHLIGHTED_PAGES = \"SET_HIGHLIGHTED_PAGES\";\r\n\r\nexport default function setHighlightedPages(highlightedPages) {\r\n return {\r\n type: SET_HIGHLIGHTED_PAGES,\r\n payload: highlightedPages,\r\n };\r\n}\r\n","export const SET_ZINDEX_CATEGORIES = \"SET_ZINDEX_CATEGORIES\";\r\n\r\nexport default function setZIndexCategories(zIndexCategories) {\r\n return {\r\n type: SET_ZINDEX_CATEGORIES,\r\n payload: zIndexCategories,\r\n };\r\n}\r\n","export const SET_SHOW_PROGRESS_BAR = \"SET_SHOW_PROGRESS_BAR\";\r\n\r\nexport default function setShowProgressBar(showProgressBar) {\r\n return {\r\n type: SET_SHOW_PROGRESS_BAR,\r\n payload: showProgressBar,\r\n };\r\n}\r\n","export const SET_SHOULD_MODIFY_CATEGORIES = \"SET_SHOULD_MODIFY_CATEGORIES\";\r\n\r\nexport default function setShouldModifyCategories(shouldModifyCategories) {\r\n return {\r\n type: SET_SHOULD_MODIFY_CATEGORIES,\r\n payload: shouldModifyCategories,\r\n };\r\n}\r\n","export const ON_INIT_REPEAT_SECTION = \"ON_INIT_REPEAT_SECTION\";\r\n\r\nlet onInitRepeatSection = (section) => (dispatch, getState) => {\r\n let { selectedPage, previousMCAnswers } = getState().userQuestionnaire;\r\n let repeats = getState().sections[section.ID].repeats;\r\n\r\n dispatch({\r\n type: ON_INIT_REPEAT_SECTION,\r\n payload: { section, selectedPage, repeats, previousMCAnswers },\r\n });\r\n};\r\n\r\nexport default onInitRepeatSection;\r\n","import _ from \"lodash\";\r\nimport { validationRulesCommands, validationRulesRangeCommands } from \"./validationRules\";\r\nimport { defineDayMonthYear, getComponentTranslationsText } from \"../Utils/questionComponentUtil\";\r\nimport resources from \"../resources\";\r\nimport { PageNavigationENUM, TranslationKey } from \"../Enums\";\r\nimport { resolveValidationRuleValue } from \"../Utils/questionComponentUtil\";\r\nimport { trimReference, _contextVariableREGEX } from \"../Utils/questionReferencesUtil\";\r\nimport { ValidZIndexFirstLevel } from \"./customValidationRules\";\r\n\r\n/**\r\n *validate question answer by question validation rules and custom rules if defined\r\n * @param {array} questionRules question answers\r\n * @param {string} answers question answers\r\n * @param {string} currentDate application current date (this date is set in admin panel)\r\n * @param {bool} isRangeItem is range question (integer or date range question)\r\n * @param {array} customRules question custom rules\r\n * @param {string} cultureCode\r\n * @param {string} validationRulesReferences reference answers if refenece is define in the validation rule\r\n * @param {bool} isZIndexQuestion is z-index question type\r\n */\r\nexport const validateAnswers = (\r\n questionRules,\r\n answers,\r\n currentDate,\r\n isRangeItem,\r\n customRules,\r\n cultureCode,\r\n validationRulesReferences,\r\n isZIndexQuestion\r\n) => {\r\n const rules = customRules ? _.union(customRules, questionRules) : questionRules;\r\n const regularRules = rules.filter((x) => {\r\n return !x.IsRangeRule;\r\n });\r\n\r\n for (let rule of regularRules) {\r\n if (!validateAnswersByRule(rule, answers, currentDate, validationRulesReferences))\r\n return rule.IsCustom\r\n ? rule.ValidationMessage[cultureCode]\r\n : replaceValidationRuleMessageReference(\r\n getComponentTranslationsText(\r\n cultureCode,\r\n rule.ValidationMessageTranslations,\r\n TranslationKey.ValidationRule\r\n ),\r\n validationRulesReferences\r\n );\r\n }\r\n\r\n //if the question is range question, then validation should be done on both answers\r\n if (isRangeItem && answers[0] && answers[1]) {\r\n var firstAnswer = _.find(answers, { Order: 1 });\r\n var secondAnswer = _.find(answers, { Order: 2 });\r\n const rangeRules = rules.filter((x) => {\r\n return x.IsRangeRule;\r\n });\r\n let validationMessage = validateRangeAnswers(rangeRules, firstAnswer, secondAnswer, cultureCode);\r\n if (validationMessage) return validationMessage;\r\n }\r\n\r\n if (isZIndexQuestion) {\r\n if (answers.length > 0) {\r\n const firstAnswer = _.find(answers, { Order: 1 });\r\n if (!firstAnswer) return ValidZIndexFirstLevel.ValidationMessage[cultureCode];\r\n }\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n *validate range answers by rules\r\n * @param {array} rules rules defined from admin panel\r\n * @param {object} answer1 first answer\r\n * @param {object} answer2 second answer\r\n */\r\nconst validateRangeAnswers = (rules, answer1, answer2, cultureCode) => {\r\n for (let rule of rules) {\r\n if (!validationRulesRangeCommands(rule.ValidationName, answer1.AnswerValue, answer2.AnswerValue))\r\n return rule.IsCustom\r\n ? rule.ValidationMessage[cultureCode]\r\n : getComponentTranslationsText(cultureCode, rule.ValidationMessageTranslations, TranslationKey.ValidationRule);\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n *validate answers by some rule\r\n * @param {array} rule validatioin rule\r\n * @param {array} answers answers\r\n * @param {string} currentDate application current date\r\n * @param {string} validationRulesReferences reference answers (if reference is define in validation rule)\r\n */\r\nconst validateAnswersByRule = (rule, answers, currentDate, validationRulesReferences) => {\r\n if (!rule) return null;\r\n\r\n for (let answer of answers) {\r\n let isValid = !_.isEmpty(answer.AnswerValue)\r\n ? validationRulesCommands(\r\n rule.ValidationName,\r\n rule.ValidationRuleValue,\r\n answer.AnswerValue,\r\n currentDate,\r\n validationRulesReferences,\r\n rule.AdditionalInfo\r\n )\r\n : true;\r\n if (!isValid) return false;\r\n }\r\n return true;\r\n};\r\n/**\r\n *get specific validation rule by name\r\n * @param {array} validationRules validation rules\r\n * @param {string} ruleName validation rule name\r\n */\r\nexport const getSpecificValidationRule = (validationRules, ruleName) => {\r\n return _.find(validationRules, (rule) => {\r\n return rule.ValidationName === ruleName;\r\n });\r\n};\r\n\r\n/**\r\n *\r\n * @param {object} maxCharactersRule validation rule\r\n * @param {string} answerValue answer value\r\n * @param {string} cultureCode culture code (user questionnaire language)\r\n */\r\nexport const calculateCharactersLeft = (maxCharactersRule, answerValue, cultureCode) => {\r\n if (maxCharactersRule) {\r\n const message = resources[cultureCode].openQuestionCharactersLeft.CharactersRemaining;\r\n return message.replace(\"{0}\", maxCharactersRule.ValidationRuleValue - answerValue.length);\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * validate page on save\r\n * @param {array} requiredItems required items\r\n * @param {object} navigationDirection\r\n * @param {object} sectionState state with the recorded answers\r\n * @param {string} cultureCode user questionnaire culture code\r\n */\r\nexport const validatePage = (requiredItems, navigationDirection, sectionsState, cultureCode) => {\r\n if (\r\n navigationDirection !== PageNavigationENUM.BACK &&\r\n navigationDirection !== PageNavigationENUM.DIRECT_TO_SPECIFIC_PAGE\r\n ) {\r\n let invalidData = validateRequiredItems(requiredItems, sectionsState);\r\n\r\n if (invalidData.length > 0)\r\n return { invalidData, message: resources[cultureCode].validationErrorMessage.QuestionRequiredMessage };\r\n }\r\n\r\n let invalidBirthdayQuestion = validateCustomBirthdayQuestion(requiredItems, sectionsState);\r\n if (invalidBirthdayQuestion.length > 0)\r\n return {\r\n invalidData: invalidBirthdayQuestion,\r\n message: resources[cultureCode].validationErrorMessage.BirthdayConfirmClicked,\r\n };\r\n return null;\r\n};\r\n\r\n/**\r\n * validate required items, checks if all required questions are answered\r\n * @param {array} requiredItems required items\r\n * @param {object} sectionState state with the recorded answers\r\n */\r\nconst validateRequiredItems = (requiredItems, sectionState) => {\r\n let invalidData = [];\r\n for (let item of requiredItems) {\r\n let answers = sectionState[item.sectionId].repeats[item.repeatId].questions[item.questionId].answers;\r\n if (_.isEmpty(answers)) {\r\n invalidData.push(item);\r\n continue;\r\n }\r\n\r\n if (!_.isArray(answers)) {\r\n if (!hasMultipleChoiceQuestionAnswers(answers, item.options)) invalidData.push(item);\r\n } else if (\r\n (item.questionType === \"IntegerQuestion\" || item.questionType === \"DecimalQuestion\") &&\r\n item.options &&\r\n item.options.length > 1 &&\r\n _.find(item.options, { InvalidAnswerOption: true }) != null\r\n ) {\r\n if (!hasIntegerDecimalQuestionWithAnswerOptionsAnswers(answers, item)) invalidData.push(item);\r\n } else {\r\n if (!hasQuestionAnswers(answers, !item.questionType.includes(\"Range\"), item.questionType.includes(\"Date\")))\r\n invalidData.push(item);\r\n }\r\n }\r\n return invalidData;\r\n};\r\n\r\nconst hasIntegerDecimalQuestionWithAnswerOptionsAnswers = (answers, item) => {\r\n if (answers.length === 1 || answers.length === 0) return false;\r\n\r\n let isFirstAnswerAnswered = isAnswerAnswered(\r\n _.find(answers, (answer) => {\r\n return answer.Order === 1;\r\n }),\r\n false,\r\n false,\r\n false\r\n );\r\n if (!isFirstAnswerAnswered) return false;\r\n\r\n let secondAnswer = _.find(answers, (answer) => {\r\n return answer.Order === 2;\r\n });\r\n\r\n if (_.isEmpty(secondAnswer)) return false;\r\n\r\n let answerOption = _.find(item.options, (option) => {\r\n return option.AnswerValue === secondAnswer.AnswerValue;\r\n });\r\n\r\n if (answerOption.InvalidAnswerOption) return false;\r\n\r\n return true;\r\n};\r\n\r\n/**\r\n * validate multiple choice question\r\n * @param {object} answers answered options\r\n * @param {array} option multiple choice answer option\r\n */\r\nconst hasMultipleChoiceQuestionAnswers = (answers, options) => {\r\n let optionIds = answers ? Object.keys(answers) : null;\r\n if (_.isEmpty(optionIds)) return false;\r\n\r\n let selectedOptions = _.filter(options, (option) => {\r\n return optionIds.includes(option.ID) && option.ShowQuestionTypeAsAnswerOption;\r\n });\r\n\r\n for (let option of selectedOptions) {\r\n let validateMonth = option.AdditionalQuestionType !== \"DateQuestionYearOnly\";\r\n let validateDay =\r\n option.AdditionalQuestionType !== \"DateQuestionYearOnly\" &&\r\n option.AdditionalQuestionType !== \"DateQuestionDropdown\";\r\n if (\r\n !hasQuestionAnswers(\r\n answers[option.ID].answers,\r\n !option.AdditionalQuestionType.includes(\"Range\") && option.AdditionalQuestionType !== \"Latency\",\r\n option.AdditionalQuestionType.includes(\"Date\"),\r\n validateDay,\r\n validateMonth\r\n )\r\n )\r\n return false;\r\n }\r\n return true;\r\n};\r\n/**\r\n * check if the item has answers\r\n * @param {array} answers item answers\r\n * @param {bool} validateOnlyFirstAnswer if the item is not range question, then only first answer should be check\r\n * @param {bool} isDate if the item is date type question\r\n * @param {bool} validateDay if the item is date type question and day part should be validate\r\n * @param {bool} validateMonth if the item is date type question and month part should be validate\r\n */\r\nconst hasQuestionAnswers = (answers, validateOnlyFirstAnswer, isDate, validateDay = true, validateMonth = true) => {\r\n if (validateOnlyFirstAnswer)\r\n return isAnswerAnswered(\r\n _.find(answers, (answer) => {\r\n return answer.Order === 1;\r\n }),\r\n isDate,\r\n validateDay,\r\n validateMonth\r\n );\r\n else {\r\n if (answers.length === 1 || answers.length === 0) return false;\r\n for (let answer of answers) {\r\n if (!isAnswerAnswered(answer, isDate, validateDay, validateMonth)) return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\n/**\r\n * check if the answer has value\r\n * @param {object} answer item answer\r\n * @param {bool} isDate if the item is date type question\r\n * @param {bool} validateDay if the item is date type question and day part should be validate\r\n * @param {bool} validateMonth if the item is date type question and month part should be validate\r\n */\r\nconst isAnswerAnswered = (answer, isDate, validateDay, validateMonth) => {\r\n if (_.isEmpty(answer)) return false;\r\n if (_.isEmpty(answer.AnswerValue)) return false;\r\n if (isDate && !isDateAnswered(answer.AnswerValue, validateDay, validateMonth)) return false;\r\n\r\n if (_.isObject(answer.AnswerValue)) {\r\n if (_.isEmpty(answer.AnswerValue.value)) return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\n/**\r\n * check if the date answer has value\r\n * @param {object} answer item answer\r\n * @param {bool} validateDay if the item is date type question and day part should be validate\r\n * @param {bool} validateMonth if the item is date type question and month part should be validate\r\n */\r\nconst isDateAnswered = (answerValue, validateDay, validateMonth) => {\r\n let answerObj = defineDayMonthYear(answerValue);\r\n if (!answerObj) return false;\r\n\r\n if (answerObj.year === \"0000\") return false;\r\n if (validateMonth && answerObj.month === \"00\") return false;\r\n if (validateDay && answerObj.day === \"00\") return false;\r\n return true;\r\n};\r\n\r\n/**\r\n * check if custom birthday question have confirm button click\r\n * @param {array} requiredItems required items (custom birthday question is always required question)\r\n * @param {object} sectionState state with the recorded answers\r\n */\r\nconst validateCustomBirthdayQuestion = (requiredItems, sectionState) => {\r\n let invalidBirthdayQuestions = [];\r\n let requiredBirthdayItems = _.filter(requiredItems, (item) => {\r\n return item.questionType === \"CustomBirthdayQuestion\";\r\n });\r\n if (requiredBirthdayItems.length > 0) {\r\n for (let item of requiredBirthdayItems) {\r\n let answers = sectionState[item.sectionId].repeats[item.repeatId].questions[item.questionId].answers;\r\n\r\n let answer = _.first(answers);\r\n if (answer && !answer.IsConfirmButtonClick) invalidBirthdayQuestions.push(item);\r\n }\r\n }\r\n return invalidBirthdayQuestions;\r\n};\r\n\r\n/**\r\n * replace validation rules that have references as validation rule value\r\n * @param {array} validationRules validation rule define for the item\r\n * @param {object} referenceMap item reference map\r\n * @param {int} repeatNumber repeat number\r\n * @param {int} parentRepeatNumber parent repeat number\r\n * @param {object} sectionReferenceName section reference name\r\n */\r\nexport const replaceValidationRuleReferences = (\r\n validationRules,\r\n referenceMap,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n sectionReferenceName\r\n) => {\r\n let referenceAnswers = [];\r\n if (_.isEmpty(referenceMap)) return referenceAnswers;\r\n\r\n let appliedValidationRules = getValidationRuleWithReferenceAsValue(validationRules);\r\n if (appliedValidationRules.length > 0) {\r\n _.map(appliedValidationRules, (x) => {\r\n let refValue = resolveValidationRuleValue(\r\n x.ValidationRuleValue,\r\n referenceMap,\r\n repeatNumber,\r\n parentRepeatNumber,\r\n sectionReferenceName\r\n );\r\n if (x.ValidationRuleValue.match(_contextVariableREGEX)) {\r\n let validationRuleValueTrim = trimReference(x.ValidationRuleValue);\r\n if (!_.isEmpty(validationRuleValueTrim))\r\n referenceAnswers.push({ reference: validationRuleValueTrim, value: refValue });\r\n }\r\n });\r\n }\r\n return referenceAnswers;\r\n};\r\n\r\n/**\r\n * return applied validation rules with reference value as validation rule\r\n * @param {array} validationRules validation rule define for the item\r\n */\r\nexport const getValidationRuleWithReferenceAsValue = (validationRules) => {\r\n return _.filter(\r\n validationRules,\r\n (x) =>\r\n x.IsApplied &&\r\n (x.ValidationName === \"Date before answer to other date question\" ||\r\n x.ValidationName === \"Date after answer to other date question\")\r\n );\r\n};\r\n\r\n/**\r\n * return applied validation rules with reference value as validation rule to question answer options\r\n * @param {array} answerOptions question answer options\r\n */\r\nexport const getAnswerOptionValidationRuleReferenceAsValue = (answerOptions) => {\r\n let validationRulesWithReferences = [];\r\n _.forEach(answerOptions, (option) => {\r\n if (option.AnswerOptionValidationRules.length > 0) {\r\n let validationRules = _.filter(\r\n option.AnswerOptionValidationRules,\r\n (r) =>\r\n r.IsApplied &&\r\n (r.ValidationName === \"Date before answer to other date question\" ||\r\n r.ValidationName === \"Date after answer to other date question\")\r\n );\r\n if (validationRules.length > 0)\r\n validationRulesWithReferences = _.concat(validationRulesWithReferences, validationRules);\r\n }\r\n });\r\n return validationRulesWithReferences;\r\n};\r\n\r\n/**\r\n * return validation rule message with replaced context variables (if exists)\r\n * @param {string} validationRuleMessage validation rule error message\r\n */\r\nconst replaceValidationRuleMessageReference = (validationRuleMessage, validationRulesReferences) => {\r\n let qRefs = validationRuleMessage.match(_contextVariableREGEX);\r\n if (qRefs && !_.isEmpty(validationRulesReferences)) {\r\n let trimReferenceValue = trimReference(qRefs[0]);\r\n let reference = _.find(validationRulesReferences, { reference: trimReferenceValue });\r\n if (_.isEmpty(reference) || _.isEmpty(reference.value)) return validationRuleMessage;\r\n\r\n return validationRuleMessage.replace(qRefs[0], reference.value);\r\n } else return validationRuleMessage;\r\n};\r\n","export const SET_FORM_VERIFICATION_CODE = \"SET_FORM_VERIFICATION_CODE\";\r\nexport const SET_FORM_VERIFICATION_MSG = \"SET_FORM_VERIFICATION_MSG\";\r\n\r\nexport const setFormVerificationCode = (code) => {\r\n return {\r\n type: SET_FORM_VERIFICATION_CODE,\r\n payload: { code, message: null },\r\n };\r\n};\r\n\r\nexport const setFormVerificationMessage = (message, msgType) => {\r\n return {\r\n type: SET_FORM_VERIFICATION_MSG,\r\n payload: { msgTxt: message, msgType },\r\n };\r\n};\r\n","import _ from \"lodash\";\r\n\r\nexport const getFirstThankYouPage = (pageListValues, sectionsConditions) => {\r\n return _.chain(pageListValues)\r\n .values()\r\n .filter((p) => {\r\n return (!sectionsConditions[p.ID] || sectionsConditions[p.ID].visible) && p.PageType === 1;\r\n })\r\n .minBy(\"SortOrder\")\r\n .value();\r\n};\r\nexport const calulateNextPage = (pageListValues, sectionsConditions, selectedPageOrder) => {\r\n let regularPage = _.chain(pageListValues)\r\n .values()\r\n .filter((p) => {\r\n return (\r\n p.SortOrder > selectedPageOrder &&\r\n (!sectionsConditions[p.ID] || sectionsConditions[p.ID].visible) &&\r\n p.PageType === 0\r\n );\r\n })\r\n .minBy(\"SortOrder\")\r\n .value();\r\n if (_.isEmpty(regularPage)) {\r\n return getFirstThankYouPage(pageListValues, sectionsConditions);\r\n } else return regularPage;\r\n};\r\n\r\nexport const calulatePreviousPage = (pageListValues, sectionsConditions, selectedPageOrder) => {\r\n return _.chain(pageListValues)\r\n .values()\r\n .filter((p) => {\r\n return (\r\n p.SortOrder < selectedPageOrder &&\r\n (!sectionsConditions[p.ID] || sectionsConditions[p.ID].visible) &&\r\n p.PageType === 0\r\n );\r\n })\r\n .maxBy(\"SortOrder\")\r\n .value();\r\n};\r\n","import api from \"../../assets/common/api/api\";\r\nimport _ from \"lodash\";\r\n\r\nimport { selectPage } from \"./selectPage\";\r\nimport setCompleted from \"./setCompleted\";\r\nimport clearAllMessage from \"../tempStorage/customErrorMsg/clearAllMessage\";\r\nimport addErrorMessage from \"../tempStorage/customErrorMsg/addMessage\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\nimport history from \"../../assets/common/custom/history\";\r\nimport { res } from \"../../assets/localization/resources\";\r\n\r\nexport const COMPLETE_QUESTIONNAIRE = \"COMPLETE_QUESTIONNAIRE\";\r\n\r\nexport const completeQuestionnaire = (pageRedirect) => async (dispatch, getState) => {\r\n let { id } = getState().userQuestionnaire;\r\n let study = getState().study;\r\n let postObj = {\r\n UserQuestionnaireId: id,\r\n };\r\n setLoading(true);\r\n await api\r\n .post(\"/Questionnaire/CompleteUserQuestionnaire\", postObj)\r\n .then((response) => {\r\n if (\r\n response.status === 200 &&\r\n (response.data.ErrorMessage === null ||\r\n response.data.ErrorMessage === undefined ||\r\n response.data.ErrorMessage === \"\")\r\n ) {\r\n dispatch(clearAllMessage());\r\n dispatch(setCompleted(true));\r\n dispatch(setLoading(false));\r\n if (pageRedirect) {\r\n dispatch(selectPage(pageRedirect));\r\n } else {\r\n history.push(!_.isEmpty(response.data.RedirectUrl) ? response.data.RedirectUrl : \"/\");\r\n }\r\n } else {\r\n dispatch(setLoading(false));\r\n let errorMessage = res(study.Culture, response.data.ErrorMessage);\r\n dispatch(addErrorMessage(\"ID_MSG_KEY\", _.isEmpty(errorMessage) ? response.data.ErrorMessage : errorMessage)); //TODO if are more messages add uniqui KEY for each message\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Action COMPLETE_QUESTIONNAIRE error: \", error);\r\n dispatch(setLoading(false));\r\n history.push(\"/pages/error\");\r\n });\r\n};\r\n","export const ValidDate = {\r\n ValidationName: \"Valid Date\",\r\n ValidationRuleValue: \"\",\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Geen geldige datum.\",\r\n \"en-GB\": \"Not valid date.\",\r\n \"it-IT\": \"Data non valida.\",\r\n \"fr-FR\": \"Date non valide.\",\r\n \"de-DE\": \"Nicht gültiges Datum.\",\r\n },\r\n};\r\n\r\nexport const ValidYear = {\r\n ValidationName: \"Valid Year\",\r\n ValidationRuleValue: \"\",\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Vul alstublieft een geldige datum in.\",\r\n \"en-GB\": \"Please enter valid date.\",\r\n \"it-IT\": \"Si prega di inserire una data valida.\",\r\n \"fr-FR\": \"Veuillez saisir une date valide.\",\r\n \"de-DE\": \"Bitte geben Sie ein gültiges Datum ein.\",\r\n },\r\n};\r\n\r\nexport const ValidDay = {\r\n ValidationName: \"Valid Day\",\r\n ValidationRuleValue: 2,\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Geen geldige dag.\",\r\n \"en-GB\": \"Not valid day.\",\r\n \"it-IT\": \"Giorno non valido.\",\r\n \"fr-FR\": \"Jour non valide.\",\r\n \"de-DE\": \"Nicht gültiger Tag.\",\r\n },\r\n};\r\n\r\nexport const YearsOldNotValid = {\r\n ValidationName: \"Years Old Not Valid\",\r\n ValidationRuleValue: 150,\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Jaar is niet geldig.\",\r\n \"en-GB\": \"Year is not valid.\",\r\n \"it-IT\": \"L'anno non è valido.\",\r\n \"fr-FR\": \"L'année n'est pas valide.\",\r\n \"de-DE\": \"Jahr ist nicht gültig.\",\r\n },\r\n};\r\n\r\nexport const YearMaxCharacters = {\r\n ValidationName: \"Year Max Characters\",\r\n ValidationRuleValue: 4,\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Jaar is niet geldig.\",\r\n \"en-GB\": \"Year is not valid.\",\r\n \"it-IT\": \"L'anno non è valido.\",\r\n \"fr-FR\": \"L'année n'est pas valide.\",\r\n \"de-DE\": \"Jahr ist nicht gültig.\",\r\n },\r\n};\r\n\r\nexport const YearShouldNotBeInFuture = {\r\n ValidationName: \"Year Should Not Be In Future\",\r\n ValidationRuleValue: \"\",\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"Het jaar moet in het verleden zijn.\",\r\n \"en-GB\": \"Year must be in past.\",\r\n \"it-IT\": \"L'anno deve essere passato.\",\r\n \"fr-FR\": \"L'année doit être passée.\",\r\n \"de-DE\": \"Jahr muss in der Vergangenheit liegen.\",\r\n },\r\n};\r\n\r\nexport const ValidPassword = {\r\n ValidationName: \"Valid Password\",\r\n ValidationRuleValue: \"\",\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: true,\r\n ValidationMessage: {\r\n \"nl-NL\": \"De wachtwoorden zijn niet gelijk aan elkaar.\",\r\n \"en-GB\": \"The passwords do not match.\",\r\n \"it-IT\": \"La password non coincide\",\r\n \"fr-FR\": \"Le mot de passe ne correspond pas\",\r\n \"de-DE\": \"Die Passwörter stimmen nicht überein.\",\r\n },\r\n};\r\nexport const ValidZIndexFirstLevel = {\r\n ValidationName: \"Valid ZIndex First Level\",\r\n ValidationRuleValue: \"\",\r\n AdditionalInfo: \"\",\r\n IsCustom: true,\r\n PreviousAnswerValue: \"\",\r\n IsRangeRule: false,\r\n ValidationMessage: {\r\n \"nl-NL\": \"De eerste vraag is verplicht.\",\r\n \"en-GB\": \"The first question is mandatory.\",\r\n \"it-IT\": \"La prima domanda è obbligatoria.\",\r\n \"fr-FR\": \"La première question est obligatoire.\",\r\n \"de-DE\": \"Die Passwörter stimmen nicht überein.\",\r\n },\r\n};\r\n","export const ADD_INVALID_ITEM = \"ADD_INVALID_ITEM\";\r\n\r\nexport default function addInvalidItem(questionId, repeatId, optionId, message) {\r\n return {\r\n type: ADD_INVALID_ITEM,\r\n payload: { questionId, repeatId, optionId, message },\r\n };\r\n}\r\n","export const DELETE_INVALID_ITEM = \"DELETE_INVALID_ITEM\";\r\n\r\nexport default function deleteInvalidItem(questionId, repeatId, optionId) {\r\n return {\r\n type: DELETE_INVALID_ITEM,\r\n payload: { questionId, repeatId, optionId },\r\n };\r\n}\r\n","import api from \"../../assets/common/api/api\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport { selectPage } from \"./selectPage\";\r\nimport setCultureCode from \"./setCultureCode\";\r\nimport setLastOpenedPageId from \"./setLastOpenedPageId\";\r\nimport setCurrentDate from \"./setCurrentDate\";\r\nimport setCategoriesMap from \"./setCategoriesMap\";\r\nimport setTextCategories from \"./setTextCategories\";\r\nimport setNumericCategories from \"./setNumericCategories\";\r\nimport setSectionsConditions from \"./categories/setSectionsConditions\";\r\nimport setCompleted from \"./setCompleted\";\r\nimport setRedirectUrl from \"./setRedirectUrl\";\r\nimport setQuestionnaireName from \"./setQuestionnaireName\";\r\nimport setHighlightedPages from \"./setHighlightedPages\";\r\nimport setHoneypot from \"./setHoneypot\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\nimport history from \"../../assets/common/custom/history\";\r\nimport setZIndexCategories from \"./setZIndexCategories\";\r\nimport setShowProgressBar from \"./setShowProgressBar\";\r\nexport const FETCH_TOP_SECTIONS_LIST = \"FETCH_TOP_SECTIONS_LIST\";\r\n\r\nexport const fetch_top_section_list = (userQuestionnaireId) => async (dispatch, getState) => {\r\n let response = {};\r\n dispatch(setLoading(true));\r\n await api\r\n .get(\"/Questionnaire/GetMenuNav\", {\r\n params: {\r\n userQuestionnaireId,\r\n datetime: moment().format(),\r\n },\r\n })\r\n .then((res) => {\r\n response = res;\r\n });\r\n\r\n let {\r\n userQuestionnaire: {\r\n selectedPage,\r\n cultureCode,\r\n lastPageOpenedId,\r\n currentDate,\r\n categoriesMap,\r\n sectionsConditions,\r\n completed,\r\n redirectUrl,\r\n questionnaireName,\r\n highlightedPages,\r\n },\r\n } = getState();\r\n\r\n //first set the culture code in order to filter page translation by user questionnaire culture code\r\n if (cultureCode == null) dispatch(setCultureCode(response.data.cultureCode));\r\n\r\n dispatch(setTextCategories(response.data.textCategories));\r\n dispatch(setNumericCategories(response.data.numericCategories));\r\n dispatch(setShowProgressBar(response.data.showProgressBar));\r\n if (_.isEmpty(sectionsConditions)) dispatch(setSectionsConditions(response.data.sectionsConditions));\r\n\r\n dispatch({\r\n type: FETCH_TOP_SECTIONS_LIST,\r\n payload: response.data.topSections,\r\n });\r\n\r\n if (currentDate == null) dispatch(setCurrentDate(response.data.currentDate));\r\n if (categoriesMap == null) dispatch(setCategoriesMap(response.data.categoriesMap));\r\n if (completed == null) dispatch(setCompleted(response.data.completed));\r\n if (redirectUrl == null) dispatch(setRedirectUrl(response.data.redirectUrl));\r\n if (questionnaireName == null) dispatch(setQuestionnaireName(response.data.questionnaireName));\r\n if (_.isEmpty(highlightedPages)) dispatch(setHighlightedPages(response.data.highlightedPages));\r\n dispatch(setHoneypot(response.data.honeypot));\r\n dispatch(setZIndexCategories(response.data.zIndexCategories));\r\n\r\n if (selectedPage == null && response.data.topSections) {\r\n var topSectionsList = Object.values(JSON.parse(response.data.topSections));\r\n if (response.data.completed === true) {\r\n var thankYouPages = _.filter(topSectionsList, (val) => {\r\n return val.PageType === 1;\r\n });\r\n if (thankYouPages && thankYouPages.length > 0) dispatch(selectPage(_.sortBy(thankYouPages, \"SortOrder\")[0]));\r\n else history.push(response.data.redirectUrl === \"\" ? \"/\" : response.data.redirectUrl);\r\n }\r\n //if there is not selected page (initial opening of the questionnaire, select the first page)\r\n else {\r\n let lastVisitedPage = _.find(topSectionsList, {\r\n ID: response.data.lastTopSectionVisitedID,\r\n });\r\n let pageToDisplay = !_.isEmpty(lastVisitedPage) ? lastVisitedPage : _.sortBy(topSectionsList, \"SortOrder\")[0];\r\n dispatch(selectPage(pageToDisplay));\r\n }\r\n }\r\n if (lastPageOpenedId == null) dispatch(setLastOpenedPageId(response.data.lastPageOpenedId));\r\n\r\n dispatch(setLoading(false));\r\n};\r\n","import _ from \"lodash\";\r\nexport let pageTextCategories = [];\r\nexport let pageNumericCategories = [];\r\n\r\nexport const setPageCategories = (textCategories, numericCategories, pageSortOrder) => {\r\n pageTextCategories = [];\r\n _.orderBy(textCategories, \"SectionSortOrder\", \"desc\").forEach((category) => {\r\n if (\r\n !_.find(pageTextCategories, (x) => {\r\n return x.CategoryID === category.CategoryID;\r\n }) &&\r\n category.SectionSortOrder < pageSortOrder\r\n )\r\n pageTextCategories.push(category);\r\n });\r\n\r\n _.orderBy(numericCategories, \"SectionSortOrder\", \"desc\").forEach((category) => {\r\n pageNumericCategories = [];\r\n if (\r\n !_.find(pageNumericCategories, (x) => {\r\n return x.CategoryID === category.CategoryID;\r\n }) &&\r\n category.SectionSortOrder < pageSortOrder\r\n )\r\n pageNumericCategories.push(category);\r\n });\r\n};\r\n","export const INIT_CONDITIONAL_SECTION = \"INIT_CONDITIONAL_SECTION\";\r\n\r\nlet initConditionalSection = (\r\n sectionId,\r\n sortOrder,\r\n categoryShowCondition,\r\n secondCategoryShowCondition,\r\n secondCategoryConditionOperator,\r\n isTopSection\r\n) => (dispatch, getState) => {\r\n let { textCategories, numericCategories } = getState().userQuestionnaire;\r\n let pageSortOrder = !isTopSection ? getState().userQuestionnaire.selectedPage.sortOrder : sortOrder;\r\n\r\n dispatch({\r\n type: INIT_CONDITIONAL_SECTION,\r\n payload: {\r\n sectionId,\r\n pageSortOrder,\r\n categoryShowCondition,\r\n secondCategoryShowCondition,\r\n secondCategoryConditionOperator,\r\n textCategories,\r\n numericCategories,\r\n isTopSection,\r\n },\r\n });\r\n};\r\n\r\nexport default initConditionalSection;\r\n","import api from \"../../assets/common/api/api\";\r\n\r\nexport const FETCH_CASCADING_DRUGS = \"FETCH_CASCADING_DRUGS\";\r\n\r\nexport const fetchCascadingDrugs = (componentName, componentId, levelName, groupName) => async (dispatch, getState) => {\r\n const response = await api.get(\"/CascadingList/GetCascadingListItems\", {\r\n params: {\r\n componentId: componentId,\r\n levelName: encodeURI(levelName),\r\n groupName: encodeURI(groupName),\r\n },\r\n });\r\n\r\n dispatch({\r\n type: FETCH_CASCADING_DRUGS,\r\n payload: {\r\n componentName,\r\n groupName,\r\n drugs: response.data,\r\n },\r\n });\r\n};\r\n","export const ADD_REQUIRED_INVALID_QUESTIONS = \"ADD_REQUIRED_INVALID_QUESTIONS\";\r\n\r\nexport default function addRequiredInvalidQuestions(items, message) {\r\n return {\r\n type: ADD_REQUIRED_INVALID_QUESTIONS,\r\n payload: { items, message },\r\n };\r\n}\r\n","import api from \"../../assets/common/api/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\n\r\nexport const CHANGE_WEBSITE_CONTENT = \"CHANGE_WEBSITE_CONTENT\";\r\n\r\nexport const changeWebSiteContent = (webSiteContent, value) => async (dispatch, getState) => {\r\n setLoading(true);\r\n let object = { ...webSiteContent, Value: value };\r\n await api\r\n .post(\"/study/ChangeWebSiteContent\", object)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setLoading(false);\r\n if (response.data) {\r\n dispatch({ type: CHANGE_WEBSITE_CONTENT, payload: object });\r\n } else toast.error(\"Error while changing site content\");\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n toast.error(\"Error while changing site content\");\r\n });\r\n};\r\n","/**\r\n *check if the email address is valid email address (regex)\r\n * @param {string} emailAddress question answer\r\n */\r\nexport const checkEmailAddress = (emailAddress) => {\r\n if (typeof emailAddress === \"string\") emailAddress = emailAddress.trim();\r\n\r\n if (\r\n /^[a-zA-Z0-9!#$%&'*+\\-/=?^_`{|}~()]+[a-zA-Z\\-0-9\\._!#$%&'*+-/=?^_`{|}~()]*@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\r\n emailAddress\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n","export const pwaA2hs = () => {\r\n let deferredPrompt;\r\n const addBtn = document.querySelector(\"#btn-homescreen\");\r\n addBtn.style.display = \"none\";\r\n\r\n window.addEventListener(\"beforeinstallprompt\", (e) => {\r\n e.preventDefault();\r\n deferredPrompt = e;\r\n addBtn.style.display = \"block\";\r\n });\r\n\r\n addBtn.addEventListener(\"click\", (e) => {\r\n addBtn.style.display = \"none\";\r\n deferredPrompt.prompt();\r\n deferredPrompt.userChoice.then((choiceResult) => {\r\n //choiceResult.outcome\r\n deferredPrompt = null;\r\n });\r\n });\r\n};\r\n\r\nfunction getRegister(callBack) {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then((registration) => {\r\n callBack(registration);\r\n });\r\n }\r\n}\r\n\r\nfunction arrayBufferToBase64(buffer) {\r\n var binary = \"\";\r\n var bytes = new Uint8Array(buffer);\r\n var len = bytes.byteLength;\r\n for (var i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n return window.btoa(binary);\r\n}\r\n\r\nexport const isPushSupported = () =>\r\n \"Notification\" in window && \"serviceWorker\" in navigator && \"PushManager\" in window;\r\n\r\nexport const grantPushPermission = (onUserAction) => {\r\n if (isPushSupported()) {\r\n let appServerKey = window.flim_config.VAPIDpublicKey;\r\n Notification.requestPermission(function (status) {\r\n if (status === \"granted\") {\r\n getRegister((reg) => {\r\n if (reg != null) {\r\n reg.pushManager.getSubscription().then(function (sub) {\r\n if (sub === null) {\r\n reg.pushManager\r\n .subscribe({\r\n userVisibleOnly: true,\r\n applicationServerKey: appServerKey,\r\n })\r\n .then(function (sub) {\r\n var subscription = {\r\n endpoint: sub.endpoint,\r\n p256dh: arrayBufferToBase64(sub.getKey(\"p256dh\")),\r\n auth: arrayBufferToBase64(sub.getKey(\"auth\")),\r\n };\r\n onUserAction({ status, subscription });\r\n })\r\n .catch(function (e) {\r\n console.error(\"Unable to subscribe to push\", e);\r\n });\r\n } else {\r\n var subscription = {\r\n endpoint: sub.endpoint,\r\n p256dh: arrayBufferToBase64(sub.getKey(\"p256dh\")),\r\n auth: arrayBufferToBase64(sub.getKey(\"auth\")),\r\n };\r\n onUserAction({ status, subscription });\r\n }\r\n });\r\n }\r\n });\r\n } else onUserAction({ status, subscription: null });\r\n });\r\n }\r\n};\r\n","import setShouldModifyCategories from \"../../tempStorage/setShouldModifyCategories\";\r\n\r\nexport const SET_TEXT_CATEGORIES_TO_DEFAULT_VALUE = \"SET_TEXT_CATEGORIES_TO_DEFAULT_VALUE\";\r\n\r\nlet setTextCategoriesToDefaultValue = (options, answers) => (dispatch, getState) => {\r\n let { shouldModifyCategories } = getState().tempStorage;\r\n let sectionId = getState().userQuestionnaire.selectedPage.id;\r\n\r\n if (shouldModifyCategories) {\r\n dispatch({\r\n type: SET_TEXT_CATEGORIES_TO_DEFAULT_VALUE,\r\n payload: { sectionId, options, answers },\r\n });\r\n dispatch(setShouldModifyCategories(false));\r\n }\r\n};\r\n\r\nexport default setTextCategoriesToDefaultValue;\r\n","export const MODIFY_CASCADING_DRUG_CATEGORY_VALUES = \"MODIFY_CASCADING_DRUG_CATEGORY_VALUES\";\r\n\r\nlet modifyCascadingDrugCategoryValues = (previousAnswer, newAnswer) => (dispatch, getState) => {\r\n let { selectedPage, zIndexCategories } = getState().userQuestionnaire;\r\n\r\n dispatch({\r\n type: MODIFY_CASCADING_DRUG_CATEGORY_VALUES,\r\n payload: {\r\n previousAnswer,\r\n newAnswer,\r\n selectedPage,\r\n zIndexCategories,\r\n },\r\n });\r\n};\r\n\r\nexport default modifyCascadingDrugCategoryValues;\r\n","export const REMOVE_CATEGORIES_FROM_NOT_VISIBLE_PAGES = \"REMOVE_CATEGORIES_FROM_NOT_VISIBLE_PAGES\";\r\n\r\nlet removeCategoriesFromNotVisiblePages = (notRelevantCategories) => (dispatch, getState) => {\r\n dispatch({\r\n type: REMOVE_CATEGORIES_FROM_NOT_VISIBLE_PAGES,\r\n payload: { notRelevantCategories },\r\n });\r\n};\r\n\r\nexport default removeCategoriesFromNotVisiblePages;\r\n","import { getSectionCategories } from \"../../../assets/questionnaire/containers/categoryConditionContainer\";\r\n\r\nexport const CALCULATE_SECTION_VISIBILITY = \"CALCULATE_SECTION_VISIBILITY\";\r\n\r\nexport default function calculateSectionVisibility(sortOrder, categoriesMap, textCategories, numericCategories) {\r\n let changedTextCategories = getSectionCategories(textCategories, sortOrder);\r\n let changedNumericCategories = getSectionCategories(numericCategories, sortOrder);\r\n\r\n return {\r\n type: CALCULATE_SECTION_VISIBILITY,\r\n payload: { changedTextCategories, sortOrder, categoriesMap, changedNumericCategories },\r\n };\r\n}\r\n","export const CALCULATE_VISIBILITY_WITH_NOT_RELEVANT_CATEGORIES = \"CALCULATE_VISIBILITY_WITH_NOT_RELEVANT_CATEGORIES\";\r\n\r\nexport default function calculateVisibilityWithNotRelevantCategories(sortOrder, categoriesMap, notRelevantCategories) {\r\n return {\r\n type: CALCULATE_VISIBILITY_WITH_NOT_RELEVANT_CATEGORIES,\r\n payload: { notRelevantCategories, categoriesMap, sortOrder },\r\n };\r\n}\r\n","export const ADD_MC_HIGHLIGHT_QUESTION = \"ADD_MC_HIGHLIGHT_QUESTION\";\r\n\r\nlet addMCHighlighQuestion = (questionAnswers, question, sectionId, repeatId, parentRepeatNumber) => (\r\n dispatch,\r\n getState\r\n) => {\r\n let { selectedPage } = getState().userQuestionnaire;\r\n\r\n dispatch({\r\n type: ADD_MC_HIGHLIGHT_QUESTION,\r\n payload: { questionAnswers, question, sectionId, repeatId, selectedPage, parentRepeatNumber },\r\n });\r\n};\r\n\r\nexport default addMCHighlighQuestion;\r\n","export const ADD_INIT_HIGHLIGHT_QUESTION = \"ADD_INIT_HIGHLIGHT_QUESTION\";\r\n\r\nlet addInitHighlighQuestion = (sectionId, repeatId, question, answers, parentRepeatNumber) => (dispatch, getState) => {\r\n let { selectedPage } = getState().userQuestionnaire;\r\n\r\n dispatch({\r\n type: ADD_INIT_HIGHLIGHT_QUESTION,\r\n payload: { sectionId, repeatId, question, answers, parentRepeatNumber, selectedPage },\r\n });\r\n};\r\n\r\nexport default addInitHighlighQuestion;\r\n","import onInitRepeatSection from \"../userQuestionnaire/categories/onInitRepeatedSection\";\r\n\r\nexport const INIT_SECTION_DATA = \"INIT_SECTION_DATA\";\r\nlet initSectionData =\r\n (section, parentRepeatId, parentSectionId, parentRepeatNumber, parentRepeatFollowup) => (dispatch, getState) => {\r\n let { requiredItems } = getState().tempStorage;\r\n let sectionCondition = getState().userQuestionnaire.sectionsConditions[section.ID];\r\n let { previousMCAnswers, previousQuestions, previousSections, cultureCode } = getState().userQuestionnaire;\r\n dispatch({\r\n type: INIT_SECTION_DATA,\r\n payload: {\r\n section,\r\n parentRepeatId,\r\n parentRepeatNumber,\r\n parentRepeatFollowup,\r\n parentSectionId,\r\n requiredItems,\r\n sectionCondition,\r\n previousMCAnswers,\r\n previousSections,\r\n previousQuestions,\r\n cultureCode,\r\n },\r\n });\r\n\r\n if (section.SectionDTO.Repeated && !section.SectionDTO.UsePreviousAnswers) dispatch(onInitRepeatSection(section));\r\n };\r\n\r\nexport default initSectionData;\r\n","export const CHANGE_REPEATS = \"CHANGE_REPEATS\";\r\n\r\nexport default function changeRepeats(section, questionId, optionValue, repeatId, cultureCode) {\r\n return {\r\n type: CHANGE_REPEATS,\r\n payload: { section, questionId, optionValue, repeatId, cultureCode },\r\n };\r\n}\r\n","import api from \"../../assets/common/api/api\";\r\n\r\nexport const FETCH_CASCADING_LEVELS = \"FETCH_CASCADING_LEVELS\";\r\n\r\nexport const fetchCascadingLevels = (componentName) => async (dispatch, getState) => {\r\n const response = await api.get(\"/CascadingList/GetLevels\", {\r\n params: {\r\n componentName: encodeURI(componentName),\r\n },\r\n });\r\n\r\n if (response.data && response.data.length)\r\n dispatch({\r\n type: FETCH_CASCADING_LEVELS,\r\n payload: {\r\n componentName,\r\n levels: response.data,\r\n },\r\n });\r\n};\r\n","export const DELETE_MULTIPLE_INVALID_OPTIONS = \"DELETE_MULTIPLE_INVALID_OPTIONS\";\r\n\r\nexport default function deleteMultipleInvalidOptions(questionId, repeatId, options) {\r\n return {\r\n type: DELETE_MULTIPLE_INVALID_OPTIONS,\r\n payload: { questionId, repeatId, options },\r\n };\r\n}\r\n","export const REGISTER_REQUIRED_ITEM = \"REGISTER_REQUIRED_ITEM\";\r\n\r\nexport default function registerRequiredItem(item) {\r\n return {\r\n type: REGISTER_REQUIRED_ITEM,\r\n payload: { item },\r\n };\r\n}\r\n","import { createReferenceMapForQuestion } from \"../../../assets/questionnaire/Utils/questionReferencesUtil\";\r\n\r\nexport const INIT_QUESTION_REF_MAP = \"INIT_QUESTION_REF_MAP\";\r\n\r\nexport const initQuestionRef = (question, repeatNr, parentRepeatNr, sectionReferenceName) => (dispatch, getState) => {\r\n let questionReferencesDictionary = getState().userQuestionnaire.questionReferences;\r\n let cultureCode = getState().userQuestionnaire.cultureCode;\r\n var map = createReferenceMapForQuestion(\r\n question,\r\n repeatNr,\r\n parentRepeatNr,\r\n sectionReferenceName,\r\n questionReferencesDictionary,\r\n cultureCode\r\n );\r\n\r\n if (map) {\r\n dispatch({\r\n type: INIT_QUESTION_REF_MAP,\r\n payload: map,\r\n });\r\n }\r\n};\r\n","import api from \"../../assets/common/api/api\";\r\nimport { setLoading } from \"../loading/setLoading\";\r\nimport _ from \"lodash\";\r\n\r\nexport const GET_QUESTION_IMAGE_CONTENT = \"GET_QUESTION_IMAGE_CONTENT\";\r\n\r\nexport const getQuestionImageContent = (questionId) => async (dispatch, getState) => {\r\n setLoading(true);\r\n let { id } = getState().userQuestionnaire;\r\n await api\r\n .get(`/QuestionImage/GetQuestionImageContent?questionId=${questionId}&userQuestionnaireId=${id}`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setLoading(false);\r\n let responseData = response.data;\r\n if (!_.isEmpty(responseData.Content)) {\r\n dispatch({ type: GET_QUESTION_IMAGE_CONTENT, payload: response.data });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n });\r\n};\r\n","import React from \"react\";\r\nimport Loader from \"react-loader-spinner\";\r\n\r\nconst Loading = ({ visible }) => {\r\n return (\r\n