{"version":3,"sources":["assets/images/back@2x.png","assets/images/logo.png","assets/images/MHS_LOGO.jpg","assets/images/next@2x.png","url-values.js","Constants.js","services/service.js","services/lookup-service.js","test-data.js","redux/actions/lookup-action.js","redux/reducers/lookup-reducer.js","components/common/logo.js","components/common/loading.js","components/common/copyright.js","components/common/version.js","services/common-service.js","redux/actions/data-action.js","routes/history.js","components/screens/main-screen.js","components/common/common-hoc.js","components/assessment/common/assessment-container.js","components/assessment/common/task-utility.js","components/assessment/common/task-controls/task-button.js","functions.js","components/assessment/common/task-controls/task-question-box.js","components/assessment/common/task-controls/task-button-list.js","components/assessment/common/task-controls/task-content.js","components/assessment/common/task-controls/task-button-draggable.js","components/assessment/common/task-controls/task-drag-drop-container.js","components/assessment/common/task-controls/task-button-droppable.js","components/assessment/common/task-controls/task-options-container.js","components/assessment/common/task-controls/task-radio-button.js","components/assessment/common/task-controls/task-dialog.js","components/assessment/common/task-controls/task-note-dialog.js","components/assessment/common/task-controls/task-progress.js","components/assessment/common/task-controls/task-radio-group-buttons.js","components/assessment/common/assessment-footer.js","components/assessment/common/assessment-body.js","components/assessment/common/assessment-navigation.js","components/assessment/common/assessment-content.js","components/assessment/common/assessment-content-header.js","components/assessment/common/assessment-content-section.js","components/assessment/common/assessment-content-centered-section.js","components/assessment/common/assessment-content-scrollable-section.js","components/assessment/common/assessment-content-action.js","components/assessment/common/assessment-content-action-button.js","components/assessment/common/assessment-content-error.js","components/screens/final-termination-screen.js","components/screens/error-screen.js","components/screens/terms-screens/terms-and-condition-screen-english.js","components/screens/terms-screens/decline-terms-screen-english.js","components/screens/terms-screens/terms-and-condition-screen-french.js","components/screens/terms-screens/decline-terms-screen-french.js","components/screens/terms-screens/terms-and-condition-screen-spanish.js","components/screens/terms-screens/decline-terms-screen-spanish.js","routes/introduction-routes.js","components/demographics/common/controls/demo-container.js","components/demographics/common/controls/demo-question-text.js","components/demographics/common/controls/demo-question-dropdownlist.js","components/demographics/common/controls/demo-question-date.js","components/demographics/common/controls/demo-question-radiobuttons.js","components/demographics/common/controls/demo-question-datepicker.js","components/demographics/demographic-terminate.js","components/demographics/demographic-over-quota.js","components/demographics/common/controls/demo-hideable-text.js","components/demographics/EnglishParent/demographics-rater.js","components/demographics/demographic-functions.js","components/demographics/EnglishParent/demographics-ratee.js","components/demographics/EnglishParent/demographics-additional-questions.js","components/demographics/EnglishTeacher/demographics-rater.js","components/demographics/EnglishTeacher/demographics-ratee.js","components/demographics/EnglishTeacher/demographics-additional-questions.js","components/demographics/EnglishSelf/demographics-ratee.js","components/demographics/EnglishSelf/demographics-additional-questions.js","components/demographics/SpanishParent/demographics-rater.js","components/demographics/SpanishParent/demographics-ratee.js","components/demographics/SpanishParent/demographics-additional-questions.js","components/demographics/SpanishSelf/demographics-ratee.js","components/demographics/SpanishSelf/demographics-additional-questions.js","components/demographics/FrenchParent/demographics-rater.js","components/demographics/FrenchParent/demographics-ratee.js","components/demographics/FrenchParent/demographics-additional-questions.js","components/demographics/FrenchTeacher/demographics-rater.js","components/demographics/FrenchTeacher/demographics-ratee.js","components/demographics/FrenchTeacher/demographics-additional-questions.js","components/demographics/FrenchSelf/demographics-ratee.js","components/demographics/FrenchSelf/demographics-additional-questions.js","routes/demographic-routes.js","components/assessment/assessment-instruction-english-parent.js","components/assessment/assessment-instruction-english-teacher.js","components/assessment/assessment-instruction-english-self.js","components/assessment/assessment-instruction-french-parent.js","components/assessment/assessment-instruction-french-teacher.js","components/assessment/assessment-instruction-french-self.js","components/assessment/assessment-instruction-spanish-parent.js","components/assessment/assessment-instruction-spanish-self.js","components/assessment/instructions/instruction.js","components/assessment/instructions/instruction-rating-scale.js","components/assessment/tasks/tasks.js","components/assessment/tasks/tasks-rating-scale.js","components/assessment/practice-tasks/practice-task-rating-scale.js","components/assessment/practices/practice-complete.js","components/assessment/assessment-tasks.js","components/assessment/instructions/index.js","components/assessment/practice-tasks/index.js","components/assessment/practices/index.js","components/assessment/tasks/index.js","components/assessment/assessment-outcome-instruction.js","components/assessment/assessment-outcome-items.js","components/assessment/assessment-omission.js","components/assessment/assessment-complete.js","routes/assessment-routes.js","redux/reducers/data-reducer.js","redux/reducers/index.js","redux/configure.js","routes/ScrollToTop.js","components/termination/termination-demographics.js","components/termination/termination-time.js","routes/termination-routes.js","routes/session-required-route.js","routes/index.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","__webpack_require__","p","versionId","parsed","require","parse","window","location","search","inviteId","undefined","sessionId","clientId","janusDataGathererId","janusTenantId","personalInvite","tempVer","parseInt","sessionStorage","getItem","isNaN","setItem","config","globalConfig","assessmentStatus","Complete","InProgress","Fail","aiVersions","instance","axios","create","baseURL","url","BASE_URL","get","apiUrl","params","successFunc","errorFunc","finallFunc","then","catch","post","APIURL_GENDER","API_URL","APIURL_GENDER_DONTKNOW","APIURL_RACE","APIURL_RACE_COUNTRY_RATER","APIURL_RACE_COUNTRY_RATEE","APIURL_SUB_RACE","APIURL_RACE_COUNTRY","APIURL_ETHNIC_ORIGINS","APIURL_YESORNO","APIURL_YESORNODONTKNOW","APIURL_ENGLISH","APIURL_COUNTRY","APIURL_COUNTRY_DONTKNOW","APIURL_STATE","APIURL_STATE_DONTKNOW","APIURL_PROVINCE","APIURL_PROVINCE_DONTKNOW","APIURL_EDUCATION","APIURL_EDUCATION_COUNTRY","APIURL_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE","APIURL_STUDENT","APIURL_DEGREE","APIURL_GPA","APIURL_GRADE","APIURL_EMPLOYEMENTSTATUS","APIURL_ORGANIZATIONLEVEL","APIURL_DIRECTREPORTS","APIURL_OCCUPATIONALAREA","APIURL_OCCUPATION","APIURL_OCCUPATION_PV","APIURL_TEACHING","APIURL_TEACHER_HOW_WELL_KNOWN","APIURL_TEACHER_HOW_LONG_KNOWN","APIURL_TEACHER_HOW_OFTEN_INTERACTED","APIURL_DIAGNOSED","APIURL_HISPANIC","APIURL_HISPANIC_RATER","APIURL_HISPANIC_RATEE","APIURL_ABORIGINIAL","APIURL_ABORIGINIAL_RATER","APIURL_ABORIGINIAL_RATEE","APIURL_AGE","APIURL_SPECIAL_SERVICES","APIURL_CHILDCARE_SETTING","APIURL_CHILD_RELATIONSHIP","APIURL_SCHOOL_SETTING","APIURL_SPOKEN_LANGUAGE","APIURL_ASSESSMENT_READER","APIURL_ASSESSMENT_DATA_ENTERER","getGenders","getGendersDontKnow","getRaces","getSubRaces","getRacesByCountry","getRacesByCountryRater","getRacesByCountryRatee","getEthnicOrigins","getYesOrNo","getYesOrNoOrDontKnow","getEnglish","getCountries","getCountriesDontknow","getStates","getStatesDontKnow","getProvinces","getProvincesDontKnow","getEducations","getEducationsByCountry","getEducationsByCountryWithoutNotApplicable","getStudents","getDegrees","getGPAs","getGrades","getEmploymentStatus","getOrganizationLevels","getDirectReports","getOccupationalAreas","getOccupations","getOccupationsPV","getTeaching","getTeacherHowLongKnown","getTeacherHowWellKnown","finallfunc","getTeacherHowOftenInteracted","getDiagnosed","getHispanic","getHispanicRater","getHispanicRatee","getAboriginal","getAboriginalRater","getAboriginalRatee","getAge","getSpecialServices","getChildcareSetting","getChildRelationship","getSchoolSetting","getSpokenLanguage","getAssessmentReader","getAssessmentDataEnterer","comicStripsTasks","id","name","rank","practice","question","description","numberOfResponses","played","type","mediaPath","options","value","label","response","attention","tasks","textScenariosTasks","emotionalSettingsTasks","REQUEST_START","_testData","facilitationTasks","sensationsTasks","moodMeterTasks","contextualPicturesTasks","changesTasks","blendsTasks","progressionsEnergyTasks","progressionsPleasantTasks","Object","defineProperty","REQUEST_LOAD","REQUEST_ERROR","REQUEST_END","LOOKUP_GENDER","LOOKUP_GENDER_DONTKNOW","LOOKUP_RACE","LOOKUP_SUB_RACE","LOOKUP_RACE_COUNTRY","LOOKUP_RACE_COUNTRY_RATER","LOOKUP_RACE_COUNTRY_RATEE","LOOKUP_ETHNIC_ORIGINS","LOOKUP_YESORNO","LOOKUP_YESORNODONTKNOW","LOOKUP_ENGLISH","LOOKUP_COUNTRY","LOOKUP_COUNTRY_DONTKNOW","LOOKUP_STATE","LOOKUP_STATE_DONTKNOW","LOOKUP_PROVINCE","LOOKUP_PROVINCE_DONTKNOW","LOOKUP_EDUCATION","LOOKUP_EDUCATION_COUNTRY","LOOKUP_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE","LOOKUP_STUDENT","LOOKUP_DEGREES","LOOKUP_GPA","LOOKUP_GRADE","LOOKUP_EMPLOYEMENTSTATUS","LOOKUP_ORGANIZATIONLEVEL","LOOKUP_DIRECTREPORTS","LOOKUP_OCCUPATIONALAREA","LOOKUP_OCCUPATION","LOOKUP_OCCUPATION_PV","LOOKUP_TEACHING","LOOKUP_TEACHER_HOW_WELL_KNOWN","LOOKUP_TEACHER_HOW_LONG_KNOWN","LOOKUP_TEACHER_HOW_OFTEN_INTERACTED","LOOKUP_DIAGNOSED","LOOKUP_HISPANIC","LOOKUP_HISPANIC_RATER","LOOKUP_HISPANIC_RATEE","LOOKUP_ABORIGINAL","LOOKUP_ABORIGINAL_RATER","LOOKUP_ABORIGINAL_RATEE","LOOKUP_AGE","LOOKUP_SPECIAL_SERVICES","LOOKUP_CHILDCARE_SETTING","LOOKUP_CHILD_RELATIONSHIP","LOOKUP_SCHOOL_SETTING","LOOKUP_SPOKEN_LANGUAGE","LOOKUP_ASSESSMENT_READER","LOOKUP_ASSESSMENT_DATA_ENTERER","requestStart","requestLoad","items","requestEnd","getOptions","_ref","service","_ref$isCached","isCached","dispatch","getState","state","lookup","length","data","error","requestError","message","getGenderOptions","getGenderDontKnowOptions","getRaceOptions","getSubRaceOptions","race","raceId","getRaceCountryOptions","country","countryId","getRaceCountryRaterOptions","getRaceCountryRateeOptions","getEthnicOriginsOptions","getYesOrNoOptions","getYesOrNoOrDontKnowOptions","getEnglishOptions","getCountryOptions","getCountryDontKnowOptions","getStateOptions","getStateDontKnowOptions","getProvinceOptions","getProvinceDontKnowOptions","getEducationOptions","getEducationCountryOptions","getEducationCountryWithoutNotApplicableOptions","getStudentOptions","getDegreeOptions","getGPAOptions","getGradeOptions","getEmploymentStatusOptions","getOrganizationLevelOptions","getDirectReportsOptions","getOccupationalAreaOptions","getOccupationOptions","area","getOccupationPVOptions","getTeachingOptions","getTeacherHowWellKnownOptions","getTeacherHowLongKnownOptions","getTeacherHowOftenInteractedOptions","getDiagnosedOptions","getHispanicOptions","getHispanicRaterOptions","getHispanicRateeOptions","getAboriginalOptions","getAboriginalRaterOptions","getAboriginalRateeOptions","getAgeOptions","getSpecialServicesOptions","getChildcareSettingOptions","getChildRelationshipOptions","getSchoolSettingOptions","getSpokenLanguageOptions","getAssessmentReaderOptions","getAssessmentDataEntererOptions","isFetchingLookups","arguments","forEach","index","isFetchingLookup","lookupName","isFetching","getLookups","lookupNames","lookups","getLookup","getLookupErrors","errors","getLookupError","push","hasError","lookupItems","action","assign","Logo","src","react_default","a","createElement","logo","alt","className","Loading","props","_this","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","n","loadingText","_this2","handler","setInterval","setState","style","color","Array","join","clearInterval","Component","copyrightText","en","fr","es","Copyright","children","lang","Version","concat","packageJson","version","APIURL_GET_DATA","APIURL_SAVE_DATA","APIURL_CHECKQUOTA","TaskType","RATING","OUTCOME","SubTaskType","PRACTICE","TASKS","TaskSegment","INSTRUCTION","PRACTICECOMPLETE","TASK","TerminationType","DEMOGRAPHICS","QUOTA","TIME","QUIZ","SET_DEMOGRAPHICS_FOR_VERSION","GET_DATA","SET_TERMS","SET_TERMS_DECLINE","SET_CONSENT","SET_CONSENT_DECLINE","SET_TASK_RESPONSE","SET_DEMOGRAPHICS_RESPONSE","SET_DATA_RESPONSE","SET_OUTCOME_RESPONSE","SET_SKIP_REMAINING_TASKS","RESET_SKIPPED_TASKS","SET_SCREEN_DURATION","SET_TASK_DURATION","SET_OUTCOME_DURATION","CLEAR_RESPONSE","SET_TERMINATION","SET_CURRENT_PERCENTAGE","SET_TOTAL_PERCENTAGE","SAVE","REQUEST_SAVED","SET_ASSESSMENT_STATUS","SET_TASK_PLAYED","SET_TIMEOUT","DEFAULT_RESPONSE","code","save","dateTimeStart","date","moment","utc","format","totalSessionTime","Date","getTime","operatingSystem","osName","osVersion","browser","browserName","browserVersion","device","isMobile","mobileModel","localIpUrl","getAllData","task","callback","processGetAllData","setDemographicsForVersion","setDemographicsResponse","child","setDataResponse","setTaskResponse","taskType","subTaskType","skipRemainingTasks","resetSkippedTasks","setOutcomeResponse","setDefaultTaskResponse","setScreenDuration","start","end","setTaskDuration","setOutcomeDuration","outcome","clearResponse","setTaskPlayed","setTermination","terminationReason","checkReachedQuota","demographics","reached","setTimeout","timeout","getTimeout","getTasks","subType","values","find","getTaskTypeIdById","keys","key","getTaskTypeIdByType","setTerms","setTermsDecline","setConsent","setConsentDecline","setAssessmentStatus","history","createBrowserHistory","basename","process","MainScreen","_this$props","dataRequest","sessionID","versionID","_this$props2","console","log","status","result","react_router","to","pathname","loading","connect","ownState","actionCreator","connectCommon","WrappedComponent","_Component","CommonHOC","startDate","saveScreenDuration","bind","assertThisInitialized","saveData","inherits","createClass","handled","AssessmentContainer","getLang","langVersions","includes","translateLabel","translatedLabel","replace","TaskButton","onClick","selected","_ref$className","_ref$imageUrl","imageUrl","navigator","msMaxTouchPoints","textTransform","TaskQuestionBox","innerClassName","textAlign","width","dangerouslySetInnerHTML","TaskButtonList","isSelected","map","option","Fragment","task_button","button","target","blur","TaskContent","DragSource","beginDrag","endDrag","monitor","canDrag","connectDragSource","dragSource","isDragging","didDrop","bCanDrag","backgroundColor","ref","opacity","React","DropTarget","drop","onDrop","canDrop","connectDropTarget","dropTarget","isOver","filledClassName","classNameOver","classNameFilled","TaskOptionsContainer","CheckedIcon","fontSize","UnCheckedIcon","yesTexts","noTexts","TaskDialog","_ref$includeNext","includeNext","visible","onYes","onNo","header","kendo_react_dialogs_dist_es_main","title","closeIcon","onClose","Box","height","TaskNoteDialog","TaskProgress","_ref$completed","completed","LinearProgress","variant","toFixed","TaskRadioGroupButtons","_this$props$className","textField","onChange","inline","selectedValue","FormControl","component","FormLabel","RadioGroup","aria-label","display","row","FormControlLabel","control","Radio","checked","labelPlacement","AssessmentFooter","getPercentCompleted","screens","currentPath","currentIndex","findIndex","screen","_this$props2$includeV","includeVersion","copyrightChild","includeProgress","_this$props2$includeL","includeLogo","common_version","copyright","common_logo","logoPath","router","commonActionCreator","AssessmentBody","AssessmentNavigation","AssessmentNavigationNext","_ref2","assessment_navigation_AssessmentNavigation","react_router_dom","NextButton","objectSpread","margin","pointerEvents","visibility","AssessmentNavigationPrevious","_ref3","BackButton","AssessmentContent","AssessmentContentHeader","AssessmentContentSection","AssessmentContentCenteredSection","AssessmentContentScrollableSection","AssessmentContentAction","AssessmentContentActionButton","_ref$styleType","styleType","AssessmentContentError","FinalTerminationScreen","pushState","href","onpopstate","event","go","assessment_container","assessment_body","assessment_navigation_AssessmentNavigationPrevious","assessment_content","assessment_content_centered_section","assessment_navigation_AssessmentNavigationNext","assessment_footer","ErrorScreen","ID","errorCode","TermsAndConditionScreenEnglish","errorMessage","handleNext","handleAccept","handleDecline","timeoutWarningFlag","assessment_content_header","assessment_content_scrollable_section","assessment_content_section","marginTop","assessment_content_error","assessment_content_action","assessment_content_action_button","isAccepted","TermsDeclineScreenEnglish","handleBack","TermsAndConditionScreenFrench","TermsDeclineScreenFrench","TermsAndConditionScreenSpanish","TermsDeclineScreenSpanish","EnglishIntroductionRoutes","path","requireSessionID","monitorProgress","FrenchIntroductionRoutes","SpanishIntroductionRoutes","GlobalIntroductionRoutes","getIntroductionRoutes","DemoContainer","_ref$onBackClick","onBackClick","_ref$onNextClick","onNextClick","footerExtra","_ref$title","_ref$overrideLogo","overrideLogo","_ref$overrideVersion","overrideVersion","padding","DemoQuestiontext","_ref$label","_ref$required","required","_ref$visible","_ref$value","_ref$validationMessag","validationMessage","_ref$inputProps","inputProps","_ref$helperText","helperText","_ref$type","_ref$multiline","multiline","TextField","autoComplete","valid","background","DemoQuestionDropDownList","_ref$disabled","disabled","dataItemKey","Select","native","input","OutlinedInput","item","load","likelySubtags","currencyData","weekData","esNumbers","esCaGregorian","esDateFields","esTimeZoneNames","frNumbers","frCaGregorian","frDateFields","frTimeZoneNames","loadMessages","esMessages","frMessages","DemoQuestionDatePicker","locale","_this$props$validatio","disableFuture","formatPlaceholder","dateFormat","selectedDate","min","max","datePickerMin","_unused","datePickerMax","_unused2","onKeyDown","LocalizationProvider","language","IntlProvider","kendo_react_dateinputs_dist_es_main","DemographicTerminate","demo_container","justifyContent","alignContent","DemographicOverQuota","DemoHideabletext","relationshipOtherError","genderOtherError","hispanicOtherError","raceOtherError","DemographicRater","validateAll","e","_e$target","validateRelationshipOther","validateHispanicOther","validateRaceOther","requireRelationshipOther","trim","requireHispanicOther","requireRaceOther","raterGender","getGenderOption","requireOther","raterGenderOtherSP","raterRelationship","getRelationshipOption","raterRelationshipOtherSP","rateeCountry","raterHispanic","getHispanicOption","raterHispanicOtherSP","_this$props$demograph","raterAboriginal","countryOk","aboriginalOk","raterRace","getRaceOption","raterRaceOtherSP","rateeAboriginal","genderOptions","hispanicOptions","relationshipOptions","raceOptions","fieldValue","aboriginalOptions","flexDirection","paddingBottom","marginBottom","demo_question_text","getFieldValue","maxLength","firstNameError","lastNameError","data-content","idError","float","demo_question_dropdownlist","relationshipError","paddingTop","ageError","requireGenderOther","requireHispanic","hispanicError","requireAboriginal","aboriginalError","requireRace","raceError","optionErrors","actionCreatorData","actionCreatorLookup","calcAge","dob","ageDifMs","now","ageDOB","getUTCFullYear","dobError","countryOtherError","stateOtherError","PELOtherError","DemographicRatee","rateeAge","rateeRace","rateeRaceOtherSP","validate","validateFirstLastNameID","validateAgeDOB","validateStateOther","validatePELOther","rateeFirstName","rateeLastName","rateeID","_this$props$demograph2","rateeDOB","requireCountryOther","requireStateOther","requireEDUOther","callingField","_this$props$demograph3","_this$props$demograph4","rateeGender","rateeGenderOtherSP","getCountryOption","rateeCountryOtherSP","countryOption","getSelectedCountryOption","requireState","rateeState","getStateOption","rateeStateOtherSP","rateeHispanic","_this$props$demograph5","rateeHispanicOtherSP","_this$props$demograph6","rateePEL","getEduOption","rateePELOtherSP","requireProvince","rateeProvince","countryOptions","stateOptions","eduOptions","_this$props3","provinceOptions","requireFirstLastID","demo_question_datepicker","requireDOBAge","demo_hideable_text","requireEDU","questions","DemographicAdditionalQuestions","taskIndex","indexOf","omittedItems","filter","skipped","prevLink","getPreviousLink","nextLink","getNextLink","match","prevIndex","lastIndex","nextIndex","qIndex","rIndex","responses","additionalQuestions","_this$props4","getCounterValue","getFieldLabel","exec","validateCountryOther","validateGenderOther","EnglishParentDemographicRoutes","EngParentRater","EngParentRatee","EngParentAdditionalQuestions","EnglishTeacherDemographicRoutes","EngTeacherRater","EngTeacherRatee","EngTeacherAdditionalQuestions","EnglishSelfDemographicRoutes","EngSelfRatee","EngSelfAdditionalQuestions","SpanishParentDemographicRoutes","SpanParentRater","SpanParentRatee","SpanParentAdditionalQuestions","SpanishSelfDemographicRoutes","SpanSelfRatee","SpanSelfAdditionalQuestions","FrenchParentDemographicRoutes","FrnParentRater","FrnParentRatee","FrnParentAdditionalQuestions","FrenchTeacherDemographicRoutes","FrnTeacherRater","FrnTeacherRatee","FrnTeacherAdditionalQuestions","FrenchSelfDemographicRoutes","FrnSelfRatee","FrnSelfAdditionalQuestions","GlobalDemographicRoutes","getDemographicRoutes","AssessmentInstructionEnglishParent","taskTypes","handlePrevious","getFirstTaskTypeLink","AssessmentInstructionEnglishTeacher","AssessmentInstructionEnglishSelf","AssessmentInstructionFrenchParent","AssessmentInstructionFrenchTeacher","AssessmentInstructionFrenchSelf","AssessmentInstructionSpanishParent","AssessmentInstructionSpanishSelf","TaskInstruction","toPrevious","toNext","image","text","RatingTaskInstruction","previousLink","instruction","mt","createTask","Task","updateDimensions","innerHeight","showWarningMessage","showSkipRemainingItems","handleClickPrevious","handleClickNext","handleCloseWarning","handleForceNext","handleCloseSkipRemainingItems","handleNextSkipRemainingItems","getTaskDialogHeaderText","removeEventListener","addEventListener","taskLink","getCurrentIndex","getCurrentTask","isSkipRemainingPractice","canGoNext","openSkipRemainingItemsDialog","doHandleClickNext","disableArrows","goNext","prototype","forceUpdate","canSkipTask","getSkipTaskText","closeSkipRemainingItemsDialog","_this$props5","_this$props6","footerLabel","taskLabel","task_dialog","fontWeight","onNext","getSkipText","task_progress","getCompletedPercentage","RatingScaleTask","lastClicked","handleResponseClick","isOptionSelected","curClicked","hasReponse","hasDefaultResponse","countResponses","taskContentClassName","task_content","task_question_box","__html","task_options_container","task_button_list","PracticeRatingScaleTask","isDisplayNote","handleNoteClose","task_note_dialog","esm_get","AssessmentTasks","currentTaskType","currentTaskIndex","segment","hasPractice","prevType","getPreviousType","getLastTaskIndex","hasOutcomes","currentItemIndex","getCurrentItemIndex","nextType","getNextType","currentTasks","i","_this$props$match$par","outcomes","getTaskLink","practiceTaskLink","getPracticeTaskLink","Instruction","getInstructionComponent","Practice","PracticeRatingScale","getPracticeComponent","PracticeComplete","getPracticeCompleteComponent","RatingsTask","getTaskComponent","AssessmentOutcomeInstruction","AssessmentOutcomeItems","itemsOnPage","Math","ceil","components","task_radio_group_buttons","toString","AssessmentOmission","AssessmentComplete","AssessmentRoutesEnglishParent","AssessmentRoutesEnglishTeacher","AssessmentRoutesEnglishSelf","AssessmentRoutesFrenchParent","AssessmentRoutesFrenchTeacher","AssessmentRoutesFrenchSelf","AssessmentRoutesSpanishParent","AssessmentRoutesSpanishSelf","AssessmentRoutesGlobal","TaskRoutes","OutcomeRoutes","getAssessmentRoutes","getAssessmentRoutesByID","dataInitialState","terms","termsDecline","consent","consentDecline","terminated","requestInitialState","isProcessing","saved","aScreens","from","duration","dateTimeSubmitted","dataObj","outcomesDuration","responseIndex","tasksResponse","tasksSkip","tasksResetSkip","tasksClear","tasksPlayed","aTasks","request","currentPercentage","percentage","totalPercentage","rootReducer","combineReducers","lookupReducers","dataReducers","connectRouter","propTypes","PropTypes","object","persistConfig","storage","blackList","configureStore","preloadedState","middlewares","thunkMiddleware","routerMiddleware","reduxLogger","createLogger","middlewareEnhancer","applyMiddleware","apply","persistedReducer","persistReducer","enhancers","composedEnhancers","compose","store","createStore","persistor","persistStore","withRouter","useEffect","unlisten","listen","scrollTo","TerminationDemographics","TerminationTime","TerminationRoutes","test","rest","objectWithoutProperties","render","s","renderFunc","Routes","route","session_required_route","exact","App","cjs","backend","TouchBackend","HTML5Backend","esm","routes_ScrollToTop","Boolean","hostname","ReactDOM","react_redux_es","integration_react","src_App_0","document","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"6EAAAA,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAA,szTCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,0zHCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yrVCQpCC,mCAPEC,EADcC,EAAQ,KACDC,MAAMC,OAAOC,SAASC,QAC3CC,OAA+BC,IAApBP,EAAOM,UAA8C,OAApBN,EAAOM,SAAoB,GAAKN,EAAOM,SACnFE,OAAiCD,IAArBP,EAAOQ,WAAgD,OAArBR,EAAOQ,UAAqB,GAAKR,EAAOQ,UACtFC,OAAgCF,IAApBP,EAAOS,UAA8C,OAApBT,EAAOS,SAAoB,GAAKT,EAAOS,SACpFC,OAAqDH,IAA/BP,EAAOU,qBAAoE,OAA/BV,EAAOU,oBAA+B,GAAKV,EAAOU,oBACpHC,OAAyCJ,IAAzBP,EAAOW,eAAwD,OAAzBX,EAAOW,cAAyB,GAAKX,EAAOW,cAClGC,OAA2CL,IAA1BP,EAAOY,gBAA0D,OAA1BZ,EAAOY,gBAAkCZ,EAAOY,eAGxGC,EAAUC,SAASC,eAAeC,QAAQ,oBAI5CjB,EAFAkB,MAAMJ,QACiBN,IAArBP,EAAOD,WACI,EAEDC,EAAOD,WAGJ,IAAbc,OACuBN,IAArBP,EAAOD,WACI,EAEDC,EAAOD,UAGTc,EAIZI,MAAMlB,IAA4B,KAAdA,GACtBgB,eAAeG,QAAQ,kBAAmBnB,8FCkB/BoB,EAAShB,OAAOiB,aAIhBC,EAVE,CACXC,SAAU,WACVC,WAAY,aACZC,KAAM,QAQGC,EAhCW,CACpB,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IC3BEC,EAAWC,IAAMC,OAAO,CAC1BC,QAASV,EAAOW,IAAIC,WAGXC,EAAM,SAACC,EAAQC,EAAQC,EAAaC,EAAWC,GACxD,OAAOX,EAASM,IAAIC,EAAQ,CAAEC,OAASA,IACtCI,KAAKH,GACLI,MAAMH,GACNE,KAAKD,IAGGG,EAAO,SAACP,EAAQC,EAAQC,EAAaC,EAAWC,GACzD,OAAOX,EAASc,KAAKP,EAAQ,CAAEC,OAASA,IACvCI,KAAKH,GACLI,MAAMH,GACNE,KAAKD,ICdJtC,EAAYgB,eAAeC,QAAQ,mBAEnCyB,EAAgBtB,EAAOW,IAAIY,QAAU,sEAAwF3C,EAC7H4C,EAAyBxB,EAAOW,IAAIY,QAAU,+CAC9CE,EAAczB,EAAOW,IAAIY,QAAU,0CACnCG,EAA4B1B,EAAOW,IAAIY,QAAU,sEAAwF3C,EACzI+C,EAA4B3B,EAAOW,IAAIY,QAAU,yEAA2F3C,EAC5IgD,EAAkB5B,EAAOW,IAAIY,QAAU,iCACvCM,EAAsB7B,EAAOW,IAAIY,QAAU,8DAAgF3C,EAC3HkD,EAAwB9B,EAAOW,IAAIY,QAAU,kDAC7CQ,EAAiB/B,EAAOW,IAAIY,QAAU,+CACtCS,EAAyBhC,EAAOW,IAAIY,QAAU,+CAC9CU,EAAiBjC,EAAOW,IAAIY,QAAU,oDACtCW,EAAiBlC,EAAOW,IAAIY,QAAU,uEAAyF3C,EAC/HuD,EAA0BnC,EAAOW,IAAIY,QAAU,gDAC/Ca,EAAepC,EAAOW,IAAIY,QAAU,qEAAuF3C,EAC3HyD,EAAwBrC,EAAOW,IAAIY,QAAU,8CAC7Ce,EAAkBtC,EAAOW,IAAIY,QAAU,wEAA0F3C,EACjI2D,GAA2BvC,EAAOW,IAAIY,QAAU,iDAChDiB,GAAmBxC,EAAOW,IAAIY,QAAU,yEAA2F3C,EACnI6D,GAA2BzC,EAAOW,IAAIY,QAAU,2DAChDmB,GAAkD1C,EAAOW,IAAIY,QAAU,2DACvEoB,GAAiB3C,EAAOW,IAAIY,QAAU,6CACtCqB,GAAgB5C,EAAOW,IAAIY,QAAU,4CACrCsB,GAAa7C,EAAOW,IAAIY,QAAU,yCAClCuB,GAAe9C,EAAOW,IAAIY,QAAU,sDAAwE3C,EAC5GmE,GAA2B/C,EAAOW,IAAIY,QAAU,sDAChDyB,GAA2BhD,EAAOW,IAAIY,QAAU,uDAChD0B,GAAuBjD,EAAOW,IAAIY,QAAU,mDAC5C2B,GAA0BlD,EAAOW,IAAIY,QAAU,sDAC/C4B,GAAoBnD,EAAOW,IAAIY,QAAU,gDACzC6B,GAAuBpD,EAAOW,IAAIY,QAAU,8DAAgF3C,EAC5HyE,GAAkBrD,EAAOW,IAAIY,QAAU,yDAA2E3C,EAClH0E,GAAgCtD,EAAOW,IAAIY,QAAU,oEAAsF3C,EAC3I2E,GAAgCvD,EAAOW,IAAIY,QAAU,oEAAsF3C,EAC3I4E,GAAsCxD,EAAOW,IAAIY,QAAU,0EAA4F3C,EACvJ6E,GAAmBzD,EAAOW,IAAIY,QAAU,+CACxCmC,GAAkB1D,EAAOW,IAAIY,QAAU,yDAA2E3C,EAClH+E,GAAwB3D,EAAOW,IAAIY,QAAU,iEAAmF3C,EAChIgF,GAAwB5D,EAAOW,IAAIY,QAAU,oEAAsF3C,EACnIiF,GAAqB7D,EAAOW,IAAIY,QAAU,2DAA8E3C,EACxHkF,GAA2B9D,EAAOW,IAAIY,QAAU,mEAAsF3C,EACtImF,GAA2B/D,EAAOW,IAAIY,QAAU,sEAAyF3C,EACzIoF,GAAahE,EAAOW,IAAIY,QAAU,oDAAsE3C,EACxGqF,GAA0BjE,EAAOW,IAAIY,QAAU,gEAAkF3C,EACjIsF,GAA2BlE,EAAOW,IAAIY,QAAU,iEAAmF3C,EACnIuF,GAA4BnE,EAAOW,IAAIY,QAAU,kEAAoF3C,EACrIwF,GAAwBpE,EAAOW,IAAIY,QAAU,8DAAgF3C,EAC7HyF,GAAyBrE,EAAOW,IAAIY,QAAU,+DAAiF3C,EAC/H0F,GAA2BtE,EAAOW,IAAIY,QAAU,iEAAmF3C,EACnI2F,GAAiCvE,EAAOW,IAAIY,QAAU,sEAAwF3C,EAEvI4F,GAAa,SAACzD,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIS,EAAeP,EAAQC,EAAaC,EAAWC,IAEhHuD,GAAqB,SAAC1D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIW,EAAwBT,EAAQC,EAAaC,EAAWC,IAEjIwD,GAAW,SAAC3D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIY,EAAaV,EAAQC,EAAaC,EAAWC,IAE5GyD,GAAc,SAAC5D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAKe,EAAiBb,EAAQC,EAAaC,EAAWC,IAEpH0D,GAAoB,SAAC7D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIgB,EAAqBd,EAAQC,EAAaC,EAAWC,IAE7H2D,GAAyB,SAAC9D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIa,EAA2BX,EAAQC,EAAaC,EAAWC,IAExI4D,GAAyB,SAAC/D,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIc,EAA2BZ,EAAQC,EAAaC,EAAWC,IAExI6D,GAAmB,SAAChE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIiB,EAAuBf,EAAQC,EAAaC,EAAWC,IAE9H8D,GAAa,SAACjE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIkB,EAAgBhB,EAAQC,EAAaC,EAAWC,IAEjH+D,GAAuB,SAAClE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAImB,EAAwBjB,EAAQC,EAAaC,EAAWC,IAEnIgE,GAAa,SAACnE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIoB,EAAgBlB,EAAQC,EAAaC,EAAWC,IAEjHiE,GAAe,SAACpE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIqB,EAAgBnB,EAAQC,EAAaC,EAAWC,IAEnHkE,GAAuB,SAACrE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIsB,EAAyBpB,EAAQC,EAAaC,EAAWC,IAEpImE,GAAY,SAACtE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIuB,EAAcrB,EAAQC,EAAaC,EAAWC,IAE9GoE,GAAoB,SAACvE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIwB,EAAuBtB,EAAQC,EAAaC,EAAWC,IAE/HqE,GAAe,SAACxE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIyB,EAAiBvB,EAAQC,EAAaC,EAAWC,IAEpHsE,GAAuB,SAACzE,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI0B,GAA0BxB,EAAQC,EAAaC,EAAWC,IAErIuE,GAAgB,SAAC1E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI2B,GAAkBzB,EAAQC,EAAaC,EAAWC,IAEtHwE,GAAyB,SAAC3E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI4B,GAA0B1B,EAAQC,EAAaC,EAAWC,IAEvIyE,GAA6C,SAAC5E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI6B,GAAiD3B,EAAQC,EAAaC,EAAWC,IAElL0E,GAAc,SAAC7E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI8B,GAAgB5B,EAAQC,EAAaC,EAAWC,IAElH2E,GAAa,SAAC9E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI+B,GAAe7B,EAAQC,EAAaC,EAAWC,IAEhH4E,GAAU,SAAC/E,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIgC,GAAY9B,EAAQC,EAAaC,EAAWC,IAE1G6E,GAAY,SAAChF,EAAQC,EAAYC,EAAWC,GAAhC,OAA+CL,EAAIiC,GAAc/B,EAAQC,EAAaC,EAAWC,IAE7G8E,GAAsB,SAACjF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIkC,GAA0BhC,EAAQC,EAAaC,EAAWC,IAEpI+E,GAAwB,SAAClF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAImC,GAA0BjC,EAAQC,EAAaC,EAAWC,IAEtIgF,GAAmB,SAACnF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIoC,GAAsBlC,EAAQC,EAAaC,EAAWC,IAE7HiF,GAAuB,SAACpF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIqC,GAAyBnC,EAAQC,EAAaC,EAAWC,IAEpIkF,GAAiB,SAACrF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIsC,GAAmBpC,EAAQC,EAAaC,EAAWC,IAExHmF,GAAmB,SAACtF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIuC,GAAsBrC,EAAQC,EAAaC,EAAWC,IAE7HoF,GAAc,SAACvF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIwC,GAAiBtC,EAAQC,EAAaC,EAAWC,IAEnHqF,GAAyB,SAACxF,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI0C,GAA+BxC,EAAQC,EAAaC,EAAWC,IAE5IsF,GAAyB,SAACzF,EAAQC,EAAaC,EAAWwF,GAAjC,OAAgD5F,EAAIyC,GAA+BvC,EAAQC,EAAaC,EAAWwF,IAE5IC,GAA+B,SAAC3F,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI2C,GAAqCzC,EAAQC,EAAaC,EAAWC,IAExJyF,GAAe,SAAC5F,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI4C,GAAkB1C,EAAQC,EAAaC,EAAWC,IAErH0F,GAAc,SAAC7F,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI6C,GAAiB3C,EAAQC,EAAaC,EAAWC,IAEnH2F,GAAmB,SAAC9F,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI8C,GAAuB5C,EAAQC,EAAaC,EAAWC,IAE9H4F,GAAmB,SAAC/F,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI+C,GAAuB7C,EAAQC,EAAaC,EAAWC,IAE9H6F,GAAgB,SAAChG,EAAQC,EAAaC,EAAWwF,GAAjC,OAAgD5F,EAAIgD,GAAoB9C,EAAQC,EAAaC,EAAWwF,IAExHO,GAAqB,SAACjG,EAAQC,EAAaC,EAAWwF,GAAjC,OAAgD5F,EAAIiD,GAA0B/C,EAAQC,EAAaC,EAAWwF,IAEnIQ,GAAqB,SAAClG,EAAQC,EAAaC,EAAWwF,GAAjC,OAAgD5F,EAAIkD,GAA0BhD,EAAQC,EAAaC,EAAWwF,IAEnIS,GAAS,SAACnG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAImD,GAAYjD,EAAQC,EAAaC,EAAWC,IAEzGiG,GAAqB,SAACpG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIoD,GAAyBlD,EAAQC,EAAaC,EAAWC,IAElIkG,GAAsB,SAACrG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIqD,GAA0BnD,EAAQC,EAAaC,EAAWC,IAEpImG,GAAuB,SAACtG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIsD,GAA2BpD,EAAQC,EAAaC,EAAWC,IAEtIoG,GAAmB,SAACvG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIuD,GAAuBrD,EAAQC,EAAaC,EAAWC,IAE9HqG,GAAoB,SAACxG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIwD,GAAwBtD,EAAQC,EAAaC,EAAWC,IAEhIsG,GAAsB,SAACzG,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAIyD,GAA0BvD,EAAQC,EAAaC,EAAWC,IAEpIuG,GAA2B,SAAC1G,EAAQC,EAAaC,EAAWC,GAAjC,OAAgDL,EAAI0D,GAAgCxD,EAAQC,EAAaC,EAAWC,IC0jEtJwG,GAAmB,CACrBC,GAAM,EACNC,KAAQ,cACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,iEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,oCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,kJAEb,CACID,MAAS,IACTC,MAAS,gGAEb,CACID,MAAS,IACTC,MAAS,6FAEb,CACID,MAAS,IACTC,MAAS,wGAGjBC,SAAY,OAGpBC,UAAa,CACT,CACId,GAAM,GACNI,SAAY,mCACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,qCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,iCAEb,CACID,MAAS,IACTC,MAAS,8BAEb,CACID,MAAS,IACTC,MAAS,6BAEb,CACID,MAAS,IACTC,MAAS,yCAGjBC,SAAY,OAGpBE,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,mFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,wGAEb,CACID,MAAS,IACTC,MAAS,8HAEb,CACID,MAAS,IACTC,MAAS,0EAEb,CACID,MAAS,IACTC,MAAS,2HAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,qGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,2IAEb,CACID,MAAS,IACTC,MAAS,2EAEb,CACID,MAAS,IACTC,MAAS,+FAEb,CACID,MAAS,IACTC,MAAS,kGAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,4KACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,6GAEb,CACID,MAAS,IACTC,MAAS,gHAEb,CACID,MAAS,IACTC,MAAS,4GAEb,CACID,MAAS,IACTC,MAAS,gFAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,2FACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,8IAEb,CACID,MAAS,IACTC,MAAS,4HAEb,CACID,MAAS,IACTC,MAAS,sLAEb,CACID,MAAS,IACTC,MAAS,mKAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,kGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,uHAEb,CACID,MAAS,IACTC,MAAS,0NAEb,CACID,MAAS,IACTC,MAAS,iIAEb,CACID,MAAS,IACTC,MAAS,2IAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,mFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,uGAEb,CACID,MAAS,IACTC,MAAS,8GAEb,CACID,MAAS,IACTC,MAAS,8GAEb,CACID,MAAS,IACTC,MAAS,gGAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,kGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,oDAEb,CACID,MAAS,IACTC,MAAS,2FAEb,CACID,MAAS,IACTC,MAAS,0FAEb,CACID,MAAS,IACTC,MAAS,8FAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,uFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,2DAEb,CACID,MAAS,IACTC,MAAS,iGAEb,CACID,MAAS,IACTC,MAAS,sFAEb,CACID,MAAS,IACTC,MAAS,mGAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,oFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,oIAEb,CACID,MAAS,IACTC,MAAS,uHAEb,CACID,MAAS,IACTC,MAAS,4EAEb,CACID,MAAS,IACTC,MAAS,sEAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,gGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,2EAEb,CACID,MAAS,IACTC,MAAS,+IAEb,CACID,MAAS,IACTC,MAAS,qJAEb,CACID,MAAS,IACTC,MAAS,+CAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,8GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,2GAEb,CACID,MAAS,IACTC,MAAS,2GAEb,CACID,MAAS,IACTC,MAAS,uIAEb,CACID,MAAS,IACTC,MAAS,sFAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,kGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,wFAEb,CACID,MAAS,IACTC,MAAS,mKAEb,CACID,MAAS,IACTC,MAAS,iHAEb,CACID,MAAS,IACTC,MAAS,8GAGjBC,SAAY,QAgQlBG,GAAqB,CACvBhB,GAAM,GACNC,KAAQ,gBACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,sHACZC,YAAe,wLACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,0DAEb,CACID,MAAS,IACTC,MAAS,+GAEb,CACID,MAAS,IACTC,MAAS,kGAEb,CACID,MAAS,IACTC,MAAS,2HAGjBC,SAAY,OAGpBC,UAAa,GACbC,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,4FACZC,YAAe,8LACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,mHAEb,CACID,MAAS,IACTC,MAAS,6GAEb,CACID,MAAS,IACTC,MAAS,+HAEb,CACID,MAAS,IACTC,MAAS,+FAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,2HACZC,YAAe,8LACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,yIAEb,CACID,MAAS,IACTC,MAAS,wGAEb,CACID,MAAS,IACTC,MAAS,wHAEb,CACID,MAAS,IACTC,MAAS,4GAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,gFACZC,YAAe,8LACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,uGAEb,CACID,MAAS,IACTC,MAAS,sHAEb,CACID,MAAS,IACTC,MAAS,uGAEb,CACID,MAAS,IACTC,MAAS,qGAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,8FACZC,YAAe,0cACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,0JAEb,CACID,MAAS,IACTC,MAAS,+HAEb,CACID,MAAS,IACTC,MAAS,yMAEb,CACID,MAAS,IACTC,MAAS,8MAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,mGACZC,YAAe,0cACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,mMAEb,CACID,MAAS,IACTC,MAAS,6FAEb,CACID,MAAS,IACTC,MAAS,gKAEb,CACID,MAAS,IACTC,MAAS,0IAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,sFACZC,YAAe,0cACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,uKAEb,CACID,MAAS,IACTC,MAAS,gOAEb,CACID,MAAS,IACTC,MAAS,wIAEb,CACID,MAAS,IACTC,MAAS,iHAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,gGACZC,YAAe,iNACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,gHAEb,CACID,MAAS,IACTC,MAAS,yEAEb,CACID,MAAS,IACTC,MAAS,6GAEb,CACID,MAAS,IACTC,MAAS,sFAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,uHACZC,YAAe,iNACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,2HAEb,CACID,MAAS,IACTC,MAAS,2IAEb,CACID,MAAS,IACTC,MAAS,gFAEb,CACID,MAAS,IACTC,MAAS,mFAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,2GACZC,YAAe,iNACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,4FAEb,CACID,MAAS,IACTC,MAAS,0EAEb,CACID,MAAS,IACTC,MAAS,0EAEb,CACID,MAAS,IACTC,MAAS,4FAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,8FACZC,YAAe,4NACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,mFAEb,CACID,MAAS,IACTC,MAAS,8FAEb,CACID,MAAS,IACTC,MAAS,kGAEb,CACID,MAAS,IACTC,MAAS,yEAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,gJACZC,YAAe,4NACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,yEAEb,CACID,MAAS,IACTC,MAAS,6FAEb,CACID,MAAS,IACTC,MAAS,4FAEb,CACID,MAAS,IACTC,MAAS,kHAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,8FACZC,YAAe,4NACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,wHAEb,CACID,MAAS,IACTC,MAAS,gJAEb,CACID,MAAS,IACTC,MAAS,kIAEb,CACID,MAAS,IACTC,MAAS,oEAGjBC,SAAY,QAuxClBI,GAAyB,CAC3BjB,GAAM,GACNC,KAAQ,oBACRC,KAAQ,GACRC,SAAY,CACR,CACIH,GAAM,IACNI,SAAY,wSACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,8BAEb,CACID,MAAS,IACTC,MAAS,+DAEb,CACID,MAAS,IACTC,MAAS,qBAEb,CACID,MAAS,IACTC,MAAS,uDAGjBC,SAAY,OAGpBC,UAAa,CACT,CACId,GAAM,IACNI,SAAY,6NACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,wBAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,iBAGjBC,SAAY,OAGpBE,MAAS,CACL,CACIf,GAAM,IACNI,SAAY,4PACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,8CAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,0DAEb,CACID,MAAS,IACTC,MAAS,mCAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,qSACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,yDAEb,CACID,MAAS,IACTC,MAAS,yDAEb,CACID,MAAS,IACTC,MAAS,0EAEb,CACID,MAAS,IACTC,MAAS,mEAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,6RACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,uDAEb,CACID,MAAS,IACTC,MAAS,yDAEb,CACID,MAAS,IACTC,MAAS,4EAEb,CACID,MAAS,IACTC,MAAS,0BAGjBC,cAppJapJ,GAspJjB,CACIuI,GAAI,GACJI,SAAU,kBACVM,QAAS,CACL,CAAEC,MAAO,EAAGC,MAAO,KACnB,CAAED,MAAO,EAAGC,MAAO,KACnB,CAAED,MAAO,EAAGC,MAAO,KACnB,CAAED,MAAO,EAAGC,MAAO,MAEvBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,kQACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,gEAEb,CACID,MAAS,IACTC,MAAS,0DAEb,CACID,MAAS,IACTC,MAAS,yEAEb,CACID,MAAS,IACTC,MAAS,wEAGjBC,SAAY,QC1oJXK,ID0sJCC,EAAA,CACVC,kBA1vJsB,CACtBpB,GAAM,EACNC,KAAQ,eACRC,KAAQ,GACRC,SAAY,CACR,CACIH,GAAM,EACNI,SAAY,gIACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,EACTC,MAAS,iBAEb,CACID,MAAS,EACTC,MAAS,kBAEb,CACID,MAAS,EACTC,MAAS,YAEb,CACID,MAAS,EACTC,MAAS,iBAGjBC,SAAY,OAGpBC,UAAa,GACbC,MAAS,CACL,CACIf,GAAM,EACNI,SAAY,2HACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,EACTC,MAAS,WAEb,CACID,MAAS,EACTC,MAAS,cAEb,CACID,MAAS,EACTC,MAAS,gBAEb,CACID,MAAS,EACTC,MAAS,aAGjBC,SAAY,MAEhB,CACIb,GAAM,EACNI,SAAY,wMACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,EACTC,MAAS,cAEb,CACID,MAAS,GACTC,MAAS,gBAEb,CACID,MAAS,GACTC,MAAS,gBAEb,CACID,MAAS,GACTC,MAAS,aAGjBC,SAAY,MAEhB,CACIb,GAAM,EACNI,SAAY,wJACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,EACNI,SAAY,6PACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,gBAEb,CACID,MAAS,GACTC,MAAS,eAEb,CACID,MAAS,GACTC,MAAS,UAGjBC,SAAY,QAymJpBQ,gBApmJoB,CACpBrB,GAAM,EACNC,KAAQ,aACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,EACNI,SAAY,wGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,OAGpBC,UAAa,CACT,CACId,GAAM,GACNI,SAAY,uDACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,eAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,aAGjBC,SAAY,OAGpBE,MAAS,CACL,CACIf,GAAM,EACNI,SAAY,uDACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,UAGjBC,SAAY,MAEhB,CACIb,GAAM,EACNI,SAAY,yFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,OAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,UAGjBC,SAAY,MAEhB,CACIb,GAAM,EACNI,SAAY,sGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,UAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,0GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,cAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,wBAEb,CACID,MAAS,GACTC,MAAS,2BAEb,CACID,MAAS,GACTC,MAAS,wBAEb,CACID,MAAS,GACTC,MAAS,4BAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,yDACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,UAEb,CACID,MAAS,GACTC,MAAS,qBAEb,CACID,MAAS,GACTC,MAAS,mBAEb,CACID,MAAS,GACTC,MAAS,aAGjBC,SAAY,QA83IpBS,eA1tHmB,CACnBtB,GAAM,EACNC,KAAQ,YACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,iCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,eAGjBC,SAAY,OAGpBC,UAAa,CACT,CACId,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,kCAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,yBAEb,CACID,MAAS,IACTC,MAAS,6BAEb,CACID,MAAS,IACTC,MAAS,2BAEb,CACID,MAAS,IACTC,MAAS,0BAGjBC,SAAY,OAGpBE,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,eAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,QAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,eAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,QAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,WAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,cAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,8BAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,SAGjBC,SAAY,QAs8GpBG,mBAAoBA,GACpBO,wBA33I4B,CAC5BvB,GAAM,EACNC,KAAQ,qBACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,kBAEb,CACID,MAAS,GACTC,MAAS,kBAGjBC,SAAY,OAGpBC,UAAa,CACT,CACId,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,yCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,OAEb,CACID,MAAS,GACTC,MAAS,OAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,SAGjBC,SAAY,OAGpBE,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,gBAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,cAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,OAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,aAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,aAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,YAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,eAEb,CACID,MAAS,GACTC,MAAS,cAEb,CACID,MAAS,GACTC,MAAS,aAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,QAEb,CACID,MAAS,GACTC,MAAS,iBAEb,CACID,MAAS,GACTC,MAAS,kBAEb,CACID,MAAS,GACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,gCAEJC,QAAW,CACP,CACIC,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,SAEb,CACID,MAAS,GACTC,MAAS,WAEb,CACID,MAAS,GACTC,MAAS,eAEb,CACID,MAAS,GACTC,MAAS,gBAGjBC,SAAY,QAiiIpBW,aA5hIiB,CACjBxB,GAAM,EACNC,KAAQ,UACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,qGACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,kBAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,gBAGjBC,SAAY,OAGpBC,UAAa,GACbC,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,iLACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,UAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,cAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,qNACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,0BAEb,CACID,MAAS,IACTC,MAAS,sBAEb,CACID,MAAS,IACTC,MAAS,uBAEb,CACID,MAAS,IACTC,MAAS,uBAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,8KACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,yBAEb,CACID,MAAS,IACTC,MAAS,kCAEb,CACID,MAAS,IACTC,MAAS,uBAEb,CACID,MAAS,IACTC,MAAS,sBAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,0GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,4CAEb,CACID,MAAS,IACTC,MAAS,mEAEb,CACID,MAAS,IACTC,MAAS,6DAEb,CACID,MAAS,IACTC,MAAS,uDAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,6FACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,wEAEb,CACID,MAAS,IACTC,MAAS,+CAEb,CACID,MAAS,IACTC,MAAS,6EAEb,CACID,MAAS,IACTC,MAAS,kDAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,yFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,mEAEb,CACID,MAAS,IACTC,MAAS,iEAEb,CACID,MAAS,IACTC,MAAS,0EAEb,CACID,MAAS,IACTC,MAAS,qDAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,6GACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,0FAEb,CACID,MAAS,IACTC,MAAS,qHAEb,CACID,MAAS,IACTC,MAAS,yDAEb,CACID,MAAS,IACTC,MAAS,0HAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,gFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,qGAEb,CACID,MAAS,IACTC,MAAS,2DAEb,CACID,MAAS,IACTC,MAAS,yGAEb,CACID,MAAS,IACTC,MAAS,4BAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,sFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,6DAEb,CACID,MAAS,IACTC,MAAS,6DAEb,CACID,MAAS,IACTC,MAAS,iFAEb,CACID,MAAS,IACTC,MAAS,4CAGjBC,SAAY,MAEhB,CACIb,GAAM,GACNI,SAAY,kFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,mDAEb,CACID,MAAS,IACTC,MAAS,mEAEb,CACID,MAAS,IACTC,MAAS,0CAEb,CACID,MAAS,IACTC,MAAS,4CAGjBC,SAAY,QAmuHpBY,YAp8GgB,CAChBzB,GAAM,EACNC,KAAQ,SACRC,KAAQ,EACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,kHACZC,YAAe,GACfC,kBAAqB,EACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,eAMzBE,UAAa,CACT,CACId,GAAM,GACNI,SAAY,kGACZC,YAAe,GACfC,kBAAqB,EACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,OAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,WAMzBG,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,4GACZC,YAAe,GACfC,kBAAqB,EACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,eAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,eAKrB,CACIZ,GAAM,GACNI,SAAY,4GACZC,YAAe,GACfC,kBAAqB,EACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,OAEb,CACID,MAAS,IACTC,MAAS,QAEb,CAC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I,SAAY,sFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,EACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,iBAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,YAKrB,CACIZ,GAAM,GACNI,SAAY,sFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,EACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,eAEb,CACID,MAAS,IACTC,MAAS,aAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,gBA4wFzBe,0BApwF8B,CAC9B3B,GAAM,EACNC,KAAQ,uBACRC,KAAQ,GACRC,SAAY,CACR,CACIH,GAAM,GACNI,SAAY,uFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,EACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,gBAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,YAMzBE,UAAa,CACT,CACId,GAAM,GACNI,SAAY,wFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,EACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,cAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,UAMzBG,MAAS,CACL,CACIf,GAAM,GACNI,SAAY,uFACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,EACRC,UAAa,GACbC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,UAEb,CACID,MAAS,IACTC,MAAS,WAEb,CACID,MAAS,IACTC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b,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,OAGpBC,UAAa,GACbC,MAAS,CACL,CACIf,GAAM,IACNI,SAAY,iEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,sEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,oEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IA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AW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,+DACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,gEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,mEACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,SAEb,CACID,MAAS,IACTC,MAAS,YAGjBC,SAAY,MAEhB,CACIb,GAAM,IACNI,SAAY,0EACZC,YAAe,GACfC,kBAAqB,KACrBC,QAAU,EACVC,KAAQ,KACRC,UAAa,CACT,wCACA,+CAEJC,QAAW,CACP,CACIC,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,IACTC,MAAS,QAEb,CACID,MAAS,IACTC,MAAS,YAEb,CACID,MAAS,I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","file":"static/js/main.0fa66d11.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/back@2x.729d6273.png\";","module.exports = \"data:image/png;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QMuaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwNiA3OS4xNjQ2NDgsIDIwMjEvMDEvMTItMTU6NTI6MjkgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi4yIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwNThCQTc5QjFFNzExRUI5QkQ2REY3RTY1Q0FEM0ZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkwNThCQTdBQjFFNzExRUI5QkQ2REY3RTY1Q0FEM0ZFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTA1OEJBNzdCMUU3MTFFQjlCRDZERjdFNjVDQUQzRkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTA1OEJBNzhCMUU3MTFFQjlCRDZERjdFNjVDQUQzRkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAACAgICAgICAgICAwICAgME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\"","module.exports = __webpack_public_path__ + \"static/media/MHS_LOGO.d2b44405.jpg\";","module.exports = __webpack_public_path__ + \"static/media/next@2x.cf1d7053.png\";","const queryString = require('query-string');\r\nconst parsed = queryString.parse(window.location.search);\r\nconst inviteId = parsed.inviteId === undefined || parsed.inviteId === null ? '' : parsed.inviteId;\r\nconst sessionId = parsed.sessionId === undefined || parsed.sessionId === null ? '' : parsed.sessionId;\r\nconst clientId = parsed.clientId === undefined || parsed.clientId === null ? '' : parsed.clientId;\r\nconst janusDataGathererId = parsed.janusDataGathererId === undefined || parsed.janusDataGathererId === null ? '' : parsed.janusDataGathererId;\r\nconst janusTenantId = parsed.janusTenantId === undefined || parsed.janusTenantId === null ? '' : parsed.janusTenantId;\r\nconst personalInvite = parsed.personalInvite === undefined || parsed.personalInvite === null ? false : parsed.personalInvite;\r\nvar versionId;\r\n\r\nconst tempVer = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\nif (isNaN(tempVer)) {\r\n if (parsed.versionId === undefined || null) {\r\n versionId = -1;\r\n } else {\r\n versionId = parsed.versionId;\r\n }\r\n} else {\r\n if (tempVer === -1) {\r\n if (parsed.versionId === undefined || null) {\r\n versionId = -1;\r\n } else {\r\n versionId = parsed.versionId; \r\n }\r\n } else {\r\n versionId = tempVer;\r\n }\r\n}\r\n\r\nif(!isNaN(versionId) && versionId !== '') {\r\n sessionStorage.setItem('temp-version-id', versionId);\r\n}\r\n\r\nexport { inviteId, sessionId, versionId, clientId, janusDataGathererId, janusTenantId, personalInvite }","// const prod = {\r\n// url: {\r\n// BASE_URL: 'https://a2.mhs.com/conners4',\r\n// API_URL: 'https://a2.mhs.com/rap_api/api'\r\n// }\r\n// };\r\n\r\n// const dev = {\r\n// url: {\r\n// BASE_URL: 'http://localhost:5000/',\r\n// API_URL: 'http://localhost:44367/api'\r\n// }\r\n// };\r\n\r\n\r\nconst productIdNum = 4;\r\n\r\n// const product = {\r\n// id:2,\r\n// version: 4\r\n// }\r\n\r\nconst aiVersionsConst = [\r\n 43,\r\n 49,\r\n 55,\r\n 60,\r\n 66,\r\n 71,\r\n 77,\r\n 83\r\n];\r\n\r\nconst terms = {\r\n accept: 1,\r\n declined: 2\r\n}\r\n\r\nconst consent = {\r\n accept: 1,\r\n declined: 2\r\n}\r\n\r\nconst status = {\r\n Complete: 'Complete' ,\r\n InProgress: 'InProgress',\r\n Fail: 'Fail'\r\n}\r\n\r\nexport const config = window.globalConfig;\r\nexport const productId = productIdNum;\r\nexport const termsReponse = terms;\r\nexport const consentResponse = consent;\r\nexport const assessmentStatus = status;\r\nexport const aiVersions = aiVersionsConst;\r\n","import axios from 'axios';\r\nimport { config } from './../Constants'\r\n\r\nconst instance = axios.create({\r\n baseURL: config.url.BASE_URL\r\n});\r\n\r\nexport const get = (apiUrl, params, successFunc, errorFunc, finallFunc) => {\r\n return instance.get(apiUrl, { params : params })\r\n .then(successFunc)\r\n .catch(errorFunc)\r\n .then(finallFunc);\r\n}\r\n\r\nexport const post = (apiUrl, params, successFunc, errorFunc, finallFunc) => {\r\n return instance.post(apiUrl, { params : params })\r\n .then(successFunc)\r\n .catch(errorFunc)\r\n .then(finallFunc);\r\n}","import { get } from './service';\r\nimport { config, productId } from './../Constants'\r\nimport { version } from 'react';\r\n\r\nconst versionId = sessionStorage.getItem('temp-version-id');\r\n\r\nconst APIURL_GENDER = config.url.API_URL + \"/Demographics/GetGenderLookup/ProductVersion?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_GENDER_DONTKNOW = config.url.API_URL + \"/Demographics/GetGenderLookup/v2?productId=\" + productId\r\nconst APIURL_RACE = config.url.API_URL + \"/Demographics/GetRaceLookup?productId=\" + productId\r\nconst APIURL_RACE_COUNTRY_RATER = config.url.API_URL + \"/Demographics/GetRaceLookupByCountry/IsRater?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_RACE_COUNTRY_RATEE = config.url.API_URL + \"/Demographics/GetRaceLookupByCountry/IsNotRater?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_SUB_RACE = config.url.API_URL + \"/Demographics/GetSubRaceLookup\";\r\nconst APIURL_RACE_COUNTRY = config.url.API_URL + \"/Demographics/GetRaceLookupByCountry?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_ETHNIC_ORIGINS = config.url.API_URL + \"/Demographics/GetEthnicOriginLookup?productId=\" + productId\r\nconst APIURL_YESORNO = config.url.API_URL + \"/Demographics/GetCommonLookup/v2?productId=\" + productId\r\nconst APIURL_YESORNODONTKNOW = config.url.API_URL + \"/Demographics/GetCommonLookup/v1?productId=\" + productId\r\nconst APIURL_ENGLISH = config.url.API_URL + \"/Demographics/GetEnglishOptionsLookup?productId=\" + productId\r\nconst APIURL_COUNTRY = config.url.API_URL + \"/Demographics/GetCountryLookup/ProductVersion?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_COUNTRY_DONTKNOW = config.url.API_URL + \"/Demographics/GetCountryLookup/v2?productId=\" + productId;\r\nconst APIURL_STATE = config.url.API_URL + \"/Demographics/GetStateLookup/ProductVersion?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_STATE_DONTKNOW = config.url.API_URL + \"/Demographics/GetStateLookup/v2?productId=\" + productId\r\nconst APIURL_PROVINCE = config.url.API_URL + \"/Demographics/GetProvinceLookup/ProductVersion?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_PROVINCE_DONTKNOW = config.url.API_URL + \"/Demographics/GetProvinceLookup/v2?productId=\" + productId;\r\nconst APIURL_EDUCATION = config.url.API_URL + \"/Demographics/GetEducationLookup/ProductVersion?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_EDUCATION_COUNTRY = config.url.API_URL + \"/Demographics/GetEducationLookupByCountry/v1?productId=\" + productId\r\nconst APIURL_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE = config.url.API_URL + \"/Demographics/GetEducationLookupByCountry/v2?productId=\" + productId\r\nconst APIURL_STUDENT = config.url.API_URL + \"/Demographics/GetStudentLookup?productId=\" + productId\r\nconst APIURL_DEGREE = config.url.API_URL + \"/Demographics/GetDegreeLookup?productId=\" + productId\r\nconst APIURL_GPA = config.url.API_URL + \"/Demographics/GetGPALookup?productId=\" + productId\r\nconst APIURL_GRADE = config.url.API_URL + \"/Demographics/GetGradeLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_EMPLOYEMENTSTATUS = config.url.API_URL + \"/Demographics/GetEmploymentStatusLookup?productId=\" + productId\r\nconst APIURL_ORGANIZATIONLEVEL = config.url.API_URL + \"/Demographics/GetOrganizationLevelLookup?productId=\" + productId\r\nconst APIURL_DIRECTREPORTS = config.url.API_URL + \"/Demographics/GetDirectReportsLookup?productId=\" + productId\r\nconst APIURL_OCCUPATIONALAREA = config.url.API_URL + \"/Demographics/GetOccupationalAreaLookup?productId=\" + productId\r\nconst APIURL_OCCUPATION = config.url.API_URL + \"/Demographics/GetOccupationLookup?productId=\" + productId\r\nconst APIURL_OCCUPATION_PV = config.url.API_URL + \"/Demographics/GetOccupationLookup/v2?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_TEACHING = config.url.API_URL + \"/Demographics/GetTeachingLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_TEACHER_HOW_WELL_KNOWN = config.url.API_URL + \"/Demographics/GetTeacherHowWellKnownLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_TEACHER_HOW_LONG_KNOWN = config.url.API_URL + \"/Demographics/GetTeacherHowLongKnownLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_TEACHER_HOW_OFTEN_INTERACTED = config.url.API_URL + '/Demographics/GetTeacherHowOftenInteractedLookup?productId=' + productId + \"&versionId=\" + versionId;\r\nconst APIURL_DIAGNOSED = config.url.API_URL + \"/Demographics/GetCommonLookup/v1?productId=\" + productId\r\nconst APIURL_HISPANIC = config.url.API_URL + \"/Demographics/GetHispanicLookup?productId=\" + productId + \"&versionId=\" + versionId; \r\nconst APIURL_HISPANIC_RATER = config.url.API_URL + \"/Demographics/GetHispanicLookup/IsRater?productId=\" + productId + \"&versionId=\" + versionId; \r\nconst APIURL_HISPANIC_RATEE = config.url.API_URL + \"/Demographics/GetHispanicLookup/IsNotRater?productId=\" + productId + \"&versionId=\" + versionId; \r\nconst APIURL_ABORIGINIAL = config.url.API_URL + \"/Demographics/GetAboriginalLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_ABORIGINIAL_RATER = config.url.API_URL + \"/Demographics/GetAboriginalLookup/IsRater?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_ABORIGINIAL_RATEE = config.url.API_URL + \"/Demographics/GetAboriginalLookup/IsNotRater?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_AGE = config.url.API_URL + \"/Demographics/GetAgeLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_SPECIAL_SERVICES = config.url.API_URL + \"/Demographics/GetSpecialServicesLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_CHILDCARE_SETTING = config.url.API_URL + \"/Demographics/GetChildcareSettingLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_CHILD_RELATIONSHIP = config.url.API_URL + \"/Demographics/GetChildRelationshipLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_SCHOOL_SETTING = config.url.API_URL + \"/Demographics/GetSchoolSettingLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_SPOKEN_LANGUAGE = config.url.API_URL + \"/Demographics/GetSpokenLanguageLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_ASSESSMENT_READER = config.url.API_URL + \"/Demographics/GetAssessmentReaderLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\nconst APIURL_ASSESSMENT_DATA_ENTERER = config.url.API_URL + \"/Demographics/GetAssessmentDataEntererLookup?productId=\" + productId + \"&versionId=\" + versionId;\r\n\r\nexport const getGenders = (params, successFunc, errorFunc, finallFunc) => get(APIURL_GENDER, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getGendersDontKnow = (params, successFunc, errorFunc, finallFunc) => get(APIURL_GENDER_DONTKNOW, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getRaces = (params, successFunc, errorFunc, finallFunc) => get(APIURL_RACE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getSubRaces = (params, successFunc, errorFunc, finallFunc) => get (APIURL_SUB_RACE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getRacesByCountry = (params, successFunc, errorFunc, finallFunc) => get(APIURL_RACE_COUNTRY, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getRacesByCountryRater = (params, successFunc, errorFunc, finallFunc) => get(APIURL_RACE_COUNTRY_RATER, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getRacesByCountryRatee = (params, successFunc, errorFunc, finallFunc) => get(APIURL_RACE_COUNTRY_RATEE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getEthnicOrigins = (params, successFunc, errorFunc, finallFunc) => get(APIURL_ETHNIC_ORIGINS, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getYesOrNo = (params, successFunc, errorFunc, finallFunc) => get(APIURL_YESORNO, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getYesOrNoOrDontKnow = (params, successFunc, errorFunc, finallFunc) => get(APIURL_YESORNODONTKNOW, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getEnglish = (params, successFunc, errorFunc, finallFunc) => get(APIURL_ENGLISH, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getCountries = (params, successFunc, errorFunc, finallFunc) => get(APIURL_COUNTRY, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getCountriesDontknow = (params, successFunc, errorFunc, finallFunc) => get(APIURL_COUNTRY_DONTKNOW, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getStates = (params, successFunc, errorFunc, finallFunc) => get(APIURL_STATE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getStatesDontKnow = (params, successFunc, errorFunc, finallFunc) => get(APIURL_STATE_DONTKNOW, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getProvinces = (params, successFunc, errorFunc, finallFunc) => get(APIURL_PROVINCE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getProvincesDontKnow = (params, successFunc, errorFunc, finallFunc) => get(APIURL_PROVINCE_DONTKNOW, params, successFunc, errorFunc, finallFunc)\r\n\r\nexport const getEducations = (params, successFunc, errorFunc, finallFunc) => get(APIURL_EDUCATION, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getEducationsByCountry = (params, successFunc, errorFunc, finallFunc) => get(APIURL_EDUCATION_COUNTRY, params, successFunc, errorFunc, finallFunc)\r\n\r\nexport const getEducationsByCountryWithoutNotApplicable = (params, successFunc, errorFunc, finallFunc) => get(APIURL_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE, params, successFunc, errorFunc, finallFunc)\r\n\r\nexport const getStudents = (params, successFunc, errorFunc, finallFunc) => get(APIURL_STUDENT, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getDegrees = (params, successFunc, errorFunc, finallFunc) => get(APIURL_DEGREE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getGPAs = (params, successFunc, errorFunc, finallFunc) => get(APIURL_GPA, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getGrades = (params, successFunc,errorFunc, finallFunc) => get(APIURL_GRADE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getEmploymentStatus = (params, successFunc, errorFunc, finallFunc) => get(APIURL_EMPLOYEMENTSTATUS, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getOrganizationLevels = (params, successFunc, errorFunc, finallFunc) => get(APIURL_ORGANIZATIONLEVEL, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getDirectReports = (params, successFunc, errorFunc, finallFunc) => get(APIURL_DIRECTREPORTS, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getOccupationalAreas = (params, successFunc, errorFunc, finallFunc) => get(APIURL_OCCUPATIONALAREA, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getOccupations = (params, successFunc, errorFunc, finallFunc) => get(APIURL_OCCUPATION, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getOccupationsPV = (params, successFunc, errorFunc, finallFunc) => get(APIURL_OCCUPATION_PV, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getTeaching = (params, successFunc, errorFunc, finallFunc) => get(APIURL_TEACHING, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getTeacherHowLongKnown = (params, successFunc, errorFunc, finallFunc) => get(APIURL_TEACHER_HOW_LONG_KNOWN, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getTeacherHowWellKnown = (params, successFunc, errorFunc, finallfunc) => get(APIURL_TEACHER_HOW_WELL_KNOWN, params, successFunc, errorFunc, finallfunc);\r\n\r\nexport const getTeacherHowOftenInteracted = (params, successFunc, errorFunc, finallFunc) => get(APIURL_TEACHER_HOW_OFTEN_INTERACTED, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getDiagnosed = (params, successFunc, errorFunc, finallFunc) => get(APIURL_DIAGNOSED, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getHispanic = (params, successFunc, errorFunc, finallFunc) => get(APIURL_HISPANIC, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getHispanicRater = (params, successFunc, errorFunc, finallFunc) => get(APIURL_HISPANIC_RATER, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getHispanicRatee = (params, successFunc, errorFunc, finallFunc) => get(APIURL_HISPANIC_RATEE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getAboriginal = (params, successFunc, errorFunc, finallfunc) => get(APIURL_ABORIGINIAL, params, successFunc, errorFunc, finallfunc);\r\n\r\nexport const getAboriginalRater = (params, successFunc, errorFunc, finallfunc) => get(APIURL_ABORIGINIAL_RATER, params, successFunc, errorFunc, finallfunc);\r\n\r\nexport const getAboriginalRatee = (params, successFunc, errorFunc, finallfunc) => get(APIURL_ABORIGINIAL_RATEE, params, successFunc, errorFunc, finallfunc);\r\n\r\nexport const getAge = (params, successFunc, errorFunc, finallFunc) => get(APIURL_AGE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getSpecialServices = (params, successFunc, errorFunc, finallFunc) => get(APIURL_SPECIAL_SERVICES, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getChildcareSetting = (params, successFunc, errorFunc, finallFunc) => get(APIURL_CHILDCARE_SETTING, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getChildRelationship = (params, successFunc, errorFunc, finallFunc) => get(APIURL_CHILD_RELATIONSHIP, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getSchoolSetting = (params, successFunc, errorFunc, finallFunc) => get(APIURL_SCHOOL_SETTING, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getSpokenLanguage = (params, successFunc, errorFunc, finallFunc) => get(APIURL_SPOKEN_LANGUAGE, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getAssessmentReader = (params, successFunc, errorFunc, finallFunc) => get(APIURL_ASSESSMENT_READER, params, successFunc, errorFunc, finallFunc);\r\n\r\nexport const getAssessmentDataEnterer = (params, successFunc, errorFunc, finallFunc) => get(APIURL_ASSESSMENT_DATA_ENTERER, params, successFunc, errorFunc, finallFunc);","import { LOOKUP_GENDER, LOOKUP_RACE, LOOKUP_YESORNO, LOOKUP_YESORNODONTKNOW, LOOKUP_ENGLISH, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_PROVINCE, LOOKUP_EDUCATION,\r\n LOOKUP_STUDENT, LOOKUP_DEGREES, LOOKUP_GPA, LOOKUP_EMPLOYEMENTSTATUS, LOOKUP_ORGANIZATIONLEVEL, LOOKUP_DIRECTREPORTS,\r\n LOOKUP_OCCUPATIONALAREA, LOOKUP_OCCUPATION, LOOKUP_DIAGNOSED, LOOKUP_ETHNIC_ORIGINS,\r\n} from '../src/redux/actions/lookup-action';\r\n\r\nconst RESPONSE_DEFAULT = undefined;\r\n\r\nconst facilitationTasks = {\r\n \"id\": 1,\r\n \"name\": \"Facilitation\",\r\n \"rank\": 11,\r\n \"practice\": [\r\n {\r\n \"id\": 1,\r\n \"question\": \"A woman is composing music to accompany a military march. Which mood will help this woman perform this task most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 1,\r\n \"label\": \"Aggresiveness\"\r\n },\r\n {\r\n \"value\": 2,\r\n \"label\": \"Disappointment\"\r\n },\r\n {\r\n \"value\": 3,\r\n \"label\": \"Carefree\"\r\n },\r\n {\r\n \"value\": 4,\r\n \"label\": \"Cocntentment\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 2,\r\n \"question\": \"A man is using a complicated recipe to prepare a meal. Which mood will help this man perform this task most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 5,\r\n \"label\": \"Tension\"\r\n },\r\n {\r\n \"value\": 6,\r\n \"label\": \"Solemnness\"\r\n },\r\n {\r\n \"value\": 7,\r\n \"label\": \"Neutral mood\"\r\n },\r\n {\r\n \"value\": 8,\r\n \"label\": \"Optimism\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"question\": \"A man is setting personal goals for the upcoming year and he needs to reflect upon and identify the areas that he wants to improve. Which mood will help this man perform this task most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 9,\r\n \"label\": \"Enthusiasm\"\r\n },\r\n {\r\n \"value\": 10,\r\n \"label\": \"Apprehension\"\r\n },\r\n {\r\n \"value\": 11,\r\n \"label\": \"Restlessness\"\r\n },\r\n {\r\n \"value\": 12,\r\n \"label\": \"Serenity\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 4,\r\n \"question\": \"An advertising employee needs to brainstorm ideas for a new marketing campaign. Which mood will help the employee perform this task most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 13,\r\n \"label\": \"Calmness\"\r\n },\r\n {\r\n \"value\": 14,\r\n \"label\": \"Tiredness\"\r\n },\r\n {\r\n \"value\": 15,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 16,\r\n \"label\": \"Anxiety\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 5,\r\n \"question\": \"A team needs to agree upon which course of action should be taken to resolve a major client’s complaint about the team’s product. Which mood will most effectively help the team members to reach a consensus about their next course of action?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 17,\r\n \"label\": \"Calmness\"\r\n },\r\n {\r\n \"value\": 18,\r\n \"label\": \"Cheerfulness\"\r\n },\r\n {\r\n \"value\": 19,\r\n \"label\": \"Inspiration\"\r\n },\r\n {\r\n \"value\": 20,\r\n \"label\": \"Worry\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst sensationsTasks = {\r\n \"id\": 2,\r\n \"name\": \"Sensations\",\r\n \"rank\": 2,\r\n \"practice\": [\r\n {\r\n \"id\": 6,\r\n \"question\": \"Tightness in the stomach, sweaty palms, and rapid heart rate are most likely signs of which emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 21,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 22,\r\n \"label\": \"Anxiety\"\r\n },\r\n {\r\n \"value\": 23,\r\n \"label\": \"Confusion\"\r\n },\r\n {\r\n \"value\": 24,\r\n \"label\": \"Sadness\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 13,\r\n \"question\": \"Attention check item: A common stomach ailment is...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 49,\r\n \"label\": \"Fever\"\r\n },\r\n {\r\n \"value\": 50,\r\n \"label\": \"Indigestion\"\r\n },\r\n {\r\n \"value\": 51,\r\n \"label\": \"Arthritis\"\r\n },\r\n {\r\n \"value\": 52,\r\n \"label\": \"Headache\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 7,\r\n \"question\": \"Feeling cold is most likely a sign of which emotion?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 25,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 26,\r\n \"label\": \"Guilt\"\r\n },\r\n {\r\n \"value\": 27,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 28,\r\n \"label\": \"Shame\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 8,\r\n \"question\": \"Feeling as if one’s throat is constricted is most likely a sign of which emotion?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 29,\r\n \"label\": \"Calmness\"\r\n },\r\n {\r\n \"value\": 30,\r\n \"label\": \"Joy\"\r\n },\r\n {\r\n \"value\": 31,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 32,\r\n \"label\": \"Shame\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 9,\r\n \"question\": \"Increased heart rate, deep breathing, and a sense of warmth are most likely signs of which emotion?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 33,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 34,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 35,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 36,\r\n \"label\": \"Shame\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 10,\r\n \"question\": \"Increased blood pressure, increased heart rate, and feeling hot are most likely signs of which emotion?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 37,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 38,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 39,\r\n \"label\": \"Guilt\"\r\n },\r\n {\r\n \"value\": 40,\r\n \"label\": \"Happiness\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 11,\r\n \"question\": \"Sadness is most likely characterized by which breathing pattern?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 41,\r\n \"label\": \"Fast, deep breathing\"\r\n },\r\n {\r\n \"value\": 42,\r\n \"label\": \"Fast, shallow breathing\"\r\n },\r\n {\r\n \"value\": 43,\r\n \"label\": \"Slow, deep breathing\"\r\n },\r\n {\r\n \"value\": 44,\r\n \"label\": \"Slow, shallow breathing\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 12,\r\n \"question\": \"Guilt is most likely characterized by which sensation?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 45,\r\n \"label\": \"Warmth\"\r\n },\r\n {\r\n \"value\": 46,\r\n \"label\": \"A rapid heartbeat\"\r\n },\r\n {\r\n \"value\": 47,\r\n \"label\": \"Relaxed muscles\"\r\n },\r\n {\r\n \"value\": 48,\r\n \"label\": \"Sweating\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst contextualPicturesTasks = {\r\n \"id\": 3,\r\n \"name\": \"ContextualPictures\",\r\n \"rank\": 5,\r\n \"practice\": [\r\n {\r\n \"id\": 14,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Practice-Item.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 53,\r\n \"label\": \"Annoyance\"\r\n },\r\n {\r\n \"value\": 54,\r\n \"label\": \"Boredom\"\r\n },\r\n {\r\n \"value\": 55,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 56,\r\n \"label\": \"Discouragement\"\r\n },\r\n {\r\n \"value\": 57,\r\n \"label\": \"Embarrassment\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 23,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Attention-Item.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 98,\r\n \"label\": \"One\"\r\n },\r\n {\r\n \"value\": 99,\r\n \"label\": \"Two\"\r\n },\r\n {\r\n \"value\": 100,\r\n \"label\": \"Three\"\r\n },\r\n {\r\n \"value\": 101,\r\n \"label\": \"Four\"\r\n },\r\n {\r\n \"value\": 102,\r\n \"label\": \"Four\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 15,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item1.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 58,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 59,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 60,\r\n \"label\": \"Anxiety\"\r\n },\r\n {\r\n \"value\": 61,\r\n \"label\": \"Despair\"\r\n },\r\n {\r\n \"value\": 62,\r\n \"label\": \"Triumph\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 16,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item2.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 63,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 64,\r\n \"label\": \"Contempt\"\r\n },\r\n {\r\n \"value\": 65,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 66,\r\n \"label\": \"Worry\"\r\n },\r\n {\r\n \"value\": 67,\r\n \"label\": \"Happiness\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 17,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item3.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 68,\r\n \"label\": \"Sympathy\"\r\n },\r\n {\r\n \"value\": 69,\r\n \"label\": \"Alarm\"\r\n },\r\n {\r\n \"value\": 70,\r\n \"label\": \"Awe\"\r\n },\r\n {\r\n \"value\": 71,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 72,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 18,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item4.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 73,\r\n \"label\": \"Caution\"\r\n },\r\n {\r\n \"value\": 74,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 75,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 76,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 77,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 19,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item5.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 78,\r\n \"label\": \"Shame\"\r\n },\r\n {\r\n \"value\": 79,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 80,\r\n \"label\": \"Surprise\"\r\n },\r\n {\r\n \"value\": 81,\r\n \"label\": \"Guilt\"\r\n },\r\n {\r\n \"value\": 82,\r\n \"label\": \"Sadness\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 20,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item6.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 83,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 84,\r\n \"label\": \"Contentment\"\r\n },\r\n {\r\n \"value\": 85,\r\n \"label\": \"Confidence\"\r\n },\r\n {\r\n \"value\": 86,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 87,\r\n \"label\": \"Disgust\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 21,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item7.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 88,\r\n \"label\": \"Shame\"\r\n },\r\n {\r\n \"value\": 89,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 90,\r\n \"label\": \"Embarrassment\"\r\n },\r\n {\r\n \"value\": 91,\r\n \"label\": \"Disappointment\"\r\n },\r\n {\r\n \"value\": 92,\r\n \"label\": \"Sadness\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 22,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/contextual/Item8.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 93,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 94,\r\n \"label\": \"Pride\"\r\n },\r\n {\r\n \"value\": 95,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 96,\r\n \"label\": \"Disapproval\"\r\n },\r\n {\r\n \"value\": 97,\r\n \"label\": \"Contentment\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst changesTasks = {\r\n \"id\": 4,\r\n \"name\": \"Changes\",\r\n \"rank\": 6,\r\n \"practice\": [\r\n {\r\n \"id\": 24,\r\n \"question\": \"A woman wa annoyed that a coworker took credit for project, and when he did it again sher felt...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 103,\r\n \"label\": \"Angry\"\r\n },\r\n {\r\n \"value\": 104,\r\n \"label\": \"Disappointment\"\r\n },\r\n {\r\n \"value\": 105,\r\n \"label\": \"Carefree\"\r\n },\r\n {\r\n \"value\": 106,\r\n \"label\": \"Contentment\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 25,\r\n \"question\": \"A woman felt content as she thought of her life. As she continued to think about the good things she had done and the joy her acts had brought to others, the more she felt...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 107,\r\n \"label\": \"Happy\"\r\n },\r\n {\r\n \"value\": 108,\r\n \"label\": \"Amazed\"\r\n },\r\n {\r\n \"value\": 109,\r\n \"label\": \"Obligated\"\r\n },\r\n {\r\n \"value\": 110,\r\n \"label\": \"Surprised\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 26,\r\n \"question\": \"A man is content at work. He thought that he and his coworkers were fairly paid and treated well. Today, the entire office received a pay increase as part of company-wide adjustments in salary. This man felt...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 111,\r\n \"label\": \"Astonished and shocked\"\r\n },\r\n {\r\n \"value\": 112,\r\n \"label\": \"Peaceful and quiet\"\r\n },\r\n {\r\n \"value\": 113,\r\n \"label\": \"Surprised and happy\"\r\n },\r\n {\r\n \"value\": 114,\r\n \"label\": \"Proud and dominant\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 27,\r\n \"question\": \"After a man’s car was stolen, he purchased a new car with a car alarm. When his new car was also stolen, he felt shocked and surprised at first. Then, the man felt...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 115,\r\n \"label\": \"Amazed and astonished\"\r\n },\r\n {\r\n \"value\": 116,\r\n \"label\": \"Helpless, despaired, and angry\"\r\n },\r\n {\r\n \"value\": 117,\r\n \"label\": \"Angry and disgusted\"\r\n },\r\n {\r\n \"value\": 118,\r\n \"label\": \"Calm and resigned\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 28,\r\n \"question\": \"A child who was happily anticipating her birthday later felt sad. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 119,\r\n \"label\": \"A bully insulted her and she fought back\"\r\n },\r\n {\r\n \"value\": 120,\r\n \"label\": \"Two friends who she hoped would come never made it to the party\"\r\n },\r\n {\r\n \"value\": 121,\r\n \"label\": \"Her mother embarrassed her in front of the other children\"\r\n },\r\n {\r\n \"value\": 122,\r\n \"label\": \"Her father accused her of something she did not do\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 29,\r\n \"question\": \"A man was full of interest and then felt admiration. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 123,\r\n \"label\": \"The man heard a story about a sports hero who set a new world record\"\r\n },\r\n {\r\n \"value\": 124,\r\n \"label\": \"The man solved an important problem at work\"\r\n },\r\n {\r\n \"value\": 125,\r\n \"label\": \"His friend called to say he had just purchased a new car at a great price\"\r\n },\r\n {\r\n \"value\": 126,\r\n \"label\": \"A package arrived with a gift from his mother\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 30,\r\n \"question\": \"A woman felt anticipation and then she felt joy. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 127,\r\n \"label\": \"She gave a donation and thought about the people she would help\"\r\n },\r\n {\r\n \"value\": 128,\r\n \"label\": \"She heard that her favorite novelist was releasing a new book\"\r\n },\r\n {\r\n \"value\": 129,\r\n \"label\": \"Her mother called to tell her she was sending a surprise birthday gift\"\r\n },\r\n {\r\n \"value\": 130,\r\n \"label\": \"She was called back for a second-round interview\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 31,\r\n \"question\": \"An executive in a corporation felt anticipation and then resentment. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 131,\r\n \"label\": \"One of the executive’s employees failed to achieve his sales goals for the period\"\r\n },\r\n {\r\n \"value\": 132,\r\n \"label\": \"Another person in the company, whom he believed to be incompetent, got a promotion that the executive applied for\"\r\n },\r\n {\r\n \"value\": 133,\r\n \"label\": \"Few people attended one of his routine staff meetings\"\r\n },\r\n {\r\n \"value\": 134,\r\n \"label\": \"He read a news item about people living in poverty and how a major charity was facing obstacles in its relief efforts\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 32,\r\n \"question\": \"A woman was angry and then felt guilty. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 135,\r\n \"label\": \"She didn’t finish a job as well as she had hoped to because she didn’t have enough time\"\r\n },\r\n {\r\n \"value\": 136,\r\n \"label\": \"She made a promise to a friend but then forgot about it\"\r\n },\r\n {\r\n \"value\": 137,\r\n \"label\": \"She confronted her friend about hurting her, then she discovered the friend hadn’t done anything\"\r\n },\r\n {\r\n \"value\": 138,\r\n \"label\": \"She lost a close friend\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 33,\r\n \"question\": \"A man liked his friend and then despised him. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 139,\r\n \"label\": \"His friend lost an expensive book that the man loaned him\"\r\n },\r\n {\r\n \"value\": 140,\r\n \"label\": \"His friend received a larger salary increase than the man\"\r\n },\r\n {\r\n \"value\": 141,\r\n \"label\": \"The man felt he had hurt his friend and it was partly his friend’s fault\"\r\n },\r\n {\r\n \"value\": 142,\r\n \"label\": \"His friend betrayed the man’s wife\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 34,\r\n \"question\": \"A man loved someone and then felt secure. What most likely happened in between?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 143,\r\n \"label\": \"He learned the other person loved him in return\"\r\n },\r\n {\r\n \"value\": 144,\r\n \"label\": \"His expression of love was happily accepted by the other person\"\r\n },\r\n {\r\n \"value\": 145,\r\n \"label\": \"He decided not to express his feelings\"\r\n },\r\n {\r\n \"value\": 146,\r\n \"label\": \"His love for the other person decreased\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst moodMeterTasks = {\r\n \"id\": 5,\r\n \"name\": \"MoodMeter\",\r\n \"rank\": 3,\r\n \"practice\": [\r\n {\r\n \"id\": 35,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Practice.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 147,\r\n \"label\": \"Annoyance\"\r\n },\r\n {\r\n \"value\": 148,\r\n \"label\": \"Delight\"\r\n },\r\n {\r\n \"value\": 149,\r\n \"label\": \"Boredom\"\r\n },\r\n {\r\n \"value\": 150,\r\n \"label\": \"Excitement\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 43,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Attention.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 179,\r\n \"label\": \"Sadness and Happiness\"\r\n },\r\n {\r\n \"value\": 180,\r\n \"label\": \"Excitement and Sleepiness\"\r\n },\r\n {\r\n \"value\": 181,\r\n \"label\": \"Pleasantness and Energy\"\r\n },\r\n {\r\n \"value\": 182,\r\n \"label\": \"Internal and External\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 36,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item1.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 151,\r\n \"label\": \"Calm\"\r\n },\r\n {\r\n \"value\": 152,\r\n \"label\": \"Excited\"\r\n },\r\n {\r\n \"value\": 153,\r\n \"label\": \"Hopeful\"\r\n },\r\n {\r\n \"value\": 154,\r\n \"label\": \"Interested\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 37,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item2.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 155,\r\n \"label\": \"Frustrated\"\r\n },\r\n {\r\n \"value\": 156,\r\n \"label\": \"Disgusted\"\r\n },\r\n {\r\n \"value\": 157,\r\n \"label\": \"Satisfied\"\r\n },\r\n {\r\n \"value\": 158,\r\n \"label\": \"Sad\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 38,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item3.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 159,\r\n \"label\": \"Alarmed\"\r\n },\r\n {\r\n \"value\": 160,\r\n \"label\": \"Astonished \"\r\n },\r\n {\r\n \"value\": 161,\r\n \"label\": \"Calm\"\r\n },\r\n {\r\n \"value\": 162,\r\n \"label\": \"Excited\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 39,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item4.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 163,\r\n \"label\": \"Content\"\r\n },\r\n {\r\n \"value\": 164,\r\n \"label\": \"Happy\"\r\n },\r\n {\r\n \"value\": 165,\r\n \"label\": \"Interested\"\r\n },\r\n {\r\n \"value\": 166,\r\n \"label\": \"Sad\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 40,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item5.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 167,\r\n \"label\": \"Annoyed\"\r\n },\r\n {\r\n \"value\": 168,\r\n \"label\": \"Astonished\"\r\n },\r\n {\r\n \"value\": 169,\r\n \"label\": \"Depressed\"\r\n },\r\n {\r\n \"value\": 170,\r\n \"label\": \"Terror\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 41,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item6.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 171,\r\n \"label\": \"Disappointed\"\r\n },\r\n {\r\n \"value\": 172,\r\n \"label\": \"Angry\"\r\n },\r\n {\r\n \"value\": 173,\r\n \"label\": \"Happy\"\r\n },\r\n {\r\n \"value\": 174,\r\n \"label\": \"Impatient\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 42,\r\n \"question\": \"\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/emotions/Item7.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 175,\r\n \"label\": \"Shame\"\r\n },\r\n {\r\n \"value\": 176,\r\n \"label\": \"Disappointed\"\r\n },\r\n {\r\n \"value\": 177,\r\n \"label\": \"Frustrated\"\r\n },\r\n {\r\n \"value\": 178,\r\n \"label\": \"Rage\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst blendsTasks = {\r\n \"id\": 6,\r\n \"name\": \"Blends\",\r\n \"rank\": 7,\r\n \"practice\": [\r\n {\r\n \"id\": 44,\r\n \"question\": \"A person who feels aggressiveness is actually fooling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 183,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 184,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 185,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 186,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 187,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 188,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 54,\r\n \"question\": \"A person who is dressed in summer clothes while standing outside in the snow is likely to be...\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 243,\r\n \"label\": \"Shivering\"\r\n },\r\n {\r\n \"value\": 244,\r\n \"label\": \"Tickled\"\r\n },\r\n {\r\n \"value\": 245,\r\n \"label\": \"Hot\"\r\n },\r\n {\r\n \"value\": 246,\r\n \"label\": \"Cold\"\r\n },\r\n {\r\n \"value\": 247,\r\n \"label\": \"Sweating\"\r\n },\r\n {\r\n \"value\": 248,\r\n \"label\": \"Warm\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 45,\r\n \"question\": \"A person who feels contempt is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 189,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 190,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 191,\r\n \"label\": \"Frustration\"\r\n },\r\n {\r\n \"value\": 192,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 193,\r\n \"label\": \"Surprise\"\r\n },\r\n {\r\n \"value\": 194,\r\n \"label\": \"Tolerance\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 46,\r\n \"question\": \"A person who feels optimism is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 195,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 196,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 197,\r\n \"label\": \"Apprehension\"\r\n },\r\n {\r\n \"value\": 198,\r\n \"label\": \"Joy\"\r\n },\r\n {\r\n \"value\": 199,\r\n \"label\": \"Love\"\r\n },\r\n {\r\n \"value\": 200,\r\n \"label\": \"Exhilaration\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 47,\r\n \"question\": \"A person who feels nostalgia is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 201,\r\n \"label\": \"Affection\"\r\n },\r\n {\r\n \"value\": 202,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 203,\r\n \"label\": \"Disappointment\"\r\n },\r\n {\r\n \"value\": 204,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 205,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 206,\r\n \"label\": \"Serenity\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 48,\r\n \"question\": \"A person who feels submissiveness is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 207,\r\n \"label\": \"Annoyance\"\r\n },\r\n {\r\n \"value\": 208,\r\n \"label\": \"Boredom\"\r\n },\r\n {\r\n \"value\": 209,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 210,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 211,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 212,\r\n \"label\": \"Trust\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 49,\r\n \"question\": \"A person who feels love is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 213,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 214,\r\n \"label\": \"Frustration\"\r\n },\r\n {\r\n \"value\": 215,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 216,\r\n \"label\": \"Surprise\"\r\n },\r\n {\r\n \"value\": 217,\r\n \"label\": \"Trust\"\r\n },\r\n {\r\n \"value\": 218,\r\n \"label\": \"Uncertainty\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 50,\r\n \"question\": \"A person who feels remorse is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 219,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 220,\r\n \"label\": \"Apprehension\"\r\n },\r\n {\r\n \"value\": 221,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 222,\r\n \"label\": \"Dismay\"\r\n },\r\n {\r\n \"value\": 223,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 224,\r\n \"label\": \"Uncertainty\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 51,\r\n \"question\": \"A person who feels awe is actually feeling a combination of which two emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 2,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 225,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 226,\r\n \"label\": \"Boredom\"\r\n },\r\n {\r\n \"value\": 227,\r\n \"label\": \"Calmness\"\r\n },\r\n {\r\n \"value\": 228,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 229,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 230,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 52,\r\n \"question\": \"A person who feels concern is actually feeling a combination of which three emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 3,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 231,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 232,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 233,\r\n \"label\": \"Anxiety\"\r\n },\r\n {\r\n \"value\": 234,\r\n \"label\": \"Caring\"\r\n },\r\n {\r\n \"value\": 235,\r\n \"label\": \"Dislike\"\r\n },\r\n {\r\n \"value\": 236,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 53,\r\n \"question\": \"A person who feels calmness is actually feeling a combination of which three emotions?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": 3,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 237,\r\n \"label\": \"Serenity\"\r\n },\r\n {\r\n \"value\": 238,\r\n \"label\": \"Delight\"\r\n },\r\n {\r\n \"value\": 239,\r\n \"label\": \"Expectancy\"\r\n },\r\n {\r\n \"value\": 240,\r\n \"label\": \"Relaxation\"\r\n },\r\n {\r\n \"value\": 241,\r\n \"label\": \"Security\"\r\n },\r\n {\r\n \"value\": 242,\r\n \"label\": \"Anticipation\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst progressionsEnergyTasks = {\r\n \"id\": 7,\r\n \"name\": \"ProgressionsEnergy\",\r\n \"rank\": 9,\r\n \"practice\": [\r\n {\r\n \"id\": 55,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy.\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 249,\r\n \"label\": \"Hate\"\r\n },\r\n {\r\n \"value\": 250,\r\n \"label\": \"Disgust\"\r\n },\r\n {\r\n \"value\": 251,\r\n \"label\": \"Dislike\"\r\n },\r\n {\r\n \"value\": 252,\r\n \"label\": \"Indifferent\"\r\n },\r\n {\r\n \"value\": 253,\r\n \"label\": \"Despise\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 56,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 254,\r\n \"label\": \"Content\"\r\n },\r\n {\r\n \"value\": 255,\r\n \"label\": \"Ecstatic\"\r\n },\r\n {\r\n \"value\": 256,\r\n \"label\": \"Amused\"\r\n },\r\n {\r\n \"value\": 257,\r\n \"label\": \"Jubilant\"\r\n },\r\n {\r\n \"value\": 258,\r\n \"label\": \"Delighted\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 57,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 259,\r\n \"label\": \"Miserable\"\r\n },\r\n {\r\n \"value\": 260,\r\n \"label\": \"Sad\"\r\n },\r\n {\r\n \"value\": 261,\r\n \"label\": \"Bored\"\r\n },\r\n {\r\n \"value\": 262,\r\n \"label\": \"Depressed\"\r\n },\r\n {\r\n \"value\": 263,\r\n \"label\": \"Gloomy\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 58,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 264,\r\n \"label\": \"Dislike\"\r\n },\r\n {\r\n \"value\": 265,\r\n \"label\": \"Appalled\"\r\n },\r\n {\r\n \"value\": 266,\r\n \"label\": \"Repulsed\"\r\n },\r\n {\r\n \"value\": 267,\r\n \"label\": \"Disgusted\"\r\n },\r\n {\r\n \"value\": 268,\r\n \"label\": \"Offended\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 59,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 269,\r\n \"label\": \"Satisfied\"\r\n },\r\n {\r\n \"value\": 270,\r\n \"label\": \"Peaceful\"\r\n },\r\n {\r\n \"value\": 271,\r\n \"label\": \"Glad\"\r\n },\r\n {\r\n \"value\": 272,\r\n \"label\": \"Pleased\"\r\n },\r\n {\r\n \"value\": 273,\r\n \"label\": \"Excited\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 60,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 274,\r\n \"label\": \"Displeased\"\r\n },\r\n {\r\n \"value\": 275,\r\n \"label\": \"Angry\"\r\n },\r\n {\r\n \"value\": 276,\r\n \"label\": \"Frustrated\"\r\n },\r\n {\r\n \"value\": 277,\r\n \"label\": \"Annoyed\"\r\n },\r\n {\r\n \"value\": 278,\r\n \"label\": \"Furious\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 61,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 279,\r\n \"label\": \"Adore\"\r\n },\r\n {\r\n \"value\": 280,\r\n \"label\": \"Like\"\r\n },\r\n {\r\n \"value\": 281,\r\n \"label\": \"Interested\"\r\n },\r\n {\r\n \"value\": 282,\r\n \"label\": \"Care\"\r\n },\r\n {\r\n \"value\": 283,\r\n \"label\": \"Love\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 62,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 284,\r\n \"label\": \"Uncomfortable\"\r\n },\r\n {\r\n \"value\": 285,\r\n \"label\": \"Terrified\"\r\n },\r\n {\r\n \"value\": 286,\r\n \"label\": \"Anxious\"\r\n },\r\n {\r\n \"value\": 287,\r\n \"label\": \"Alarmed\"\r\n },\r\n {\r\n \"value\": 288,\r\n \"label\": \"Afraid\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 63,\r\n \"question\": \"Rank the energy of these emotions in order from most to least energy:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 2,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 289,\r\n \"label\": \"Ashamed\"\r\n },\r\n {\r\n \"value\": 290,\r\n \"label\": \"Embarrassed\"\r\n },\r\n {\r\n \"value\": 291,\r\n \"label\": \"Mortified\"\r\n },\r\n {\r\n \"value\": 292,\r\n \"label\": \"Humiliated\"\r\n },\r\n {\r\n \"value\": 293,\r\n \"label\": \"Insecure\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst progressionsPleasantTasks = {\r\n \"id\": 8,\r\n \"name\": \"ProgressionsPleasant\",\r\n \"rank\": 10,\r\n \"practice\": [\r\n {\r\n \"id\": 64,\r\n \"question\": \"Rank the pleasantness of these emotions in order from most to least pleasant:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 294,\r\n \"label\": \"Happy\"\r\n },\r\n {\r\n \"value\": 295,\r\n \"label\": \"Astonished\"\r\n },\r\n {\r\n \"value\": 296,\r\n \"label\": \"Disappointed\"\r\n },\r\n {\r\n \"value\": 297,\r\n \"label\": \"Excited\"\r\n },\r\n {\r\n \"value\": 298,\r\n \"label\": \"Bored\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 69,\r\n \"question\": \"Rank order theemotion words below from most to least number of letters:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 319,\r\n \"label\": \"Excited\"\r\n },\r\n {\r\n \"value\": 320,\r\n \"label\": \"Calm\"\r\n },\r\n {\r\n \"value\": 321,\r\n \"label\": \"Astonished\"\r\n },\r\n {\r\n \"value\": 322,\r\n \"label\": \"Bored\"\r\n },\r\n {\r\n \"value\": 323,\r\n \"label\": \"Sad\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 65,\r\n \"question\": \"Rank the pleasantness of these emotions in order from most to least pleasant:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 299,\r\n \"label\": \"Tense\"\r\n },\r\n {\r\n \"value\": 300,\r\n \"label\": \"Sleepy\"\r\n },\r\n {\r\n \"value\": 301,\r\n \"label\": \"Content\"\r\n },\r\n {\r\n \"value\": 302,\r\n \"label\": \"Miserable\"\r\n },\r\n {\r\n \"value\": 303,\r\n \"label\": \"Calm\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 66,\r\n \"question\": \"Rank the pleasantness of these emotions in order from most to least pleasant:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 304,\r\n \"label\": \"Enraged\"\r\n },\r\n {\r\n \"value\": 305,\r\n \"label\": \"Relaxed\"\r\n },\r\n {\r\n \"value\": 306,\r\n \"label\": \"Distracted\"\r\n },\r\n {\r\n \"value\": 307,\r\n \"label\": \"Angry\"\r\n },\r\n {\r\n \"value\": 308,\r\n \"label\": \"Irritated\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 67,\r\n \"question\": \"Rank the pleasantness of these emotions in order from most to least pleasant:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 309,\r\n \"label\": \"Serene\"\r\n },\r\n {\r\n \"value\": 310,\r\n \"label\": \"Pleased\"\r\n },\r\n {\r\n \"value\": 311,\r\n \"label\": \"Sleepy\"\r\n },\r\n {\r\n \"value\": 312,\r\n \"label\": \"Happy\"\r\n },\r\n {\r\n \"value\": 313,\r\n \"label\": \"Calm\"\r\n }\r\n ],\r\n //\"response\": null\r\n },\r\n {\r\n \"id\": 68,\r\n \"question\": \"Rank the pleasantness of these emotions in order from most to least pleasant:\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": 1,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 314,\r\n \"label\": \"Frightened\"\r\n },\r\n {\r\n \"value\": 315,\r\n \"label\": \"Hopeful\"\r\n },\r\n {\r\n \"value\": 316,\r\n \"label\": \"Uneasy\"\r\n },\r\n {\r\n \"value\": 317,\r\n \"label\": \"Concerned\"\r\n },\r\n {\r\n \"value\": 318,\r\n \"label\": \"Surprised\"\r\n }\r\n ],\r\n //\"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst comicStripsTasks = {\r\n \"id\": 9,\r\n \"name\": \"ComicStrips\",\r\n \"rank\": 8,\r\n \"practice\": [\r\n {\r\n \"id\": 70,\r\n \"question\": \"In which situation would the man feel most calm?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Practice.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 324,\r\n \"label\": \"The coworker says, “I’m sorry to hear you were in an accident, but maybe the other driver was rushing because of an emergency.”\"\r\n },\r\n {\r\n \"value\": 325,\r\n \"label\": \"The coworker says, “That’s awful, anyone would feel upset in your situation.”\"\r\n },\r\n {\r\n \"value\": 326,\r\n \"label\": \"The coworker asks, “What are you feeling right now? Why do you feel like this?”\"\r\n },\r\n {\r\n \"value\": 327,\r\n \"label\": \"The coworker says, “Even though your car was damaged, at least you weren’t injured.”\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 83,\r\n \"question\": \"What is this story about?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Attention.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 376,\r\n \"label\": \"A sports team playing a game.\"\r\n },\r\n {\r\n \"value\": 377,\r\n \"label\": \"A teacher going to school.\"\r\n },\r\n {\r\n \"value\": 378,\r\n \"label\": \"A movie about a lost dog.\"\r\n },\r\n {\r\n \"value\": 379,\r\n \"label\": \"A family is expecting another child.\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 71,\r\n \"question\": \"What could the friend say to make the woman feel least frightened?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item1.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 328,\r\n \"label\": \"“Try not to think about it; you can’t control it, so you’ll just have to wait.” \"\r\n },\r\n {\r\n \"value\": 329,\r\n \"label\": \"“Nothing’s definite yet; let’s wait for more information. Want to have lunch at that new restaurant?” \"\r\n },\r\n {\r\n \"value\": 330,\r\n \"label\": \"“How did that conversation with your doctor make you feel?” \"\r\n },\r\n {\r\n \"value\": 331,\r\n \"label\": \"“I can understand that you’re worried, but this is very common; my sister had to have more tests done.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 72,\r\n \"question\": \"What could the friend say to lower the woman’s optimism for a positive outcome?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item1.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 332,\r\n \"label\": \"“Didn’t your grandmother pass away due to a hereditary heart condition? Your symptoms sound like hers. Are you worried?”\"\r\n },\r\n {\r\n \"value\": 333,\r\n \"label\": \"“No matter what happens, I’ll be there to support you.” \"\r\n },\r\n {\r\n \"value\": 334,\r\n \"label\": \"“It is unfortunate the doctor couldn’t give you more definite information.” \"\r\n },\r\n {\r\n \"value\": 335,\r\n \"label\": \"“There’s nothing you can do about it right now, so try not to think about it.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 73,\r\n \"question\": \"The friend feels helpless because she is unable to provide more support to the woman. In which situation would the woman’s friend feel least helpless?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item1.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 336,\r\n \"label\": \"The woman says to her friend, “Thank you for listening to me. I really value your friendship.” \"\r\n },\r\n {\r\n \"value\": 337,\r\n \"label\": \"The woman says to her friend, “This news is unexpected for both of us. How do you feel right now?”\"\r\n },\r\n {\r\n \"value\": 338,\r\n \"label\": \"The woman says to her friend, “It’s normal to feel uncertain in this kind of situation.” \"\r\n },\r\n {\r\n \"value\": 339,\r\n \"label\": \"The woman impatiently brushes off her friend’s attempt to comfort her.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 74,\r\n \"question\": \"In which situation would the man feel most eager to give the presentation?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item2.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 340,\r\n \"label\": \"The manager says, “This presentation will be a great opportunity for you to get feedback from other managers about your ideas.” \"\r\n },\r\n {\r\n \"value\": 341,\r\n \"label\": \"The manager says, “You tend to talk faster when you’re nervous. Remember to slow down when you present.” \"\r\n },\r\n {\r\n \"value\": 342,\r\n \"label\": \"The manager says, “Your dry run the other day was excellent, and you’ve really mastered the material. Relax, remember to smile, and share some of your enthusiasm!”\"\r\n },\r\n {\r\n \"value\": 343,\r\n \"label\": \"The manager says, “Since we have a few minutes before the presentation starts, let’s talk about the work that you submitted to me yesterday.” \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 75,\r\n \"question\": \"In which situation would the man feel most anxious about giving the presentation?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item2.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 344,\r\n \"label\": \"The manager says, “You’re great at public speaking. I’m looking forward to this presentation!” \"\r\n },\r\n {\r\n \"value\": 345,\r\n \"label\": \"The manager says, “Remember, we’re really on the line with this project, and senior management will be watching. We won’t be able to move forward unless this presentation is good, so good luck.”\"\r\n },\r\n {\r\n \"value\": 346,\r\n \"label\": \"The manager says, “If you need my support at any time during the presentation, don’t hesitate to call on me.” \"\r\n },\r\n {\r\n \"value\": 347,\r\n \"label\": \"The manager says, “My presentations are usually well-received, but others find it hard presenting to this group of people.” \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 76,\r\n \"question\": \"What could the employee say to gain his manager’s confidence?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item2.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 348,\r\n \"label\": \"“Thank you for reviewing my presentation notes yesterday; I really value your feedback.” \"\r\n },\r\n {\r\n \"value\": 349,\r\n \"label\": \"“I included all of the important information in the presentation, but it might be too long now.”\"\r\n },\r\n {\r\n \"value\": 350,\r\n \"label\": \"“I feel certain that between your guidance and my preparation, this presentation will go well.” \"\r\n },\r\n {\r\n \"value\": 351,\r\n \"label\": \"The employee says nothing to his manager; he is too busy reviewing his presentation notes. \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 77,\r\n \"question\": \"In which situation would the man feel least frustrated over the additional delay?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item3.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 352,\r\n \"label\": \"The man calls home to say how frustrated he is. \"\r\n },\r\n {\r\n \"value\": 353,\r\n \"label\": \"The man realizes that the delays won’t affect his trip’s schedule that much. \"\r\n },\r\n {\r\n \"value\": 354,\r\n \"label\": \"The man tries to forget the delay, and instead watches an uninteresting online video. \"\r\n },\r\n {\r\n \"value\": 355,\r\n \"label\": \"The man realizes that the delay gives him extra time to complete some work on his laptop.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 78,\r\n \"question\": \"In which situation would the man feel least concerned about the delay?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item3.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 356,\r\n \"label\": \"The man uses the extra time to catch up on his emails. \"\r\n },\r\n {\r\n \"value\": 357,\r\n \"label\": \"The man uses the extra time at the airport to rearrange his schedule based on the new delay. \"\r\n },\r\n {\r\n \"value\": 358,\r\n \"label\": \"The man goes to the airline counter to find out more information about the delay. \"\r\n },\r\n {\r\n \"value\": 359,\r\n \"label\": \"The man tells himself that the situation is out of his control, and to stop worrying about it.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 79,\r\n \"question\": \"In which situation would the man feel least accepting of the delay?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item3.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 360,\r\n \"label\": \"The man remembers being delayed the last time he traveled with this airline and questions the airline’s overall competence.\"\r\n },\r\n {\r\n \"value\": 361,\r\n \"label\": \"The man thinks about the time he’s already spent waiting at the airport before this additional inconvenience. \"\r\n },\r\n {\r\n \"value\": 362,\r\n \"label\": \"The man decides to go buy something to eat but ends up eating too much. \"\r\n },\r\n {\r\n \"value\": 363,\r\n \"label\": \"The man tries to hide how annoyed he is by the additional delay. \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 80,\r\n \"question\": \"In which situation would the woman feel least nervous about the tight deadline?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item4.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 364,\r\n \"label\": \"The woman takes deep breaths to reduce her anxiety about the timeline. \"\r\n },\r\n {\r\n \"value\": 365,\r\n \"label\": \"The woman thinks to herself, “I was assigned this project because my manager is confident in my ability to complete it on time.” \"\r\n },\r\n {\r\n \"value\": 366,\r\n \"label\": \"The woman tells herself to stop thinking about the tight deadline and instead starts listing the tasks that need to be completed for the project.\"\r\n },\r\n {\r\n \"value\": 367,\r\n \"label\": \"The woman decides to take a coffee break. \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 81,\r\n \"question\": \"In which situation would the woman feel least resentful about being assigned the new project?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item4.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 368,\r\n \"label\": \"The woman thinks about the large impact that this new project will have on her already heavy workload. \"\r\n },\r\n {\r\n \"value\": 369,\r\n \"label\": \"The woman sets the project aside for now and continues working on tasks with more immediate deadlines. \"\r\n },\r\n {\r\n \"value\": 370,\r\n \"label\": \"The woman realizes that the project is simpler than she originally thought, and so it won’t take her as much time to complete.\"\r\n },\r\n {\r\n \"value\": 371,\r\n \"label\": \"The woman tries not to think about how busy she will be over the next two weeks. \"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 82,\r\n \"question\": \"In which situation would the woman feel least frustrated over her heavy workload?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/comicstrips/Item4.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 372,\r\n \"label\": \"The woman tries not to think about all of the overtime that she has already put in. \"\r\n },\r\n {\r\n \"value\": 373,\r\n \"label\": \"The woman envisions how grateful people will be when she completes the project on time, and smiles in front of her coworkers to hide any momentary frustration.\"\r\n },\r\n {\r\n \"value\": 374,\r\n \"label\": \"The woman reluctantly accepts the project and tries not to show her frustration over her increased workload. \"\r\n },\r\n {\r\n \"value\": 375,\r\n \"label\": \"The woman tries not to think about the extra work she’ll have to complete in the upcoming two weeks.\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst videosTasks = {\r\n \"id\": 10,\r\n \"name\": \"videosTasks\",\r\n \"rank\": 13,\r\n \"practice\": [\r\n {\r\n \"id\": 84,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/PracticeItem.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 380,\r\n \"label\": \"Uncertainty\"\r\n },\r\n {\r\n \"value\": 381,\r\n \"label\": \"Disgust \"\r\n },\r\n {\r\n \"value\": 382,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 383,\r\n \"label\": \"Confusion\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 85,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item5.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 384,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 385,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 386,\r\n \"label\": \"Anxiety\"\r\n },\r\n {\r\n \"value\": 387,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 86,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item6.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 388,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 389,\r\n \"label\": \"Annoyance\"\r\n },\r\n {\r\n \"value\": 390,\r\n \"label\": \"Contempt\"\r\n },\r\n {\r\n \"value\": 391,\r\n \"label\": \"Confusion\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 87,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item1.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 392,\r\n \"label\": \"Excitement\"\r\n },\r\n {\r\n \"value\": 393,\r\n \"label\": \"Nervousness\"\r\n },\r\n {\r\n \"value\": 394,\r\n \"label\": \"Astonishment\"\r\n },\r\n {\r\n \"value\": 395,\r\n \"label\": \"Happiness\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 88,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item4.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 396,\r\n \"label\": \"Anticipation\"\r\n },\r\n {\r\n \"value\": 397,\r\n \"label\": \"Frustration\"\r\n },\r\n {\r\n \"value\": 398,\r\n \"label\": \"Fear\"\r\n },\r\n {\r\n \"value\": 399,\r\n \"label\": \"Surprise\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 89,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item8.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 400,\r\n \"label\": \"Smugness\"\r\n },\r\n {\r\n \"value\": 401,\r\n \"label\": \"Happiness\"\r\n },\r\n {\r\n \"value\": 402,\r\n \"label\": \"Contempt\"\r\n },\r\n {\r\n \"value\": 403,\r\n \"label\": \"Disgust\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 90,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item9.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 404,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 405,\r\n \"label\": \"Sadness\"\r\n },\r\n {\r\n \"value\": 406,\r\n \"label\": \"Shame\"\r\n },\r\n {\r\n \"value\": 407,\r\n \"label\": \"Frustration\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 91,\r\n \"question\": \"Which emotion is best expressed by the person in this video?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/videos/Item11.mp4\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 408,\r\n \"label\": \"Annoyance\"\r\n },\r\n {\r\n \"value\": 409,\r\n \"label\": \"Anger\"\r\n },\r\n {\r\n \"value\": 410,\r\n \"label\": \"Confusion\"\r\n },\r\n {\r\n \"value\": 411,\r\n \"label\": \"Contempt\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst textScenariosTasks = {\r\n \"id\": 11,\r\n \"name\": \"TextScenarios\",\r\n \"rank\": 4,\r\n \"practice\": [\r\n {\r\n \"id\": 92,\r\n \"question\": \"In which situation would Hector feel least hurt in response to his friend’s sudden announcement?\",\r\n \"description\": \"Hector developed a close friendship at work over the last year. Today, that friend surprised him by saying he had taken a job at another company and would be moving out of the area.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 412,\r\n \"label\": \"Hector goes and socializes with other friends at work.\"\r\n },\r\n {\r\n \"value\": 413,\r\n \"label\": \"Hector tells himself that it is more important for him to get his work done, and to stop thinking about it.\"\r\n },\r\n {\r\n \"value\": 414,\r\n \"label\": \"Hector thinks about how he feels about this news, and decides to speak to his friend about it.\"\r\n },\r\n {\r\n \"value\": 415,\r\n \"label\": \"Hector assumes that his friend does not care for him; after all, the friend said nothing about searching for new jobs.\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 93,\r\n \"question\": \"In which situation would Amir feel the least desire to purchase the jacket?\",\r\n \"description\": \"While in a clothing store, Amir saw a jacket that he might want to buy. He asked the salesperson a few questions about the jacket, but the salesperson's responses were impatient and curt.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 416,\r\n \"label\": \"The salesperson says, “I’m really busy right now; if you want to buy the jacket, do it quickly.”\"\r\n },\r\n {\r\n \"value\": 417,\r\n \"label\": \"After answering Amir’s questions, the salesperson walks away without offering additional assistance.\"\r\n },\r\n {\r\n \"value\": 418,\r\n \"label\": \"The salesperson asks, “Are you buying this for a special occasion? Can you tell me what you’re looking for?”\"\r\n },\r\n {\r\n \"value\": 419,\r\n \"label\": \"The salesperson says, “This jacket usually looks better on tall people like me.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 94,\r\n \"question\": \"In which situation would Amir feel least angry over the salesperson’s poor customer service attitude?\",\r\n \"description\": \"While in a clothing store, Amir saw a jacket that he might want to buy. He asked the salesperson a few questions about the jacket, but the salesperson's responses were impatient and curt.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 420,\r\n \"label\": \"The salesperson says, “I’m sorry for my tone. It’s been a really difficult day. Do you have any other questions?”\"\r\n },\r\n {\r\n \"value\": 421,\r\n \"label\": \"The salesperson says, “I think this jacket suits your style, would you like to try it on?”\"\r\n },\r\n {\r\n \"value\": 422,\r\n \"label\": \"While walking way, the salesperson says, “Sorry, I’m busy right now, try asking one of my coworkers.”\"\r\n },\r\n {\r\n \"value\": 423,\r\n \"label\": \"The salesperson says, “This jacket is quite pricey, maybe you should look around a bit more.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 95,\r\n \"question\": \"In which situation would the salesperson feel least apathetic? \",\r\n \"description\": \"While in a clothing store, Amir saw a jacket that he might want to buy. He asked the salesperson a few questions about the jacket, but the salesperson's responses were impatient and curt.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 424,\r\n \"label\": \"Amir says, “I see you are busy, so thank you for taking the time to answer my questions.”\"\r\n },\r\n {\r\n \"value\": 425,\r\n \"label\": \"Amir says, “I was thinking of buying this jacket, but I won’t buy it now because you were so rude.”\"\r\n },\r\n {\r\n \"value\": 426,\r\n \"label\": \"After the salesperson finishes speaking, Amir quickly leaves the store without making the purchase.\"\r\n },\r\n {\r\n \"value\": 427,\r\n \"label\": \"Amir feels the salesperson's attitude was unacceptable and asks to speak with the store manager.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 96,\r\n \"question\": \"In which situation would Roy feel most disappointed about not being promoted?\",\r\n \"description\": \"Roy has been working for the same company for ten years and always received excellent performance reviews. He believes he has a reasonable chance of being promoted into a newly created director's position, even though the company’s stated policy is to consider both internal and external candidates for important positions. When he hears that the position had been filled by an external hire, Roy confides to a close friend who works at another firm.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 428,\r\n \"label\": \"Roy's friend says, “It’s their loss. Given your experience and history with the company, you would have been perfect for the position.”\"\r\n },\r\n {\r\n \"value\": 429,\r\n \"label\": \"Roy's friend says, “You are qualified, but maybe the executives want to bring new perspectives into the company.”\"\r\n },\r\n {\r\n \"value\": 430,\r\n \"label\": \"Roy's friend says, “I know you’re disappointed, but it’s partly your own fault. You need to take more initiative instead of waiting for these opportunities to be handed to you.”\"\r\n },\r\n {\r\n \"value\": 431,\r\n \"label\": \"Roy's friend says, “It seems your company doesn't value your contributions. You’ve been working there for a decade and they haven’t promoted you or recognized you in any other way.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 97,\r\n \"question\": \"In which situation would Roy feel most hopeful about his future with this company?\",\r\n \"description\": \"Roy has been working for the same company for ten years and always received excellent performance reviews. He believes he has a reasonable chance of being promoted into a newly created director's position, even though the company’s stated policy is to consider both internal and external candidates for important positions. When he hears that the position had been filled by an external hire, Roy confides to a close friend who works at another firm.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 432,\r\n \"label\": \"Roy's friend says, “It's too bad that you weren't promoted, but your company is growing quickly. There'll be other future opportunities—and they do sometimes hire from within.”\"\r\n },\r\n {\r\n \"value\": 433,\r\n \"label\": \"Roy's friend says, “You must be so disappointed. Do you want to talk about it?”\"\r\n },\r\n {\r\n \"value\": 434,\r\n \"label\": \"Roy's friend says, “It's too bad that things didn't work out, but you’re so talented; I’m sure you’ll be recognized at some point.”\"\r\n },\r\n {\r\n \"value\": 435,\r\n \"label\": \"Roy's friend says, “There’s nothing you can do to change their decision. Let’s go out and have some fun instead.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 98,\r\n \"question\": \"In which situation would Roy elicit the most comfort from his friend?\",\r\n \"description\": \"Roy has been working for the same company for ten years and always received excellent performance reviews. He believes he has a reasonable chance of being promoted into a newly created director's position, even though the company’s stated policy is to consider both internal and external candidates for important positions. When he hears that the position had been filled by an external hire, Roy confides to a close friend who works at another firm.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 436,\r\n \"label\": \"Roy says, “I know this could have happened to anyone, but I’m finding it very hard to swallow. Was it me? Do you think they respect me and my work?”\"\r\n },\r\n {\r\n \"value\": 437,\r\n \"label\": \"Roy says, “I work so hard, and I have done everything I can to show them that I’m leadership material. If they don’t see it, that’s their problem. I can’t believe how small-minded they are.”\"\r\n },\r\n {\r\n \"value\": 438,\r\n \"label\": \"Roy says, “It’s so unfair. You can’t get anywhere in this company unless you are friends with the right people.”\"\r\n },\r\n {\r\n \"value\": 439,\r\n \"label\": \"Roy says, “You’re so lucky that the career opportunities at your company are so transparent.”\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 99,\r\n \"question\": \"In which situation would the woman feel least anxious about not being truthful?\",\r\n \"description\": \"An employee’s manager praises her for coming up with an innovative new marketing strategy. Even though it was her coworker who thought of the marketing strategy, the woman accepts her manager's praise.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 440,\r\n \"label\": \"The woman tries not to think about what would happen if her manager found out that she wasn’t truthful.\"\r\n },\r\n {\r\n \"value\": 441,\r\n \"label\": \"The woman tells herself not to worry, trying to suppress her anxiety.\"\r\n },\r\n {\r\n \"value\": 442,\r\n \"label\": \"The woman tries not to think about how her relationship with her coworker may be affected by her actions.\"\r\n },\r\n {\r\n \"value\": 443,\r\n \"label\": \"The woman joins a fun conversation so that she doesn’t appear to be anxious.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 100,\r\n \"question\": \"In which situation would the woman feel least guilty about taking credit for someone else’s idea?\",\r\n \"description\": \"An employee’s manager praises her for coming up with an innovative new marketing strategy. Even though it was her coworker who thought of the marketing strategy, the woman accepts her manager's praise.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 444,\r\n \"label\": \"The woman acknowledges that she feels bad about what she did and wonders why she wasn’t truthful with her manager.\"\r\n },\r\n {\r\n \"value\": 445,\r\n \"label\": \"The woman tells herself that she didn’t really lie, since the coworker came up with the idea during a joint brainstorming session.\"\r\n },\r\n {\r\n \"value\": 446,\r\n \"label\": \"The woman decides to avoid her coworker and her manager while in the office.\"\r\n },\r\n {\r\n \"value\": 447,\r\n \"label\": \"The woman goes out of her way to help her team throughout the rest of the day.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 101,\r\n \"question\": \"In which situation would the woman feel least satisfied over being praised by her manager?\",\r\n \"description\": \"An employee’s manager praises her for coming up with an innovative new marketing strategy. Even though it was her coworker who thought of the marketing strategy, the woman accepts her manager's praise.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 448,\r\n \"label\": \"The woman quietly accepts her manager’s praise and then calmly goes about her work.\"\r\n },\r\n {\r\n \"value\": 449,\r\n \"label\": \"The woman thinks about how good she felt when her manager praised her.\"\r\n },\r\n {\r\n \"value\": 450,\r\n \"label\": \"The woman decides to take a break and enjoy the sunny weather outside.\"\r\n },\r\n {\r\n \"value\": 451,\r\n \"label\": \"The woman wonders whether she should share her manager’s praise with her coworker.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 102,\r\n \"question\": \"In which situation would Diana feel most nervous about being a new homeowner?\",\r\n \"description\": \"Diana is ready to purchase her first house and her friend offers to go with her to view some possibilities. Several weekends are spent viewing houses before Diana finds and purchases what she considers her dream home.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 452,\r\n \"label\": \"Diana tells herself that the home she purchased is a good long-term investment.\"\r\n },\r\n {\r\n \"value\": 453,\r\n \"label\": \"Diana realizes that she has reached a defining moment in adulthood by purchasing her home.\"\r\n },\r\n {\r\n \"value\": 454,\r\n \"label\": \"Diana thinks about the additional costs and responsibilities that come with being a homeowner.\"\r\n },\r\n {\r\n \"value\": 455,\r\n \"label\": \"Diana realizes that most new homeowners probably feel a bit nervous.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 103,\r\n \"question\": \"In which situation would Diana feel the most gratitude toward her friend for accompanying her during the house hunting process?\",\r\n \"description\": \"Diana is ready to purchase her first house and her friend offers to go with her to view some possibilities. Several weekends are spent viewing houses before Diana finds and purchases what she considers her dream home.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 456,\r\n \"label\": \"Diana thinks of all of the times that her friend had helped her out. \"\r\n },\r\n {\r\n \"value\": 457,\r\n \"label\": \"Diana tells her family about how her friend helped her during the house hunting process. \"\r\n },\r\n {\r\n \"value\": 458,\r\n \"label\": \"Diana realizes that her friend will probably ask her to return the favor in the future. \"\r\n },\r\n {\r\n \"value\": 459,\r\n \"label\": \"Diana thinks of all of the hassles that she went through the last time her friend asked her to repay a favor.\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 104,\r\n \"question\": \"In which situation would Diana feel most impatient to move into her new home?\",\r\n \"description\": \"Diana is ready to purchase her first house and her friend offers to go with her to view some possibilities. Several weekends are spent viewing houses before Diana finds and purchases what she considers her dream home.\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 460,\r\n \"label\": \"Diana complains to her friend how the previous homeowner was unwilling to let Diana move in at the end of the month.\"\r\n },\r\n {\r\n \"value\": 461,\r\n \"label\": \"Diana realizes that the time spent waiting to move into her new home could be spent hosting a party to say goodbye to her current neighbors.\"\r\n },\r\n {\r\n \"value\": 462,\r\n \"label\": \"Diana thinks about how she will need to pay for another month’s rent on her present residence while she waits to move in.\"\r\n },\r\n {\r\n \"value\": 463,\r\n \"label\": \"Diana reflects on how organized and prepared she is to move in.\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst facesTasks = {\r\n \"id\": 12,\r\n \"name\": \"Faces\",\r\n \"rank\": 1,\r\n \"practice\": [\r\n {\r\n \"id\": 105,\r\n \"question\": \"How much happiness is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_PracticeItem_Neutral.png\",\r\n \"/images/faces/Faces_PracticeItem_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 464,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 465,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 466,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 467,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 468,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 469,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 106,\r\n \"question\": \"How much embarassment is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_PracticeItem_Neutral.png\",\r\n \"/images/faces/Faces_PracticeItem_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 470,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 471,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 472,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 473,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 474,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 475,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 107,\r\n \"question\": \"How much amusement is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_PracticeItem_Neutral.png\",\r\n \"/images/faces/Faces_PracticeItem_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 476,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 477,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 478,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 479,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 480,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 481,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [],\r\n \"tasks\": [\r\n {\r\n \"id\": 108,\r\n \"question\": \"How much anger is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item1_Neutral.png\",\r\n \"/images/faces/Faces_Item1_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 482,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 483,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 484,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 485,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 486,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 487,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 109,\r\n \"question\": \"How much anxiety is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item1_Neutral.png\",\r\n \"/images/faces/Faces_Item1_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 488,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 489,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 490,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 491,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 492,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 493,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 110,\r\n \"question\": \"How much irritation is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item1_Neutral.png\",\r\n \"/images/faces/Faces_Item1_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 494,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 495,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 496,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 497,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 498,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 499,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 111,\r\n \"question\": \"How much contempt is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item2_Neutral.png\",\r\n \"/images/faces/Faces_Item2_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 501,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 502,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 503,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 504,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 505,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 506,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 112,\r\n \"question\": \"How much anxiety is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item2_Neutral.png\",\r\n \"/images/faces/Faces_Item2_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 507,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 508,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 509,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 510,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 511,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 512,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 113,\r\n \"question\": \"How much disgust is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item2_Neutral.png\",\r\n \"/images/faces/Faces_Item2_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 513,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 514,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 515,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 516,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 517,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 518,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 114,\r\n \"question\": \"How much anger is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item3_Neutral.png\",\r\n \"/images/faces/Faces_Item3_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 519,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 520,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 521,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 522,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 523,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 524,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 115,\r\n \"question\": \"How much surprise is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item3_Neutral.png\",\r\n \"/images/faces/Faces_Item3_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 525,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 526,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 527,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 528,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 529,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 530,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 116,\r\n \"question\": \"How much loathing is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item3_Neutral.png\",\r\n \"/images/faces/Faces_Item3_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 531,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 532,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 533,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 534,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 535,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 536,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 117,\r\n \"question\": \"How much contempt is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item4_Neutral.png\",\r\n \"/images/faces/Faces_Item4_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 537,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 538,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 539,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 540,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 541,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 542,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 118,\r\n \"question\": \"How much happiness is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item4_Neutral.png\",\r\n \"/images/faces/Faces_Item4_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 543,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 544,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 545,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 546,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 547,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 548,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 119,\r\n \"question\": \"How much irritation is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item4_Neutral.png\",\r\n \"/images/faces/Faces_Item4_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 549,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 550,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 551,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 552,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 553,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 554,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 120,\r\n \"question\": \"How much surprise is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item6_Neutral.png\",\r\n \"/images/faces/Faces_Item6_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 555,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 556,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 557,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 558,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 559,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 560,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 121,\r\n \"question\": \"How much concern is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item6_Neutral.png\",\r\n \"/images/faces/Faces_Item6_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 561,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 562,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 563,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 564,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 565,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 566,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 122,\r\n \"question\": \"How much joy is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item6_Neutral.png\",\r\n \"/images/faces/Faces_Item6_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 567,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 568,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 569,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 570,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 571,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 572,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 123,\r\n \"question\": \"How much disgust is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item7_Neutral.png\",\r\n \"/images/faces/Faces_Item7_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 573,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 574,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 575,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 576,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 577,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 578,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 124,\r\n \"question\": \"How much fear is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item7_Neutral.png\",\r\n \"/images/faces/Faces_Item7_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 579,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 580,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 581,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 582,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 583,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 584,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 125,\r\n \"question\": \"How much concern is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item7_Neutral.png\",\r\n \"/images/faces/Faces_Item7_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 585,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 586,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 587,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 588,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 589,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 590,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 126,\r\n \"question\": \"How much disgust is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item8_Neutral.png\",\r\n \"/images/faces/Faces_Item8_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 591,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 592,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 593,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 594,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 595,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 596,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 127,\r\n \"question\": \"How much boredom is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item8_Neutral.png\",\r\n \"/images/faces/Faces_Item8_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 597,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 598,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 599,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 600,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 601,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 602,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 128,\r\n \"question\": \"How much disappointment is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item8_Neutral.png\",\r\n \"/images/faces/Faces_Item8_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 603,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 604,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 605,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 606,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 607,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 608,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 129,\r\n \"question\": \"How much happiness is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item9_Neutral.png\",\r\n \"/images/faces/Faces_Item9_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 609,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 610,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 611,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 612,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 613,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 614,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 130,\r\n \"question\": \"How much surprise is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item9_Neutral.png\",\r\n \"/images/faces/Faces_Item9_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 615,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 616,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 617,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 618,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 619,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 620,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 131,\r\n \"question\": \"How much fear is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item9_Neutral.png\",\r\n \"/images/faces/Faces_Item9_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 621,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 622,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 623,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 624,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 625,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 626,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 132,\r\n \"question\": \"How much anger is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item10_Neutral.png\",\r\n \"/images/faces/Faces_Item10_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 627,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 628,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 629,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 630,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 631,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 632,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 133,\r\n \"question\": \"How much fear is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item10_Neutral.png\",\r\n \"/images/faces/Faces_Item10_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 633,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 634,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 635,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 636,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 637,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 638,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 134,\r\n \"question\": \"How much shame is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item10_Neutral.png\",\r\n \"/images/faces/Faces_Item10_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 639,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 640,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 641,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 642,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 643,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 644,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 135,\r\n \"question\": \"How much surprise is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item12_Neutral.png\",\r\n \"/images/faces/Faces_Item12_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 645,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 646,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 647,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 648,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 649,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 650,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 136,\r\n \"question\": \"How much interest is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item12_Neutral.png\",\r\n \"/images/faces/Faces_Item12_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 651,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 652,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 653,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 654,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 655,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 656,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 137,\r\n \"question\": \"How much happiness is expressed by the Emotion Face?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [\r\n \"/images/faces/Faces_Item12_Neutral.png\",\r\n \"/images/faces/Faces_Item12_EmotionalFace.png\"\r\n ],\r\n \"options\": [\r\n {\r\n \"value\": 657,\r\n \"label\": \"None\"\r\n },\r\n {\r\n \"value\": 658,\r\n \"label\": \"A little\"\r\n },\r\n {\r\n \"value\": 659,\r\n \"label\": \"Some\"\r\n },\r\n {\r\n \"value\": 660,\r\n \"label\": \"Moderate\"\r\n },\r\n {\r\n \"value\": 661,\r\n \"label\": \"A lot\"\r\n },\r\n {\r\n \"value\": 662,\r\n \"label\": \"Extreme\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst emotionalSettingsTasks = {\r\n \"id\": 13,\r\n \"name\": \"EmotionalSettings\",\r\n \"rank\": 12,\r\n \"practice\": [\r\n {\r\n \"id\": 138,\r\n \"question\": \"While composing music to accompany a military march, a woman feels worried when the event coordinator told her that she would need to have this musical composition completed a week earlier than planned. Now that she feels worried, what task on her list will she be able to do most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 663,\r\n \"label\": \"Compose the military march\"\r\n },\r\n {\r\n \"value\": 664,\r\n \"label\": \"Plan out the groceries needed to prepare meals for the week\"\r\n },\r\n {\r\n \"value\": 665,\r\n \"label\": \"Clean the kitchen\"\r\n },\r\n {\r\n \"value\": 666,\r\n \"label\": \"Review monthly credit card statements for accuracy\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"attention\": [\r\n {\r\n \"id\": 144,\r\n \"question\": \"An advertising employee responsible for a new marketing campaign feels pleased when he receives an email stating that there will be free lunches at the agency today. What is the most likely job title for this employee?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 687,\r\n \"label\": \"Advertising Director\"\r\n },\r\n {\r\n \"value\": 688,\r\n \"label\": \"Engineer\"\r\n },\r\n {\r\n \"value\": 689,\r\n \"label\": \"Teacher\"\r\n },\r\n {\r\n \"value\": 690,\r\n \"label\": \"Sports Coach\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ],\r\n \"tasks\": [\r\n {\r\n \"id\": 139,\r\n \"question\": \"A woman is making decorations for a friend’s birthday party. She receives a call from the bank and is disappointed that her loan has been rejected. Now that she feels disappointed, which task on her list will she be able to do most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 667,\r\n \"label\": \"Create decorations for friend’s party\"\r\n },\r\n {\r\n \"value\": 668,\r\n \"label\": \"File taxes\"\r\n },\r\n {\r\n \"value\": 669,\r\n \"label\": \"Attempt to return an item that is past its refund date\"\r\n },\r\n {\r\n \"value\": 670,\r\n \"label\": \"Finish gardening and yard work\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 140,\r\n \"question\": \"A man is thinking about how he could improve himself over the next year. He feels accomplished after realizing that he has already made significant progress towards achieving his long-term goals. Now that he feels accomplished, which task on his list will he be able to do most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 671,\r\n \"label\": \"Reflect on which goals to tackle in the upcoming year\"\r\n },\r\n {\r\n \"value\": 672,\r\n \"label\": \"Securely package fragile items that need to be mailed\"\r\n },\r\n {\r\n \"value\": 673,\r\n \"label\": \"Call the bank to transfer savings and investments to a competitor bank\"\r\n },\r\n {\r\n \"value\": 674,\r\n \"label\": \"Create a meal using whatever ingredients are available on hand\"\r\n }\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 141,\r\n \"question\": \"A facilitator is creating an evaluation plan for the wellness program. He feels disheartened after hearing that a previous participant criticized the wellness program and the facilitator. Now that he feels disheartened, which task on his list will he be able to do most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 675,\r\n \"label\": \"Develop an evaluation plan for the wellness program\"\r\n },\r\n {\r\n \"value\": 676,\r\n \"label\": \"Brainstorm new ways of promoting the wellness program\"\r\n },\r\n {\r\n \"value\": 677,\r\n \"label\": \"Call sponsors to solicit additional funding for new wellness initiatives\"\r\n },\r\n {\r\n \"value\": 678,\r\n \"label\": \"Attend a yoga session\"\r\n }\r\n ],\r\n response: RESPONSE_DEFAULT,\r\n },\r\n {\r\n id: 47,\r\n question: 'Task 2 Question',\r\n options: [\r\n { value: 1, label: 'A' },\r\n { value: 2, label: 'B' },\r\n { value: 3, label: 'C' },\r\n { value: 4, label: 'D' },\r\n ],\r\n \"response\": null\r\n },\r\n {\r\n \"id\": 143,\r\n \"question\": \"A team is working together to resolve a major client’s complaint. All team members feel frustrated after blaming each other for the client’s dissatisfaction. Now that they all feel frustrated, which task will they be able to do most effectively?\",\r\n \"description\": \"\",\r\n \"numberOfResponses\": null,\r\n \"played\": false,\r\n \"type\": null,\r\n \"mediaPath\": [],\r\n \"options\": [\r\n {\r\n \"value\": 683,\r\n \"label\": \"Collaborate as a team to address the client’s complaint\"\r\n },\r\n {\r\n \"value\": 684,\r\n \"label\": \"Brainstorm and discuss the next team building activity\"\r\n },\r\n {\r\n \"value\": 685,\r\n \"label\": \"Debate about the most pressing team challenges that must be addressed\"\r\n },\r\n {\r\n \"value\": 686,\r\n \"label\": \"Review the team’s progress in completing its annual objectives\"\r\n }\r\n ],\r\n \"response\": null\r\n }\r\n ]\r\n}\r\n\r\nconst outcome = [\r\n {\r\n id: 5001,\r\n question: \"Question \" + 5001,\r\n options: [\r\n { value: 1, label: \"Label \" + 1 },\r\n { value: 2, label: \"Label \" + 2 },\r\n { value: 3, label: \"Label \" + 3 },\r\n { value: 4, label: \"Label \" + 4 },\r\n { value: 5, label: \"Label \" + 5 },\r\n ]\r\n },\r\n {\r\n id: 5002,\r\n question: \"Question \" + 5002,\r\n options: [\r\n { value: 1, label: \"Label \" + 1 },\r\n { value: 2, label: \"Label \" + 2 },\r\n { value: 3, label: \"Label \" + 3 },\r\n { value: 4, label: \"Label \" + 4 },\r\n { value: 5, label: \"Label \" + 5 },\r\n ]\r\n },\r\n {\r\n id: 5003,\r\n question: \"Question \" + 5003,\r\n options: [\r\n { value: 1, label: \"Label \" + 1 },\r\n { value: 2, label: \"Label \" + 2 },\r\n { value: 3, label: \"Label \" + 3 },\r\n { value: 4, label: \"Label \" + 4 },\r\n { value: 5, label: \"Label \" + 5 },\r\n ]\r\n },\r\n {\r\n id: 5004,\r\n question: \"Question \" + 5004,\r\n options: [\r\n { value: 1, label: \"Label \" + 1 },\r\n { value: 2, label: \"Label \" + 2 },\r\n { value: 3, label: \"Label \" + 3 },\r\n { value: 4, label: \"Label \" + 4 },\r\n { value: 5, label: \"Label \" + 5 },\r\n ]\r\n },\r\n {\r\n id: 5005,\r\n question: \"Question \" + 5005,\r\n options: [\r\n { value: 1, label: \"Label \" + 1 },\r\n { value: 2, label: \"Label \" + 2 },\r\n { value: 3, label: \"Label \" + 3 },\r\n { value: 4, label: \"Label \" + 4 },\r\n { value: 5, label: \"Label \" + 5 },\r\n ]\r\n },\r\n\r\n]\r\n\r\nconst testData = {\r\n facilitationTasks: facilitationTasks,\r\n sensationsTasks: sensationsTasks,\r\n moodMeterTasks: moodMeterTasks,\r\n textScenariosTasks: textScenariosTasks,\r\n contextualPicturesTasks: contextualPicturesTasks,\r\n changesTasks: changesTasks,\r\n blendsTasks: blendsTasks,\r\n comicStripsTasks: comicStripsTasks,\r\n progressionsEnergyTasks: progressionsEnergyTasks,\r\n progressionsPleasantTasks: progressionsPleasantTasks,\r\n comicStripsTasks: comicStripsTasks,\r\n videosTasks: videosTasks,\r\n textScenariosTasks: textScenariosTasks,\r\n facesTasks: facesTasks,\r\n emotionalSettingsTasks: emotionalSettingsTasks\r\n};\r\n\r\nexport default testData;\r\n\r\n/* LOOKUP */\r\nexport const YesOrNoOption = [\r\n { value: 1, text: 'No' },\r\n { value: 2, text: 'Yes' }\r\n];\r\n\r\nexport const YesOrNoOrDontKnowOptions = [\r\n { value: 1, text: 'No' },\r\n { value: 2, text: 'Yes' },\r\n { value: 3, text: `Don't know` },\r\n];\r\n\r\nexport const RaceOptions = [\r\n { value: null, text: '' },\r\n { value: 1, text: 'Asian; Pacific Islander', requireOther: false },\r\n { value: 2, text: 'Black, African American, African Canadian', requireOther: false },\r\n { value: 3, text: 'Native, Aboriginal', requireOther: false },\r\n { value: 4, text: 'White', requireOther: false },\r\n { value: 5, text: 'Multiracial', requireOther: false },\r\n { value: 6, text: 'Other', requireOther: true },\r\n];\r\n\r\nexport const EthnicOriginsOptions = [\r\n { value: null, text: '' },\r\n { value: 1, text: 'European origins', requireOther: false },\r\n { value: 2, text: 'Other North American origins', requireOther: false },\r\n { value: 3, text: 'North American Aboriginal origins', requireOther: false },\r\n { value: 4, text: 'Caribbean origins', requireOther: false },\r\n { value: 5, text: 'Latin, Central and South American origins', requireOther: false },\r\n { value: 6, text: 'African origins', requireOther: false },\r\n { value: 7, text: 'Asian origins', requireOther: false },\r\n { value: 8, text: 'Oceania origins', requireOther: false },\r\n { value: 9, text: 'Other', requireOther: true },\r\n];\r\n\r\nexport const GenderOptions = [\r\n { value: undefined, text: '', terminate: false, requireOther: false },\r\n { value: 1, text: 'Male', terminate: false, requireOther: false },\r\n { value: 2, text: 'Female', terminate: false, requireOther: false },\r\n { value: 3, text: 'Other', terminate: false, requireOther: true },\r\n { value: 4, text: 'Prefer not to answer', terminate: true, requireOther: false },\r\n];\r\n\r\nexport const EnglishOptions = [\r\n { value: undefined, text: '', terminate: false },\r\n { value: 1, text: 'Very well', terminate: false },\r\n { value: 2, text: 'Well', terminate: false },\r\n { value: 3, text: 'Not very well', terminate: true },\r\n { value: 4, text: 'Not at all', terminate: true },\r\n { value: 5, text: `Don't know`, terminate: true },\r\n];\r\n\r\nexport const CountryOptions = [\r\n { value: undefined, text: '', terminate: false, requireState: false, requireProvince: false },\r\n { value: 1, text: 'United States', terminate: false, requireState: true, requireProvince: false },\r\n { value: 2, text: 'Canada', terminate: false, requireState: false, requireProvince: true },\r\n { value: 3, text: 'Other', terminate: true, requireState: false, requireProvince: false },\r\n];\r\n\r\nexport const StateOptions = [\r\n { value: undefined, text: '', terminate: false },\r\n { value: 1, text: 'Alabama', terminate: false },\r\n { value: 2, text: 'Alaska', terminate: false },\r\n { value: 3, text: 'Arizona', terminate: false },\r\n { value: 52, text: 'Other', terminate: true },\r\n];\r\n\r\nexport const ProvinceOptions = [\r\n { value: undefined, text: '' },\r\n { value: 1, text: 'Alberta' },\r\n { value: 2, text: 'British Columbia' },\r\n { value: 3, text: 'Manitoba' },\r\n];\r\n\r\nexport const EducationOptions = [\r\n { value: undefined, text: '' },\r\n { value: 1, text: `No high school diploma`},\r\n { value: 2, text: `Graduated from high school/GED, or alternative`},\r\n { value: 3, text: 'Some college or university, but did not graduate'},\r\n { value: 4, text: 'Trade certificate or diploma (associate degree - occupational)'},\r\n { value: 5, text: 'Graduated from community or technical college (associate degree - academic)'},\r\n { value: 6, text: `Graduated from university with bachelor's degree`},\r\n { value: 7, text: `Obtained a post graduate or professional degree (e.g., M.A., Ph.D., M.D., LLB, etc.)`}\r\n]\r\n\r\nexport const StudentOptions = [\r\n { value: 1, text: `No`, isStudent: false },\r\n { value: 2, text: `Yes, full-time`, isStudent: true },\r\n { value: 3, text: `Yes, part-time`, isStudent: true }\r\n]\r\n\r\nexport const DegreeOptions = [\r\n { value: undefined, text: '' },\r\n { value: 1, text: `Trade certificate or diploma`},\r\n { value: 2, text: `Community or technical college`},\r\n { value: 3, text: `Bachelor’s degree`},\r\n { value: 4, text: `Master’s Degree (e.g., M.A. or M.Sc.)`},\r\n { value: 5, text: `Master’s of Business Administration (M.B.A.)`},\r\n { value: 6, text: `Doctorate Degree (Ph.D.)`},\r\n { value: 7, text: `Professional Degree (e.g., LLB, M.D.)`},\r\n { value: 8, text: `Other`},\r\n]\r\n\r\nexport const GPAOptions = [\r\n { value: undefined, text: '' },\r\n { value: 1, text: `3.5-4.0 (an “A” average)`},\r\n { value: 2, text: `2.5 to 3.4 (a “B” average)`},\r\n { value: 3, text: `1.5 to 2.4 (a “C” average)`},\r\n { value: 4, text: `0.5 to 1.4 (a “D” average)`},\r\n { value: 5, text: `0.0 to 0.4 (less than a “D” average)`},\r\n { value: 6, text: `Don’t Know`},\r\n]\r\n\r\nexport const EmploymentStatusOptions = [\r\n { value: undefined, text: '', terminate: false, skipToUnemployment: false, requireOther: false },\r\n { value: 1, text: `Employed or self-employed; full-time`, terminate: false, skipToUnemployment: false, requireOther: false },\r\n { value: 2, text: `Employed or self-employed; part-time`, terminate: false, skipToUnemployment: false, requireOther: false },\r\n { value: 3, text: `Unemployed`, terminate: false, skipToUnemployment: true, requireOther: false },\r\n { value: 4, text: `Retired`, terminate: false, skipToUnemployment: true, requireOther: false },\r\n { value: 5, text: `Other`, terminate: true, skipToUnemployment: false, requireOther: true },\r\n]\r\n\r\nexport const OrganizationLevelOptions = [\r\n { value: undefined, text: '', requireOther: false, hasDirectReports: false },\r\n { value: 1, text: `Senior Executive (President, CEO, CFO, VP, etc.)`, requireOther: false, hasDirectReports: true },\r\n { value: 2, text: `Senior Manager (individuals who manage managers)`, requireOther: false, hasDirectReports: true },\r\n { value: 3, text: `Manager (individuals who manage others)`, requireOther: false, hasDirectReports: true },\r\n { value: 4, text: `Non-managerial Employee/Staff`, requireOther: false, hasDirectReports: false },\r\n { value: 5, text: `Other`, requireOther: true, hasDirectReports: false },\r\n]\r\n\r\nexport const DirectReportsOptions = [\r\n { value: 1, text: `0`},\r\n { value: 2, text: `1-5`},\r\n { value: 3, text: `6-10`},\r\n { value: 4, text: `11-15`},\r\n { value: 5, text: `16+`},\r\n]\r\n\r\nexport const OccupationalAreaOptions = [\r\n { value: undefined, text: '', requireOther: false },\r\n { value: 17, text: `Architecture and Engineering`, requireOther: false },\r\n { value: 27, text: `Arts, Design, Entertainment, Sports and Media`, requireOther: false },\r\n { value: 37, text: `Building, Grounds Cleaning and Maintenance`, requireOther: false },\r\n { value: 99, text: `Other`, requireOther: true },\r\n]\r\n\r\nexport const OccupationOptions = [\r\n { value: undefined, text: '', area: 0, requireOther: false },\r\n {value: 1, text: `Aerospace Engineers`, area: 17, requireOther: false },\r\n {value: 2, text: `Agricultural Engineers`, area: 17, requireOther: false },\r\n {value: 3, text: `Architects, Except Naval`, area: 17, requireOther: false },\r\n {value: 22, text: `Other`, area: 17, requireOther: true },\r\n {value: 27, text: `Broadcast and Sound Engineering Technicians and Radio Operators`, area: 27, requireOther: false },\r\n {value: 28, text: `Dancers and Choreographers`, area: 27, requireOther: false },\r\n {value: 29, text: `Designers`, area: 27, requireOther: false },\r\n {value: 39, text: `Other`, area: 27, requireOther: true },\r\n {value: 40, text: `Building Cleaning Workers`, area: 37, requireOther: false },\r\n {value: 41, text: `First-Line Supervisors of Building and Grounds Cleaning and Maintenance Workers`, area: 37, requireOther: false },\r\n {value: 42, text: `Grounds Maintenance Workers`, area: 37, requireOther: false },\r\n {value: 43, text: `Pest Control Workers`, area: 37, requireOther: false },\r\n {value: 44, text: `Other`, area: 37, requireOther: true },\r\n]\r\n\r\nexport const DiagnosedOptions = [\r\n { value: 1, text: 'No', terminate: false },\r\n { value: 2, text: 'Yes', terminate: true },\r\n { value: 3, text: `Don't know`, terminate: true },\r\n];\r\n\r\nexport const getDummyLookup = (lookupName, params) => {\r\n switch (lookupName) {\r\n case LOOKUP_GENDER:\r\n return GenderOptions;\r\n case LOOKUP_RACE:\r\n return RaceOptions;\r\n case LOOKUP_ETHNIC_ORIGINS:\r\n return EthnicOriginsOptions;\r\n case LOOKUP_YESORNO:\r\n return YesOrNoOption;\r\n case LOOKUP_YESORNODONTKNOW:\r\n return YesOrNoOrDontKnowOptions;\r\n case LOOKUP_ENGLISH:\r\n return EnglishOptions;\r\n case LOOKUP_COUNTRY:\r\n return CountryOptions;\r\n case LOOKUP_STATE:\r\n return StateOptions;\r\n case LOOKUP_PROVINCE:\r\n return ProvinceOptions;\r\n case LOOKUP_EDUCATION:\r\n return EducationOptions;\r\n case LOOKUP_STUDENT:\r\n return StudentOptions;\r\n case LOOKUP_DEGREES:\r\n return DegreeOptions;\r\n case LOOKUP_GPA:\r\n return GPAOptions;\r\n case LOOKUP_EMPLOYEMENTSTATUS:\r\n return EmploymentStatusOptions;\r\n case LOOKUP_ORGANIZATIONLEVEL:\r\n return OrganizationLevelOptions;\r\n case LOOKUP_DIRECTREPORTS:\r\n return DirectReportsOptions;\r\n case LOOKUP_OCCUPATIONALAREA:\r\n return OccupationalAreaOptions;\r\n case LOOKUP_OCCUPATION:\r\n return OccupationOptions.filter(item => parseInt(item.area) === parseInt(params.area) || item.area === 0);\r\n case LOOKUP_DIAGNOSED:\r\n return DiagnosedOptions;\r\n default:\r\n return []\r\n }\r\n}\r\n\r\n/* TASKS */\r\n\r\nexport const tasks = [\r\n { id: 12},\r\n { id: 10},\r\n { id: 1},\r\n { id: 2},\r\n { id: 3},\r\n { id: 4},\r\n { id: 5},\r\n { id: 6},\r\n { id: 7},\r\n { id: 8},\r\n { id: 9},\r\n { id: 11},\r\n]","import {\r\n getGenders,\r\n getGendersDontKnow,\r\n getRaces,\r\n getEthnicOrigins,\r\n getYesOrNo,\r\n getYesOrNoOrDontKnow,\r\n getEnglish,\r\n getCountries,\r\n getCountriesDontknow,\r\n getStates,\r\n getStatesDontKnow,\r\n getProvinces,\r\n getProvincesDontKnow,\r\n getEducations,\r\n getStudents,\r\n getDegrees,\r\n getGPAs,\r\n getGrades,\r\n getEmploymentStatus,\r\n getOrganizationLevels,\r\n getDirectReports,\r\n getOccupationalAreas,\r\n getOccupations,\r\n getOccupationsPV,\r\n getTeaching,\r\n getDiagnosed,\r\n getHispanic,\r\n getHispanicRater,\r\n getHispanicRatee,\r\n getAboriginal,\r\n getAboriginalRater,\r\n getAboriginalRatee,\r\n getRacesByCountry,\r\n getRacesByCountryRater,\r\n getRacesByCountryRatee,\r\n getEducationsByCountry,\r\n getEducationsByCountryWithoutNotApplicable,\r\n getAge,\r\n getSpecialServices,\r\n getChildcareSetting,\r\n getChildRelationship,\r\n getSchoolSetting,\r\n getSpokenLanguage,\r\n getAssessmentReader,\r\n getAssessmentDataEnterer,\r\n getSubRaces,\r\n getTeacherHowWellKnown,\r\n getTeacherHowLongKnown,\r\n getTeacherHowOftenInteracted\r\n} from '../../services/lookup-service';\r\n\r\nimport { getDummyLookup } from '../../test-data';\r\n\r\nexport const REQUEST_START = \"demographics:requestStart\";\r\nexport const REQUEST_LOAD = \"demographics:requestLoad\";\r\nexport const REQUEST_ERROR = \"demographics:requestError\";\r\nexport const REQUEST_END = \"demographics:requestEnd\";\r\n\r\nexport const LOOKUP_GENDER = \"gender\";\r\nexport const LOOKUP_GENDER_DONTKNOW = \"genderDontKnow\";\r\nexport const LOOKUP_RACE = \"race\";\r\nexport const LOOKUP_SUB_RACE = 'subRace';\r\nexport const LOOKUP_RACE_COUNTRY = \"raceCountry\";\r\nexport const LOOKUP_RACE_COUNTRY_RATER = \"raceCountryRater\";\r\nexport const LOOKUP_RACE_COUNTRY_RATEE = \"raceCountryRatee\";\r\nexport const LOOKUP_ETHNIC_ORIGINS = \"ethnicOrigins\";\r\nexport const LOOKUP_YESORNO = \"yesOrNo\";\r\nexport const LOOKUP_YESORNODONTKNOW = \"yesOrNoDontKnow\";\r\nexport const LOOKUP_ENGLISH = \"english\";\r\nexport const LOOKUP_COUNTRY = \"country\";\r\nexport const LOOKUP_COUNTRY_DONTKNOW = \"countryDontKnow\";\r\nexport const LOOKUP_STATE = \"state\";\r\nexport const LOOKUP_STATE_DONTKNOW = \"stateDontKnow\";\r\nexport const LOOKUP_PROVINCE = \"province\";\r\nexport const LOOKUP_PROVINCE_DONTKNOW = \"provinceDontKnow\";\r\nexport const LOOKUP_EDUCATION = \"education\";\r\nexport const LOOKUP_EDUCATION_COUNTRY = \"educationCountry\";\r\nexport const LOOKUP_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE = \"educationCountryWithoutNotApplicable\";\r\nexport const LOOKUP_STUDENT = \"student\";\r\nexport const LOOKUP_DEGREES = \"degreee\";\r\nexport const LOOKUP_GPA = \"gpa\";\r\nexport const LOOKUP_GRADE = \"grade\";\r\nexport const LOOKUP_EMPLOYEMENTSTATUS = \"employmentStatus\";\r\nexport const LOOKUP_ORGANIZATIONLEVEL = \"organizationalLevel\";\r\nexport const LOOKUP_DIRECTREPORTS = \"directReports\";\r\nexport const LOOKUP_OCCUPATIONALAREA = \"occupationalArea\";\r\nexport const LOOKUP_OCCUPATION = \"occupation\";\r\nexport const LOOKUP_OCCUPATION_PV = \"occupationPV\"; \r\nexport const LOOKUP_TEACHING = \"teaching\";\r\nexport const LOOKUP_TEACHER_HOW_WELL_KNOWN = \"teacherHowWellKnown\";\r\nexport const LOOKUP_TEACHER_HOW_LONG_KNOWN = \"teacherHowLongKnown\";\r\nexport const LOOKUP_TEACHER_HOW_OFTEN_INTERACTED = \"teacherHowOftenInteracted\";\r\nexport const LOOKUP_DIAGNOSED = \"diagnosed\";\r\nexport const LOOKUP_HISPANIC = \"hispanic\";\r\nexport const LOOKUP_HISPANIC_RATER = \"hispanicRatee\";\r\nexport const LOOKUP_HISPANIC_RATEE = \"hispanicRater\";\r\nexport const LOOKUP_ABORIGINAL = \"aboriginal\";\r\nexport const LOOKUP_ABORIGINAL_RATER = \"aboriginalRater\";\r\nexport const LOOKUP_ABORIGINAL_RATEE = \"aboriginalRatee\";\r\nexport const LOOKUP_AGE = \"age\";\r\nexport const LOOKUP_SPECIAL_SERVICES = \"specialServices\";\r\nexport const LOOKUP_CHILDCARE_SETTING = \"childcareSetting\";\r\nexport const LOOKUP_CHILD_RELATIONSHIP = \"childRelationship\";\r\nexport const LOOKUP_SCHOOL_SETTING = \"schoolSetting\";\r\nexport const LOOKUP_SPOKEN_LANGUAGE = \"spokenLanguage\";\r\nexport const LOOKUP_ASSESSMENT_READER = \"assessmentReader\";\r\nexport const LOOKUP_ASSESSMENT_DATA_ENTERER = \"assessmentDataEnterer\";\r\n\r\nconst requestStart = (name) => ({\r\n type: REQUEST_START,\r\n name\r\n})\r\n\r\nconst requestLoad = (name, items) => ({\r\n type: REQUEST_LOAD,\r\n name,\r\n items\r\n})\r\n\r\nconst requestError = (name, error) => ({\r\n type: REQUEST_ERROR,\r\n name,\r\n error\r\n})\r\n\r\nconst requestEnd = (name) => ({\r\n type: REQUEST_END,\r\n name\r\n})\r\n\r\nconst getDummyOptions = (name, params) => {\r\n return (dispatch, getState) => {\r\n dispatch(requestStart(name));\r\n dispatch(requestLoad(name, getDummyLookup(name, params)));\r\n dispatch(requestEnd(name));\r\n }\r\n\r\n}\r\n\r\nconst getOptions = ({name, service, params, isCached = true}) => {\r\n //return getDummyOptions(name, params);\r\n const shouldFetch = (state) => {\r\n if (isCached && (state.lookup && state.lookup[name] && state.lookup[name].items && state.lookup[name].items.length > 0)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n return (dispatch, getState) => {\r\n if (shouldFetch(getState())) {\r\n dispatch(requestStart(name));\r\n\r\n return service(params ? params : {},\r\n (response) => {\r\n dispatch(requestLoad(name, response.data));\r\n },\r\n (error) => {\r\n dispatch(requestError(name, error.message));\r\n },\r\n () => {\r\n dispatch(requestEnd(name));\r\n }\r\n )\r\n }\r\n }\r\n}\r\n\r\nexport const getGenderOptions = () => getOptions({ name: LOOKUP_GENDER, service: getGenders });\r\n\r\nexport const getGenderDontKnowOptions = () => getOptions({ name: LOOKUP_GENDER_DONTKNOW, service: getGendersDontKnow });\r\n\r\nexport const getRaceOptions = () => getOptions({ name: LOOKUP_RACE, service: getRaces });\r\n\r\nexport const getSubRaceOptions = (race) => getOptions({ name: LOOKUP_SUB_RACE, service: getSubRaces, params: { raceId: race }, isCached: false })\r\n\r\nexport const getRaceCountryOptions = (country) => getOptions({ name: LOOKUP_RACE_COUNTRY, service: getRacesByCountry, params: { countryId: country }, isCached: false })\r\n\r\nexport const getRaceCountryRaterOptions = (country) => getOptions({ name: LOOKUP_RACE_COUNTRY_RATER, service: getRacesByCountryRater, params: { countryId: country }, isCached: false });\r\n\r\nexport const getRaceCountryRateeOptions = (country) => getOptions({ name: LOOKUP_RACE_COUNTRY_RATEE, service: getRacesByCountryRatee, params: { countryId: country }, isCached: false });\r\n\r\nexport const getEthnicOriginsOptions = () => getOptions({ name: LOOKUP_ETHNIC_ORIGINS, service: getEthnicOrigins });\r\n\r\nexport const getYesOrNoOptions = () => getOptions({ name: LOOKUP_YESORNO, service: getYesOrNo });\r\n\r\nexport const getYesOrNoOrDontKnowOptions = () => getOptions({ name: LOOKUP_YESORNODONTKNOW, service: getYesOrNoOrDontKnow });\r\n\r\nexport const getEnglishOptions = () => getOptions({ name: LOOKUP_ENGLISH, service: getEnglish });\r\n\r\nexport const getCountryOptions = () => getOptions({ name: LOOKUP_COUNTRY, service: getCountries });\r\n\r\nexport const getCountryDontKnowOptions = () => getOptions({ name: LOOKUP_COUNTRY_DONTKNOW, service: getCountriesDontknow });\r\n\r\nexport const getStateOptions = () => getOptions({ name: LOOKUP_STATE, service: getStates });\r\n\r\nexport const getStateDontKnowOptions = () => getOptions({ name: LOOKUP_STATE_DONTKNOW, service: getStatesDontKnow });\r\n\r\nexport const getProvinceOptions = () => getOptions({ name: LOOKUP_PROVINCE, service: getProvinces });\r\n\r\nexport const getProvinceDontKnowOptions = () => getOptions({ name: LOOKUP_PROVINCE_DONTKNOW, service: getProvincesDontKnow })\r\n\r\nexport const getEducationOptions = () => getOptions({ name: LOOKUP_EDUCATION, service: getEducations });\r\n\r\nexport const getEducationCountryOptions = (country) => getOptions({ name: LOOKUP_EDUCATION_COUNTRY, service: getEducationsByCountry, params: { countryId: country }, isCached: false })\r\n\r\nexport const getEducationCountryWithoutNotApplicableOptions = (country) => getOptions({ name: LOOKUP_EDUCATION_COUNTRY_WITHOUT_NOT_APPLICABLE, service: getEducationsByCountryWithoutNotApplicable, params: { countryId: country }, isCached: false })\r\n\r\nexport const getStudentOptions = () => getOptions({ name: LOOKUP_STUDENT, service: getStudents });\r\n\r\nexport const getDegreeOptions = () => getOptions({ name: LOOKUP_DEGREES, service: getDegrees });\r\n\r\nexport const getGPAOptions = () => getOptions({ name: LOOKUP_GPA, service: getGPAs });\r\n\r\nexport const getGradeOptions = () => getOptions({ name: LOOKUP_GRADE, service: getGrades });\r\n\r\nexport const getEmploymentStatusOptions = () => getOptions({ name: LOOKUP_EMPLOYEMENTSTATUS, service: getEmploymentStatus });\r\n\r\nexport const getOrganizationLevelOptions = () => getOptions({ name: LOOKUP_ORGANIZATIONLEVEL, service: getOrganizationLevels });\r\n\r\nexport const getDirectReportsOptions = () => getOptions({ name: LOOKUP_DIRECTREPORTS, service: getDirectReports });\r\n\r\nexport const getOccupationalAreaOptions = () => getOptions({ name: LOOKUP_OCCUPATIONALAREA, service: getOccupationalAreas });\r\n\r\nexport const getOccupationOptions = (area) => getOptions({ name: LOOKUP_OCCUPATION, service: getOccupations, params: { area : area }, isCached: false });\r\n\r\nexport const getOccupationPVOptions = () => getOptions({ name: LOOKUP_OCCUPATION_PV, service: getOccupationsPV });\r\n\r\nexport const getTeachingOptions = () => getOptions({ name: LOOKUP_TEACHING, service: getTeaching });\r\n\r\nexport const getTeacherHowWellKnownOptions = () => getOptions({ name: LOOKUP_TEACHER_HOW_WELL_KNOWN, service: getTeacherHowWellKnown });\r\n\r\nexport const getTeacherHowLongKnownOptions = () => getOptions({ name: LOOKUP_TEACHER_HOW_LONG_KNOWN, service: getTeacherHowLongKnown });\r\n\r\nexport const getTeacherHowOftenInteractedOptions = () => getOptions({ name: LOOKUP_TEACHER_HOW_OFTEN_INTERACTED, service: getTeacherHowOftenInteracted });\r\n\r\nexport const getDiagnosedOptions = (area) => getOptions({ name: LOOKUP_DIAGNOSED, service: getDiagnosed, params: { area : area }, isCached: false });\r\n\r\nexport const getHispanicOptions = () => getOptions({ name: LOOKUP_HISPANIC, service: getHispanic });\r\n\r\nexport const getHispanicRaterOptions = () => getOptions({ name: LOOKUP_HISPANIC_RATER, service: getHispanicRater });\r\n\r\nexport const getHispanicRateeOptions = () => getOptions({ name: LOOKUP_HISPANIC_RATEE, service: getHispanicRatee });\r\n\r\nexport const getAboriginalOptions = () => getOptions({ name: LOOKUP_ABORIGINAL, service: getAboriginal });\r\n\r\nexport const getAboriginalRaterOptions = () => getOptions({ name: LOOKUP_ABORIGINAL_RATER, service: getAboriginalRater });\r\n\r\nexport const getAboriginalRateeOptions = () => getOptions({ name: LOOKUP_ABORIGINAL_RATEE, service: getAboriginalRatee });\r\n\r\nexport const getAgeOptions = () => getOptions({ name: LOOKUP_AGE, service: getAge });\r\n\r\nexport const getSpecialServicesOptions = () => getOptions({ name: LOOKUP_SPECIAL_SERVICES, service: getSpecialServices });\r\n\r\nexport const getChildcareSettingOptions = () => getOptions({ name: LOOKUP_CHILDCARE_SETTING, service: getChildcareSetting });\r\n\r\nexport const getChildRelationshipOptions = () => getOptions({ name: LOOKUP_CHILD_RELATIONSHIP, service: getChildRelationship });\r\n\r\nexport const getSchoolSettingOptions = () => getOptions({ name: LOOKUP_SCHOOL_SETTING, service: getSchoolSetting });\r\n\r\nexport const getSpokenLanguageOptions = () => getOptions({ name: LOOKUP_SPOKEN_LANGUAGE, service: getSpokenLanguage });\r\n\r\nexport const getAssessmentReaderOptions = () => getOptions({ name: LOOKUP_ASSESSMENT_READER, service: getAssessmentReader });\r\n\r\nexport const getAssessmentDataEntererOptions = () => getOptions({ name: LOOKUP_ASSESSMENT_DATA_ENTERER, service: getAssessmentDataEnterer });\r\n\r\nexport const isFetchingLookups = (state, lookupNames = []) => {\r\n lookupNames.forEach((value, index) => {\r\n const isFetching = isFetchingLookup(state, value);\r\n\r\n if (isFetching) {\r\n return true;\r\n }\r\n })\r\n\r\n return false;\r\n}\r\n\r\nexport const isFetchingLookup = (state, lookupName) => {\r\n if (state && state.lookup && state.lookup[lookupName] && state.lookup[lookupName]) {\r\n return state.lookup[lookupName].isFetching;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport const getLookups = (state, lookupNames = []) => {\r\n const lookups = {};\r\n\r\n lookupNames.forEach((value, index) => {\r\n const lookup = getLookup(state, value);\r\n lookups[value] = lookup;\r\n })\r\n\r\n return lookups;\r\n}\r\n\r\nexport const getLookup = (state, lookupName) => {\r\n if (state && state.lookup && state.lookup[lookupName] && state.lookup[lookupName].items) {\r\n return state.lookup[lookupName].items;\r\n } else {\r\n return [];\r\n }\r\n}\r\n\r\nexport const getLookupErrors = (state, lookupNames = []) => {\r\n const errors = [];\r\n\r\n lookupNames.forEach((value, index) => {\r\n const error = getLookupError(state, value);\r\n\r\n if (error) {\r\n errors.push(error);\r\n }\r\n })\r\n\r\n return errors;\r\n}\r\n\r\nexport const getLookupError = (state, lookupName) => {\r\n if (state && state.lookup && state.lookup[lookupName] && state.lookup[lookupName].hasError) {\r\n return state.lookup[lookupName].error;\r\n } else {\r\n return '';\r\n }\r\n}\r\n","import {\r\n REQUEST_START,\r\n REQUEST_LOAD,\r\n REQUEST_END,\r\n REQUEST_ERROR\r\n} from '../actions/lookup-action';\r\n\r\nexport const lookup = (lookupItems = {}, action) => {\r\n switch (action.type) {\r\n case REQUEST_START:\r\n return Object.assign({}, lookupItems, { [action.name] : Object.assign({}, lookupItems[action.name], { isFetching: true, items: [], hasError: false, error: ''}) });\r\n case REQUEST_LOAD:\r\n const items = action.items ? action.items : [];\r\n return Object.assign({}, lookupItems, { [action.name] : Object.assign({}, lookupItems[action.name], { items: items }) });\r\n case REQUEST_ERROR:\r\n return Object.assign({}, lookupItems, { [action.name] : Object.assign({}, lookupItems[action.name], { items: [], hasError: true, error: action.error }) });\r\n case REQUEST_END:\r\n return Object.assign({}, lookupItems, { [action.name] : Object.assign({}, lookupItems[action.name], { isFetching: false }) });\r\n default :\r\n return lookupItems;\r\n }\r\n}","import React from 'react';\r\nimport logo from '../../assets/images/logo.png';\r\n\r\nconst Logo = ({src}) => \"Logo\"\r\n\r\n\r\nexport default Logo;","import React, { Component } from 'react';\r\nimport logo from '../../assets/images/MHS_LOGO.jpg';\r\n\r\nclass Loading extends Component {\r\n handler;\r\n n = 0;\r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { loadingText: 'Loading' };\r\n }\r\n\r\n componentDidMount() {\r\n this.handler = setInterval(() => {\r\n this.n += 1;\r\n\r\n this.setState({loadingText:
{Array(this.n).join(\".\")}Loading{Array(this.n).join(\".\")}
});\r\n\r\n if (this.n >= 4) {\r\n this.n = 0;\r\n }\r\n }, 500)\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.handler);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \"Logo\"\r\n
{this.state.loadingText}
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Loading;","import React from 'react';\r\n\r\nconst copyrightText = {\r\n en: 'Copyright © 2022 Multi-Health Systems, Inc. (MHS, Inc.). All rights reserved.',\r\n fr: 'Copyright © 2022 Multi-Health Systems, Inc. (MHS, Inc.). Tous droits réservés.',\r\n es: 'Copyright © 2022 Multi-Health Systems, Inc. (MHS, Inc.). Todos los derechos reservados.'\r\n}\r\n\r\nconst Copyright = ({children, lang}) => (\r\n
{children ? children : copyrightText[lang]}
\r\n)\r\n\r\nexport default Copyright;","import React from 'react';\r\nimport packageJson from '../../../package.json';\r\n\r\nconst Version = () => (\r\n
{`Version ${packageJson.version}`}
\r\n)\r\n\r\nexport default Version;","import { post } from './service';\r\nimport { get } from './service';\r\nimport { config, productId } from './../Constants'\r\nimport { versionId, inviteId, sessionId, clientId, janusDataGathererId, janusTenantId, personalInvite } from '../url-values';\r\n\r\nconst APIURL_GET_DATA = config.url.API_URL + \"/Assessment/GetAssessment?productid=\" + productId + \"&versionId=\" + versionId + \"&inviteId=\" + inviteId + \"&sessionId=\" + sessionId + (clientId !== '' ? \"&clientId=\"+ clientId : '') + (janusDataGathererId !== '' ? \"&janusDataGathererId=\" + janusDataGathererId : '') + (janusTenantId !== '' ? \"&janusTenantId=\" + janusTenantId : '') + \"&personalInvite=\" + personalInvite;\r\nconst APIURL_SAVE_DATA = config.url.API_URL + \"/Assessment/Save\";\r\nconst APIURL_CHECKQUOTA = config.url.API_URL + \"/Demographics/CheckQuota\";\r\n\r\nexport const getData = (params, successFunc, errorFunc, finallFunc) => get(APIURL_GET_DATA, params, successFunc, errorFunc, finallFunc);\r\nexport const checkQuota = (params, successFunc, errorFunc, finallFunc) => post(APIURL_CHECKQUOTA, params, successFunc, errorFunc, finallFunc);\r\nexport const saveData = (params, successFunc, errorFunc, finallFunc) => post(APIURL_SAVE_DATA, params, successFunc, errorFunc, finallFunc);\r\n\r\n","import { getData, checkQuota as serviceCheckQuota, saveData } from '../../services/common-service';\r\nimport {\r\n osName,\r\n osVersion,\r\n browserName,\r\n browserVersion,\r\n isMobile,\r\n mobileModel\r\n} from \"react-device-detect\";\r\nimport moment from 'moment';\r\n\r\nexport const TaskType = {\r\n 'RATING': { id: 16, type: 'Rating' },\r\n 'OUTCOME': { id: 14, type: 'Outcome' }\r\n}\r\n\r\nexport const SubTaskType = {\r\n 'PRACTICE': { id: 1, type: 'practice' },\r\n 'TASKS': { id: 1, type: 'tasks' },\r\n}\r\n\r\nexport const TaskSegment = {\r\n 'INSTRUCTION': 'Instruction',\r\n 'PRACTICE': 'Practice',\r\n 'PRACTICECOMPLETE': 'PracticeComplete',\r\n 'TASK': 'Task'\r\n};\r\n\r\nexport const TerminationType = {\r\n 'DEMOGRAPHICS': 'DEMOGRAPHICS',\r\n 'QUOTA': 'QUOTA',\r\n 'TIME': 'TIME',\r\n 'QUIZ': 'QUIZ'\r\n}\r\n\r\nexport const SET_DEMOGRAPHICS_FOR_VERSION = 'common:setDemographicsForVersion';\r\nexport const GET_DATA = 'common:getData';\r\nexport const SET_TERMS = 'common:setTerms';\r\nexport const SET_TERMS_DECLINE = 'common:setTermsDecline';\r\nexport const SET_CONSENT = 'common:setConsent';\r\nexport const SET_CONSENT_DECLINE = 'common:setConsentDecline';\r\nexport const SET_TASK_RESPONSE = 'common:setTaskResponse';\r\nexport const SET_DEMOGRAPHICS_RESPONSE = 'common:setDemographicsResponse';\r\nexport const SET_DATA_RESPONSE = 'common:setDataResponse';\r\nexport const SET_OUTCOME_RESPONSE = 'common:setOutcomeResponse';\r\nexport const SET_SKIP_REMAINING_TASKS = 'common:skipRemainingTasks';\r\nexport const RESET_SKIPPED_TASKS = 'common:resetSkippedTasks';\r\nexport const SET_SCREEN_DURATION = 'common:setScreenDuration';\r\nexport const SET_TASK_DURATION = 'common:setTaskDuration';\r\nexport const SET_OUTCOME_DURATION = 'common:setOutcomeDuration';\r\nexport const CLEAR_RESPONSE = 'common:clearResponse';\r\nexport const SET_TERMINATION = 'videos:setTermination';\r\nexport const SET_CURRENT_PERCENTAGE = 'common:setCurrentPercentage';\r\nexport const SET_TOTAL_PERCENTAGE = 'common:setTotalPercentage';\r\nexport const SAVE = 'common:save';\r\nexport const REQUEST_START = \"common:requestStart\";\r\nexport const REQUEST_SAVED = \"common:requestSaved\";\r\nexport const REQUEST_ERROR = \"common:requestError\";\r\nexport const REQUEST_END = \"common:requestEnd\";\r\nexport const SET_ASSESSMENT_STATUS = \"common:setAssessmentStatus\";\r\nexport const SET_TASK_PLAYED = 'videos:setTaskPlayed';\r\nexport const SET_TIMEOUT = 'videos:setTimeout';\r\n\r\nexport const DEFAULT_RESPONSE = -9999;\r\n\r\nconst TIMEOUT = 86400; //timeout in seconds\r\n\r\nconst requestStart = () => ({\r\n type: REQUEST_START\r\n})\r\n\r\nconst requestSaved = () => ({\r\n type: REQUEST_SAVED\r\n})\r\n\r\nconst requestError = (error, code = \"\") => ({\r\n type: REQUEST_ERROR,\r\n error,\r\n code\r\n})\r\n\r\nconst requestEnd = () => ({\r\n type: REQUEST_END\r\n})\r\n\r\nexport const save = () => {\r\n return (dispatch, getState) => {\r\n dispatch(requestStart());\r\n\r\n const { data } = getState();\r\n\r\n if (data.dateTimeStart === null) {\r\n var date = moment.utc();\r\n data.dateTimeStart = date.format(\"YYYY-MM-DD HH:mm:ss\");\r\n }\r\n\r\n data.totalSessionTime = (new Date().getTime() / 1000) - (new Date(data.dateTimeStart).getTime() / 1000);\r\n data.operatingSystem = osName + ' ' + osVersion;\r\n data.browser = browserName + ' ' + browserVersion;\r\n data.device = isMobile ? mobileModel : osName + ' ' + osVersion;\r\n\r\n const localIpUrl = require('local-ip-url');\r\n data.location = localIpUrl('public');\r\n\r\n return saveData(data,\r\n (response) => {\r\n dispatch(requestSaved(response.data));\r\n },\r\n (error) => {\r\n dispatch(requestError(error.message));\r\n },\r\n () => {\r\n dispatch(requestEnd());\r\n }\r\n )\r\n }\r\n}\r\n\r\nexport const getAllData = (task, callback = null) => {\r\n return (dispatch, getState) => {\r\n dispatch(requestStart());\r\n\r\n return getData(task,\r\n (response) => {\r\n dispatch(processGetAllData(response.data));\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n },\r\n (error) => {\r\n dispatch(requestError(error.response.data));\r\n },\r\n () => {\r\n dispatch(requestEnd());\r\n } \r\n )\r\n }\r\n}\r\n\r\nexport const setDemographicsForVersion = (version) => ({\r\n type: SET_DEMOGRAPHICS_FOR_VERSION,\r\n version\r\n})\r\n\r\nconst processGetAllData = (data) => ({\r\n type: GET_DATA,\r\n data\r\n})\r\n\r\nexport const setDemographicsResponse = (name, value, child = null) => ({\r\n type: SET_DEMOGRAPHICS_RESPONSE,\r\n child,\r\n name,\r\n value\r\n})\r\n\r\nexport const setDataResponse = (name, value) => ({\r\n type: SET_DATA_RESPONSE,\r\n name,\r\n value\r\n})\r\n\r\nexport const setTaskResponse = (task, taskType, subTaskType, response, index) => ({\r\n type: SET_TASK_RESPONSE,\r\n task,\r\n taskType,\r\n subTaskType,\r\n response,\r\n index\r\n})\r\n\r\nexport const skipRemainingTasks = (task, taskType, subTaskType) => ({\r\n type: SET_SKIP_REMAINING_TASKS,\r\n task,\r\n taskType,\r\n subTaskType,\r\n})\r\n\r\nexport const resetSkippedTasks = (task, taskType, subTaskType) => ({\r\n type: RESET_SKIPPED_TASKS,\r\n task,\r\n taskType,\r\n subTaskType,\r\n})\r\n\r\nexport const setOutcomeResponse = (id, response) => ({\r\n type: SET_OUTCOME_RESPONSE,\r\n id,\r\n response,\r\n})\r\n\r\n\r\nexport const setDefaultTaskResponse = (task, taskType, subTaskType) => {\r\n return (dispatch, getState) => {\r\n dispatch(setTaskResponse(task, taskType, subTaskType, DEFAULT_RESPONSE));\r\n }\r\n}\r\n\r\nexport const setScreenDuration = (url, start, end) => ({\r\n type: SET_SCREEN_DURATION,\r\n url,\r\n start,\r\n end\r\n})\r\n\r\nexport const setTaskDuration = (task, taskType, subTaskType, start, end) => ({\r\n type: SET_TASK_DURATION,\r\n task,\r\n taskType,\r\n subTaskType,\r\n start,\r\n end\r\n})\r\n\r\nexport const setOutcomeDuration = (outcome, start, end) => ({\r\n type: SET_OUTCOME_DURATION,\r\n outcome,\r\n start,\r\n end\r\n})\r\n\r\nexport const clearResponse = (task, taskType, subTaskType) => ({\r\n type: CLEAR_RESPONSE,\r\n task,\r\n taskType,\r\n subTaskType\r\n})\r\n\r\nexport const setTaskPlayed = (task, taskType, subTaskType) => ({\r\n type: SET_TASK_PLAYED,\r\n task,\r\n taskType,\r\n subTaskType\r\n})\r\n\r\nexport const setTermination = (terminationReason) => ({\r\n type: SET_TERMINATION,\r\n terminationReason\r\n})\r\n\r\nexport const checkReachedQuota = (demographics, callback) => {\r\n serviceCheckQuota(demographics,\r\n (response) => callback(response.data.reached),\r\n (error) => callback(false));\r\n}\r\n\r\nexport const setTimeout = () => {\r\n return {\r\n type: SET_TIMEOUT,\r\n timeout: (new Date().getTime() / 1000) + TIMEOUT\r\n }\r\n}\r\n\r\nexport const getTimeout = (timeout) => {\r\n return timeout - (new Date().getTime() / 1000);\r\n}\r\n\r\nexport const getTasks = (tasks, type, subType) => {\r\n if (tasks) {\r\n const taskType = Object.values(tasks).find(task => task.id && task.id === type.id);\r\n\r\n if (taskType) {\r\n return taskType[subType.type];\r\n }\r\n }\r\n}\r\n\r\nexport const getTaskTypeIdById = (id) => {\r\n const keys = Object.keys(TaskType);\r\n for (let index in keys) {\r\n const key = keys[index];\r\n if (TaskType[key].id === id) {\r\n return TaskType[key];\r\n }\r\n }\r\n}\r\n\r\nexport const getTaskTypeIdByType = (type) => {\r\n const keys = Object.keys(TaskType);\r\n for (let index in keys) {\r\n const key = keys[index];\r\n if (TaskType[key].type === type) {\r\n return TaskType[key];\r\n }\r\n }\r\n}\r\n\r\nexport const setTerms = (value) => ({\r\n type: SET_TERMS,\r\n value: value\r\n});\r\n\r\nexport const setTermsDecline = (value) => ({\r\n type: SET_TERMS_DECLINE,\r\n value: value\r\n});\r\n\r\nexport const setConsent = (value) => ({\r\n type: SET_CONSENT,\r\n value: value\r\n});\r\n\r\nexport const setConsentDecline = (value) => ({\r\n type: SET_CONSENT_DECLINE,\r\n value: value\r\n});\r\n\r\nexport const setAssessmentStatus = (value) => ({\r\n type: SET_ASSESSMENT_STATUS,\r\n value: value\r\n});\r\n","import { createBrowserHistory } from 'history'\r\n\r\nconst history = createBrowserHistory({ basename: process.env.PUBLIC_URL });\r\n\r\nexport default history;","import React, { Component } from 'react'\r\nimport { Loading } from '../common';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport history from '../../routes/history';\r\n\r\nimport { assessmentStatus } from '../../Constants';\r\n\r\nclass MainScreen extends Component {\r\n componentDidMount() {\r\n const { getAllData, setTimeout, data, dataRequest } = this.props;\r\n\r\n if (data && !data.sessionID) {\r\n setTimeout();\r\n\r\n getAllData(null, () => {\r\n if (parseInt(data.versionID) === 0) {\r\n sessionStorage.setItem('temp-version-id', -1);\r\n }\r\n }); \r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n const { data, dataRequest } = this.props;\r\n\r\n console.log(data.status);\r\n\r\n if (data.status == assessmentStatus.Complete)\r\n history.push(\"/Assessment/Complete\");\r\n\r\n if (dataRequest.hasError) \r\n history.push(\"/Error\");\r\n \r\n }\r\n\r\n callback(result) {\r\n if (result) {\r\n history.push(\"/TermsAndConditions\");\r\n }\r\n }\r\n\r\n render() {\r\n const { sessionID } = this.props.data;\r\n\r\n if (sessionID) {\r\n return \r\n } else {\r\n return \r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n data: state.data,\r\n dataRequest: state.dataRequest\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(MainScreen);","import React, { Component } from 'react';\r\n\r\nconst connectCommon = (WrappedComponent) => {\r\n return class CommonHOC extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { startDate: null };\r\n\r\n this.saveScreenDuration = this.saveScreenDuration.bind(this);\r\n this.saveData = this.saveData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ startDate: new Date()});\r\n }\r\n\r\n componentWillUnmount() {\r\n this.saveData();\r\n }\r\n\r\n saveScreenDuration() {\r\n this.props.setScreenDuration(this.props.location.pathname, this.state.startDate, new Date());\r\n this.setState({ startDate: new Date()});\r\n }\r\n\r\n saveData(handled) {\r\n this.saveScreenDuration();\r\n\r\n this.props.save();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n}\r\n\r\nexport default connectCommon;","import React from 'react';\r\n\r\nconst AssessmentContainer = ({children}) => (\r\n
\r\n
{children}
\r\n
\r\n)\r\n\r\nexport default AssessmentContainer;","export const TasksVersions = {\r\n Version1: [\r\n { id: 1 },\r\n { id: 2 },\r\n { id: 3 },\r\n { id: 4 },\r\n { id: 5 },\r\n { id: 6 },\r\n { id: 7 },\r\n { id: 8 },\r\n { id: 9 },\r\n { id: 10 },\r\n { id: 11 },\r\n { id: 12 },\r\n { id: 13 },\r\n ],\r\n Version2: [\r\n { id: 7 },\r\n { id: 8 },\r\n { id: 9 },\r\n { id: 10 },\r\n { id: 11 },\r\n { id: 12 },\r\n { id: 1 },\r\n { id: 2 },\r\n { id: 3 },\r\n { id: 4 },\r\n { id: 5 },\r\n { id: 6 },\r\n ]\r\n}\r\n\r\nexport const TaskType = {\r\n 'RATING': { id: 16 , type: 'Rating' }\r\n}\r\n\r\nexport const SubTaskType = {\r\n 'PRACTICE': { id: 1, type: 'practice' },\r\n 'TASKS': { id: 1, type: 'tasks' },\r\n}\r\n\r\nexport const ProgressionType = {\r\n 'Energy': 1,\r\n 'Pleasant': 2\r\n}\r\nexport const getTaskTypeIdByType = (type) => {\r\n const keys = Object.keys(TaskType);\r\n for (let index in keys) {\r\n const key = keys[index];\r\n if (TaskType[key].type === type) {\r\n return TaskType[key];\r\n }\r\n }\r\n}\r\n\r\nexport const getTaskTypeIdById = (id) => {\r\n const keys = Object.keys(TaskType);\r\n for (let index in keys) {\r\n const key = keys[index];\r\n if (TaskType[key].id === id) {\r\n return TaskType[key];\r\n }\r\n }\r\n}\r\n\r\nexport const getTasks = (data, type, subType) => {\r\n debugger;\r\n if (data) {\r\n const taskType = Object.values(data).find(task => task.id && task.id === type.id);\r\n\r\n if (taskType) {\r\n return taskType[subType.type];\r\n }\r\n }\r\n}\r\n\r\nexport const getOutcomes = (data) => {\r\n if (data) {\r\n return data['outcomes'];\r\n }\r\n}\r\n\r\nexport const TaskSegment = {\r\n 'INSTRUCTION': 'Instruction',\r\n 'PRACTICE': 'Practice',\r\n 'PRACTICECOMPLETE': 'PracticeComplete',\r\n 'TASK': 'Task'\r\n};\r\n\r\nexport const getVersionIndex = (version, id) => {\r\n for (let index in version) {\r\n const item = version[index];\r\n if (item.id === id) {\r\n return parseInt(index);\r\n }\r\n }\r\n}\r\n\r\nexport const getLang = (version) => {\r\n const langVersions = {\r\n en: [36, 37, 38, 39, 40, 41, 42, 43, 56, 57, 58, 59, 60, 67, 68, 69, 70, 71],\r\n fr: [44, 45, 46, 47, 48, 49, 61, 62, 63, 64, 65, 66, 72, 73, 74, 75, 76, 77],\r\n es: [50, 51, 52, 53, 54, 55, 78, 79, 80, 81, 82, 83]\r\n };\r\n const lang = Object.keys(langVersions).find(key => langVersions[key].includes(version));\r\n return lang;\r\n}\r\n\r\nexport const translateLabel = (label, versionID) => {\r\n if (!label) {\r\n return;\r\n }\r\n \r\n const lang = getLang(versionID);\r\n let translatedLabel = label;\r\n \r\n switch (lang) {\r\n case 'fr':\r\n translatedLabel = translatedLabel.replace('OF', 'SUR');\r\n break;\r\n \r\n case 'es':\r\n translatedLabel = translatedLabel.replace('OF', 'DE');\r\n break;\r\n \r\n case 'en':\r\n default:\r\n break;\r\n }\r\n \r\n return translatedLabel;\r\n }\r\n","import React from 'react';\r\nimport { Button } from '../../../../third-party-components/kendo-react-ui';\r\nimport { isMobile } from 'react-device-detect';\r\nimport { isTouch } from '../../../../functions';\r\n\r\nconst TaskButton = ({children, onClick, selected, className='', imageUrl=\"\"}) => (\r\n
\r\n \r\n
\r\n)\r\n\r\nexport default TaskButton;","const isTouch = () => {\r\n return !!(\"ontouchstart\" in window) || window.navigator.msMaxTouchPoints > 0;\r\n}\r\n\r\nexport { isTouch }","import React from 'react';\r\n\r\nconst TaskQuestionBox = ({children, className, innerClassName}) => (\r\n
\r\n
\r\n {/*children*/}\r\n
\r\n
\r\n)\r\n\r\nexport default TaskQuestionBox;","import React from 'react';\r\nimport { TaskButton, TaskImage } from './';\r\n\r\nconst TaskButtonList = ({ className, options, onClick, isSelected}) => (\r\n
\r\n {options.map((option, index) => {\r\n return(\r\n <>\r\n {onClick(option.value); button.target.blur();}} \r\n selected={isSelected(option.value)}>\r\n {option.label}\r\n \r\n \r\n )})}\r\n\r\n
\r\n)\r\n\r\nexport default TaskButtonList;","import React from 'react';\r\n\r\nconst TaskContent = ({children, className}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default TaskContent","import React from 'react';\r\nimport { DragSource } from 'react-dnd'\r\n\r\nconst TaskButtonDraggable = ({children, option, canDrag, connectDragSource}) => {\r\n const bCanDrag = canDrag(option);\r\n const opacity = bCanDrag ? 1 : 1;\r\n let backgroundColor = bCanDrag ? 'rgb(108,109,112)' : 'lightgray';\r\n\r\n return (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DragSource(\r\n 'drag',\r\n {\r\n beginDrag: props => (props.option),\r\n endDrag(props, monitor) {\r\n },\r\n canDrag(props, monitor) {\r\n return props.canDrag(props.option);\r\n }\r\n },\r\n (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n didDrop: monitor.didDrop()\r\n }),\r\n )(TaskButtonDraggable)\r\n ","import React from 'react';\r\nimport { DragDropContextProvider } from 'react-dnd'\r\nimport HTML5Backend from 'react-dnd-html5-backend'\r\nimport TouchBackend from 'react-dnd-touch-backend'\r\nimport { isMobile } from 'react-device-detect';\r\n\r\n class TaskDragDropContainer extends React.Component {\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n }\r\n\r\nexport default TaskDragDropContainer;","import React from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\n\r\nfunction TaskDroppable({connectDropTarget, isOver, option, className, filledClassName}) {\r\n let classNameOver = isOver || option ? '.task-droppable-over' : '';\r\n let classNameFilled = option ? (filledClassName !== undefined) ? filledClassName : 'task-droppable-filled' : 'task-droppable-empty';\r\n \r\n return (\r\n
\r\n
\r\n {option && (option.label)}\r\n
\r\n
\r\n )\r\n }\r\n\r\n export default DropTarget(\r\n 'drag',\r\n {\r\n drop: (props, monitor) => {\r\n props.onDrop(props.index, monitor.getItem());\r\n },\r\n canDrop(props) {\r\n return true;\r\n }\r\n },\r\n (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n canDrop: monitor.canDrop(),\r\n }),\r\n )(TaskDroppable)","import React from 'react';\r\n\r\nconst TaskOptionsContainer = ({children, className}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default TaskOptionsContainer;","import React from 'react';\r\nimport { Checkbox, FormControlLabel } from '../../../../third-party-components/material-ui';\r\n\r\nconst CheckedIcon = () => (\r\n \r\n)\r\n\r\nconst UnCheckedIcon = () => (\r\n \r\n)\r\n\r\n\r\nclass TaskRadioButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n handleClick(e) {\r\n const { onClick } = this.props;\r\n\r\n onClick(e);\r\n }\r\n\r\n render() {\r\n const {children, option, isSelected} = this.props;\r\n\r\n return (\r\n
\r\n }\r\n checkedIcon={}\r\n value={option.value}\r\n />\r\n }\r\n label={children}\r\n />\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default TaskRadioButton;","import React from 'react';\r\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\r\nimport { Box } from '../../../../third-party-components/material-ui';\r\n\r\nimport { isMobile } from 'react-device-detect';\r\n\r\nconst yesTexts = {\r\n en: 'Yes',\r\n fr: 'Oui',\r\n es: 'Sí'\r\n};\r\n\r\nconst noTexts = {\r\n en: 'No',\r\n fr: 'Non',\r\n es: 'No'\r\n};\r\n\r\nconst TaskDialog = ({includeNext = true, visible, onYes, onNo, children, header, lang}) => (\r\n
\r\n {visible &&\r\n \r\n \r\n {!!header && (\r\n \r\n \r\n {header}\r\n \r\n \r\n )}\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n {includeNext ? : null}\r\n \r\n }\r\n
\r\n)\r\n\r\nexport default TaskDialog;","import React from 'react';\r\nimport { Dialog } from '@progress/kendo-react-dialogs';\r\nimport { Box } from '../../../../third-party-components/material-ui';\r\n\r\nconst TaskNoteDialog = ({visible, onClose, children}) => (\r\n
\r\n {visible &&\r\n \r\n \r\n \r\n NOTE\r\n \r\n \r\n {children}\r\n \r\n \r\n }\r\n
\r\n)\r\n\r\nexport default TaskNoteDialog;","import React from 'react';\r\nimport { LinearProgress, Box } from '../../../../third-party-components/material-ui';\r\n\r\nconst TaskProgress = ({completed = 0, style}) => {\r\n return(\r\n \r\n \r\n
{`${completed.toFixed(0)}%`}
\r\n
\r\n)}\r\n\r\nexport default TaskProgress; ","import React from 'react';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel, Radio } from '../../../../third-party-components/material-ui';\r\n\r\nclass TaskRadioGroupButtons extends React.Component {\r\n render() {\r\n const {name, label, value, className= '', data, textField, onChange, inline} = this.props;\r\n let selectedValue = -1;\r\n\r\n if (value && isNaN(value) === false) {\r\n selectedValue = parseInt(value);\r\n }\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {data.map((option, index) => (\r\n \r\n }\r\n label={option[textField]}\r\n labelPlacement=\"end\"\r\n />\r\n ))}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default TaskRadioGroupButtons;","import React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport * as commonActionCreator from '../../../redux/actions/data-action';\r\nimport { Logo, Copyright, Version, SupportLink } from '../../common';\r\nimport { getLang } from './task-utility';\r\nimport { TaskProgress } from './task-controls'\r\nimport { isMobile } from 'react-device-detect';\r\n\r\nclass AssessmentFooter extends React.Component { \r\n constructor(props) {\r\n super(props)\r\n\r\n this.getPercentCompleted = this.getPercentCompleted.bind(this);\r\n }\r\n\r\n getPercentCompleted() {\r\n const { screens, currentPath } = this.props;\r\n\r\n const currentIndex = screens.findIndex((screen) => {\r\n return screen.url === currentPath;\r\n })\r\n \r\n if (currentIndex > -1) {\r\n return (currentIndex / screens.length) * 100.00;\r\n } else {\r\n return 100.00;\r\n }\r\n }\r\n\r\n render() {\r\n const { label, includeVersion = false, includeProgress = true, style, copyrightChild, includeLogo = false, versionID } = this.props;\r\n const lang = getLang(versionID);\r\n return (\r\n
\r\n {includeVersion ? : null}\r\n \r\n {/* */}\r\n {includeLogo ? : null}\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n logo: state.data.logoPath,\r\n screens : state.data.screens,\r\n currentPath: state.router.location.pathname,\r\n versionID: state.data.versionID\r\n})\r\n\r\nexport default connect(mapStateToProps, commonActionCreator)(AssessmentFooter);","import React from 'react';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\n\r\nconst AssessmentBody = ({children, style}) => (\r\n
{children}
\r\n)\r\n\r\nexport default AssessmentBody;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport BackButton from '../../../assets/images/back@2x.png';\r\nimport NextButton from '../../../assets/images/next@2x.png';\r\n\r\nconst AssessmentNavigation = ({children, className}) => (\r\n
{children}
\r\n)\r\n\r\nconst AssessmentNavigationNext = ({children, onClick, to, className, style}) => {\r\n if (to !== undefined) {\r\n return (\r\n \r\n \r\n \"Next\"\r\n \r\n \r\n );\r\n } else if (onClick !== undefined) {\r\n return (\r\n \r\n \"Next\"\r\n \r\n );\r\n } else {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst AssessmentNavigationPrevious = ({children, onClick, to, className, style}) => {\r\n if (to !== undefined) {\r\n return (\r\n \r\n \r\n \"Next\"\r\n \r\n \r\n );\r\n } else if (onClick !== undefined) {\r\n return (\r\n \r\n \"Next\"\r\n \r\n );\r\n } else {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport { \r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext\r\n}","import React from 'react';\r\n\r\nconst AssessmentContent = ({children, className = ''}) => (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n)\r\n\r\nexport default AssessmentContent;","import React from 'react';\r\n\r\nconst AssessmentContentHeader = ({children}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentHeader;","import React from 'react';\r\n\r\nconst AssessmentContentSection = ({children, style}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentSection;","import React from 'react';\r\n\r\nconst AssessmentContentCenteredSection = ({children}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentCenteredSection;","import React from 'react';\r\n\r\nconst AssessmentContentScrollableSection = ({children}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentScrollableSection;","import React from 'react';\r\n\r\nconst AssessmentContentAction = ({children}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentAction;","import React from 'react';\r\n//import { Button } from '../../../third-party-components/material-ui';\r\n//import Button from '@mui/material/Button'\r\n\r\nconst AssessmentContentActionButton = ({children, onClick, selected = false, styleType = \"\"}) => (\r\n onClick != undefined ? : null\r\n)\r\n\r\nexport default AssessmentContentActionButton;\r\n\r\n","import React from 'react';\r\n\r\nconst AssessmentContentError = ({children}) => (\r\n
\r\n {children}\r\n
\r\n)\r\n\r\nexport default AssessmentContentError;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history';\r\nimport { \r\n AssessmentContainer, \r\n AssessmentContentCenteredSection,\r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentFooter \r\n} from '../assessment/common';\r\n\r\nclass FinalTerminationScreen extends Component {\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Thank you, please close the browser.\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null)(connectCommon(FinalTerminationScreen));","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { \r\n AssessmentContainer, \r\n AssessmentContentCenteredSection,\r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentContentHeader,\r\n AssessmentFooter \r\n} from '../assessment/common';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\n\r\nclass ErrorScreen extends Component {\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n render() {\r\n const { dataRequest } = this.props;\r\n const css = `\r\n body {\r\n margin: 0 auto;\r\n float: none;\r\n max-width: 1080px;\r\n font-size: .7em;\r\n font-family: Roboto, Verdana, Arial, Helvetica;\r\n }\r\n\r\n fieldset {\r\n padding: 0 0px 0px px;\r\n }\r\n\r\n h1 {\r\n font-size: 62px;\r\n margin: 0;\r\n color: #2E4DC9;\r\n font-family: Roboto, Verdana, Arial, Helvetica;\r\n text-align: center;\r\n }\r\n\r\n h2 {\r\n font-size: 36px;\r\n margin: 0;\r\n color: #2E4DC9;\r\n font-family: Roboto, Verdana, Arial, Helvetica;\r\n text-align: center;\r\n }\r\n\r\n h3 {\r\n font-size: 24px;\r\n margin: 0px;\r\n 0 0 0;\r\n top: 246px;\r\n left: 368px;\r\n width: 1080px;\r\n height: 69px;\r\n color: #2E4DC9;\r\n font-family: Roboto, Verdana, Arial, Helvetica;\r\n text-align: center;\r\n }\r\n\r\n h4 {\r\n font-size: 12px;\r\n margin: 0px;\r\n 0 0 0;\r\n color: #2E4DC9;\r\n font-family: Roboto, Verdana, Arial, Helvetica;\r\n text-align: center;\r\n }\r\n\r\n img {\r\n display: block;\r\n margin: 0 auto;\r\n }\r\n\r\n #header {\r\n width: 1080px;\r\n margin: 0 auto;\r\n padding: 20px 2% 6px 2%;\r\n font-family: \"trebuchet MS\", Verdana, sans-serif;\r\n color: #FFF;\r\n background-color: #;\r\n display: block;\r\n }\r\n\r\n #subtitle {\r\n width: 1080px;\r\n height: 69px;\r\n margin: 0 auto;\r\n position: relative;\r\n }\r\n\r\n #image {\r\n width: 1080px;\r\n height: 360px;\r\n margin: 0 auto;\r\n position: relative;\r\n }\r\n\r\n #errormessage {\r\n width: 1080px;\r\n height: 43px;\r\n margin: 0 auto;\r\n position: relative;\r\n }\r\n\r\n #footer {\r\n width: 1080px;\r\n height: 111px;\r\n margin: 0 auto;\r\n position: relative;\r\n }\r\n `\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Sorry, something went wrong

\r\n
\r\n
\r\n

Please try again in a few minutes.

\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n

Still seeing this message?

\r\n
\r\n

Contact Customer Service at 1-800-456-3003

\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n dataRequest: state.dataRequest\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(ErrorScreen);","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\nimport history from '../../../routes/history';\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentHeader,\r\n AssessmentContentSection,\r\n AssessmentContentCenteredSection,\r\n AssessmentContentScrollableSection,\r\n AssessmentContentAction,\r\n AssessmentContentError,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentActionButton,\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/Welcome\";\r\nconst declineLink = \"/DeclineTermsAndConditions\";\r\nconst nextLink = \"/Demographic/Ratee\"\r\n\r\nclass TermsAndConditionScreenEnglish extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n errorMessage: '',\r\n };\r\n\r\n this.handleNext = this.handleNext.bind(this);\r\n this.handleAccept = this.handleAccept.bind(this);\r\n this.handleDecline = this.handleDecline.bind(this);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n handleAccept() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(nextLink);\r\n }\r\n\r\n handleDecline() {\r\n history.push(declineLink);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n // const { setDemographicsForVersion } = this.props;\r\n\r\n // setDemographicsForVersion(parseInt(sessionStorage.getItem('temp-version-id')));\r\n\r\n this.setState({\r\n timeoutWarningFlag: true\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n Welcome\r\n \r\n \r\n \r\n

TERMS AND CONDITIONS OF USE - ADMINISTRATOR

\r\n

ATTENTION: IF YOU ARE AN ADMINISTRATOR, PLEASE READ THE BELOW TERMS AND CONDITIONS OF USE CAREFULLY. IF YOU ARE A RESPONDENT, PLEASE READ THE TERMS AND CONDITIONS OF USE – RESPONDENT SECTION.

\r\n

These Terms and Conditions of Use (the “Terms & Conditions”) govern your use of this website and your administration of any MHS assessment instrument (the “Instrument”). By clicking on “I Accept” below, you confirm that you have read these Terms and Conditions and that you agree to be bound by them.

\r\n

PERMITTED ACCESS

\r\n

You have been provided a password to enter this website for the purpose of administering the Instrument.

\r\n

DATA COLLECTED

\r\n

“Personal Information” is information about an identifiable individual.

\r\n

As an administrator, we may collect a name, phone number, email address, qualification level or certification information from the qualified customer for the purposes of granting access to the site to administer, score and generate reports for your clients.

\r\n

The test user completing an assessment through the MHS online assessment site, may need to provide contact information such as a name, company name and/or email address. Alternatively, with the open link available within the MHS Online Assessment platform, you may choose to provide your client with an invitation through your office mail therefore not requiring this personal information.

\r\n

Response Data: When a client is provided a link to complete an assessment, MHS will save all response options selected. The client has the option to skip/not answer some or all of the items, however it may not be able to score and generate a report if too many item responses are omitted. Personal Data: MHS processes assessment data (personal and response) for the purpose of providing the requested services, such as processing the received data in order to identify the assessments associated with an MHS account, as well as providing corresponding reports.

\r\n

As part of the assessment process, the client will be asked to provide information used to score and generate a report. Examples of data that may be asked: name, gender, age, ethnicity, country and occupational information. Some data is mandatory in order for the results to be generated while other data is optional and has been identified as such. Additional information may be requested dependent on the assessment being administered.

\r\n

MHS recommends using identification numbers instead of an individual’s first and last name when completing the assessment. The administrator will be responsible for assigning and tracking the use of any identification numbers.

\r\n

The Administrator is entitled to use the personal information that we provide as part of our services, however, is obliged to process such personal information in accordance with your own obligations under data protection laws (as applicable) and in accordance with these Terms and Conditions.

\r\n

INFORMATION PRIVACY

\r\n

Certain information will be provided to you by MHS for the purposes of scoring, analyzing, and interpreting the Instrument’s results. You acknowledge that MHS has no control or influence over your use of the Instrument’s results, information (including any respondent personal information such as name, age, responses to items, scores, and other similar data), or reports generated after the Instrument is completed.

\r\n

MHS is committed to protecting the privacy and security of the information transmitted on this website and it employs technology that secures the information and prevents unauthorized access, use, or disclosure. You acknowledge that the internet is not an absolutely secure medium, and the privacy of your information, communications, and visits to this website cannot be guaranteed. Please refer to MHS privacy policy, https://mhs.com/privacy-policy/.

\r\n

Data collected and received by MHS in connection with the delivery of assessments will be transmitted and stored on private servers in the United States with a third-party cloud-services provider (CSP) who complies with the U.S.– E.U. Privacy Shield Framework. MHS’ employees and those of its service providers who require such Personal Information for the purposes of their duties may have access to this file. MHS and its service providers may be located outside your jurisdiction of residence and such Personal Information may be transferred to such jurisdiction and be subject to the laws of such jurisdiction. Solely to the extent provided by law, you may request to have access to the file containing any such Personal Information and the correction of this Personal Information, by contacting MHS at privacyofficer@mhs.com.

\r\n

The Internet is a global environment. By using our sites and sending information to us electronically, you consent to trans-border and international transmission of any personal information collected or processed through our sites.

\r\n

By agreeing to these Terms and Conditions, you consent to this use of this information.

\r\n

YOUR RESPONSIBILITIES

\r\n

You agree not to provide access given to you to any other person for any reason whatsoever. You agree that you are responsible for advising the respondent of the importance of providing accurate and complete answers. You agree to use and access the website in a manner that will not disrupt, corrupt, or otherwise damage the website. Accordingly, this website shall not be used in a manner that is prohibited by law. Use of this website is subject to your compliance with all applicable laws and regulations in your location.

\r\n

As a qualified customer and test administrator you agree to obtain consent from the respondent (participant), and if applicable, their parents or guardians, for the collection and processing of data through this system.

\r\n

NO WARRANTY ON CONTENTS, INFORMATION, OR MATERIALS

\r\n

The information included in this website does not constitute, and shall not be considered, the advice, recommendation, assessment, or endorsement of MHS. MHS shall not be liable for any claims based on the use of the Instrument. The Instrument and other contents of the website are provided on an “As Is” basis only. To the extent permitted by law, any statutory or implied warranty of merchantability or fitness for a particular purpose are completely denied and disclaimed.

\r\n

MHS COPYRIGHT, LOGOS, AND TRADEMARKS

\r\n

MHS is the copyright owner of this website and all of the contents of this website. These rights are protected by Canadian intellectual property right laws, international treaty provisions, and other applicable national laws. No portion of this website, including the Instrument information, text, images, audio, or video, may be copied, modified, or used in any manner without MHS’ prior written permission. Any name, logo, trademark, or service mark contained on this website is owned or licensed by MHS and may not be used in any manner without MHS’ prior written permission. Unauthorized use of all or part of this website or of the Instrument is strictly prohibited and may result in the violation of MHS’ copyrights, trademarks, privacy, and publicity rights.

\r\n

GENERAL

\r\n

These Terms and Conditions shall be governed by, construed and enforced in accordance with the laws of the Province of Ontario, without reference to its conflict of laws provisions, and the federal laws of Canada applicable therein. To the maximum extent permitted by applicable laws, the parties irrevocably attorn to the jurisdiction of the courts of the Province of Ontario. No failure by MHS to exercise any rights, powers or remedies hereunder or its delay to do so shall constitute a waiver of these rights, powers or remedies. If any provision of these Terms and Conditions is found to be invalid or unenforceable, this provision will be deemed severed from the remainder of the Terms and Conditions, which will remain valid and enforceable.

\r\n

By clicking \"I Accept\" below, you are indicating that you understand and agree to these Terms and Conditions.

\r\n

TERMS AND CONDITIONS OF USE - RESPONDENT

\r\n

ATTENTION: IF YOU ARE A RESPONDENT, PLEASE READ THE BELOW TERMS AND CONDITIONS OF USE CAREFULLY. IF YOU ARE AN ADMINISTRATOR, PLEASE READ THE TERMS AND CONDITIONS OF USE – ADMINISTRATOR SECTION.

\r\n

These Terms and Conditions of Use (the “Terms & Conditions”) govern your use of this website and your participation in the MHS assessment instrument (the “Instrument”). By clicking on “I Accept” below, you confirm that you have read these Terms and Conditions and that you agree to be bound by them.

\r\n

If you are the parent or guardian of a child under the age of majority in your particular State, Province, or Country who is required by an Administrator to complete the Instrument, you agree to be bound by these Terms and Conditions in your capacity as parent or guardian. By clicking \"I Accept,\" you are also providing consent for your child to complete the Instrument. Please remain with your child to provide assistance if necessary.

\r\n

PERMITTED ACCESS

\r\n

You have been provided a link by an Administrator (e.g., a company, an association, a doctor, a researcher, an employer, or a consulting firm) for the purpose of completing the Instrument. You understand that participation in completing the Instrument is entirely voluntary and, if you wish to withdraw from completing the Instrument, you may do so at any time without explanation.

\r\n

INFORMATION PRIVACY

\r\n

“Personal Information” is information about an identifiable individual.

\r\n

As part of the assessment process, you will be requested to provide certain personal information which will be provided to the Administrator by MHS for the purposes of scoring, analyzing, and interpreting the Instrument’s results. You acknowledge that MHS has no control or influence over the Administrator’s use of the Instrument’s results, your information (including any personal information such as your name, age, gender, responses to items, scores, and other similar data), or reports generated after you complete the Instrument. Additional information may be requested dependent on the assessment being administered.

\r\n

Data collected and received by MHS in connection with the delivery of assessments will be transmitted and stored on private servers in the United States with a third-party cloud-services provider (CSP) who complies with the U.S.– E.U. Privacy Shield Framework. MHS’ employees and those of its service providers who require such Personal Information for the purposes of their duties may have access to this file. MHS and its service providers may be located outside your jurisdiction of residence and such Personal Information may be transferred to such jurisdiction and be subject to the laws of such jurisdiction. Solely to the extent provided by law, you may request to have access to the file containing any such Personal Information and the correction of this Personal Information, by contacting MHS at privacyofficer@mhs.com.

\r\n

The Internet is a global environment. By using our sites and sending information to us electronically, you consent to trans-border and international transmission of any personal information collected or processed through our sites.

\r\n

MHS is committed to protecting the privacy and security of the information transmitted on this website and it employs technology that secures the information and prevents unauthorized access, use, or disclosure. You acknowledge that the internet is not an absolutely secure medium, and the privacy of your information, communications, and visits to this website cannot be guaranteed. Please refer to MHS privacy policy, https://mhs.com/privacy-policy/.

\r\n

The file containing your personal information will be kept on the servers of MHS and our employees and those of our service providers who require it for the purposes of their duties may have access to this file. MHS and its service providers may be located outside your jurisdiction of residence and your personal information may be transferred to such jurisdiction and be subject to the laws of such jurisdiction. Solely to the extent provided by law, you may request to have access to the file containing your personal information and the correction of this personal information, by contacting MHS at privacyofficer@mhs.com.

\r\n

By agreeing to these Terms and Conditions, you consent to this use of your information.

\r\n

YOUR RESPONSIBILITIES

\r\n

You agree not to provide link/access given to you by the Administrator to any other person for any reason whatsoever. You agree that you are responsible for providing accurate and complete information when completing the Instrument. You agree to use and access the website in a manner that will not disrupt, corrupt, or otherwise damage the website. Accordingly, this website shall not be used in a manner that is prohibited by law. Use of this website is subject to your compliance with all applicable laws and regulations in your location.

\r\n

If you are the parent or guardian of an individual completing this Instrument, you are responsible for advising the respondent of the importance of providing accurate and complete answers.

\r\n

NO WARRANTY ON CONTENTS, INFORMATION, OR MATERIALS

\r\n

The information included in this website does not constitute, and shall not be considered, the advice, recommendation, assessment, or endorsement of MHS. MHS shall not be liable for any claims based on the use of the Instrument. The Instrument and other contents of the website are provided on an “As Is” basis only. To the extent permitted by law, any statutory or implied warranty of merchantability or fitness for a particular purpose are completely denied and disclaimed.

\r\n

MHS COPYRIGHT, LOGOS, AND TRADEMARKS

\r\n

MHS is the copyright owner of this website and all of the contents of this website. These rights are protected by Canadian intellectual property right laws, international treaty provisions, and other applicable national laws. No portion of this website, including the Instrument information, text, images, audio, or video, may be copied, modified, or used in any manner without MHS’ prior written permission. Any name, logo, trademark, or service mark contained on this website is owned or licensed by MHS and may not be used in any manner without MHS’ prior written permission. Unauthorized use of all or part of this website or of the Instrument is strictly prohibited and may result in the violation of MHS’ copyrights, trademarks, privacy, and publicity rights.

\r\n

GENERAL

\r\n

These Terms and Conditions shall be governed by, construed and enforced in accordance with the laws of the Province of Ontario, without reference to its conflict of laws provisions, and the federal laws of Canada applicable therein. To the maximum extent permitted by applicable laws, the parties irrevocably attorn to the jurisdiction of the courts of the Province of Ontario. No failure by MHS to exercise any rights, powers or remedies hereunder or its delay to do so shall constitute a waiver of these rights, powers or remedies. If any provision of these Terms and Conditions is found to be invalid or unenforceable, this provision will be deemed severed from the remainder of the Terms and Conditions, which will remain valid and enforceable.

\r\n

By clicking \"I Accept\" below, you are indicating that you understand and agree to these Terms and Conditions.

\r\n
\r\n \r\n If you agree to the terms and conditions, click “I Accept” to continue.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n I Decline\r\n I Accept\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsAndConditionScreenEnglish));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport history from '../../../routes/history';\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentCenteredSection,\r\n AssessmentBody,\r\n AssessmentContentHeader,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentError,\r\n AssessmentContentAction,\r\n AssessmentContentActionButton\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/TermsAndConditions\";\r\nconst nextLink = \"/FinalTermination\";\r\n\r\nclass TermsDeclineScreenEnglish extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errorMessage: '' };\r\n\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n handleBack() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(backLink);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n You have declined to complete Conners 4. For more information, please contact your Conners 4 administrator.\r\n \r\n \r\n If you would like to complete Conners 4, please return to the legal information page and click “I Accept” to continue.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n {'<'}\r\n {/* Close */}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsDeclineScreenEnglish));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\nimport history from '../../../routes/history';\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentHeader,\r\n AssessmentContentSection,\r\n AssessmentContentCenteredSection,\r\n AssessmentContentScrollableSection,\r\n AssessmentContentAction,\r\n AssessmentContentError,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentActionButton,\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/Welcome\";\r\nconst declineLink = \"/DeclineTermsAndConditions\";\r\nconst nextLink = \"/Demographic/Ratee\"\r\n\r\nclass TermsAndConditionScreenFrench extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n errorMessage: '',\r\n };\r\n\r\n this.handleNext = this.handleNext.bind(this);\r\n this.handleAccept = this.handleAccept.bind(this);\r\n this.handleDecline = this.handleDecline.bind(this);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n handleAccept() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(nextLink);\r\n }\r\n\r\n handleDecline() {\r\n history.push(declineLink);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n // const { setDemographicsForVersion } = this.props;\r\n\r\n // setDemographicsForVersion(parseInt(sessionStorage.getItem('temp-version-id')));\r\n\r\n this.setState({\r\n timeoutWarningFlag: true\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n Bienvenue\r\n \r\n \r\n \r\n

CONDITIONS D’UTILISATION - ADMINISTRATEUR

\r\n

ATTENTION : SI VOUS ÊTES UN ADMINISTRATEUR, VEUILLEZ LIRE ATTENTIVEMENT LES CONDITIONS D’UTILISATION CI-DESSOUS. SI VOUS ÊTES UN RÉPONDANT, VEUILLEZ LIRE LA SECTION « CONDITIONS D’UTILISATION – RÉPONDANT ».

\r\n

Les présentes Conditions d’utilisation (les « Conditions ») régissent votre utilisation du présent site Web et votre administration de tout instrument d’évaluation de MHS (l’« Instrument »). En cliquant sur « J’accepte » ci-dessous, vous confirmez que vous avez lu ces Conditions d’utilisation et que vous consentez à vous y conformer.

\r\n

ACCÈS AUTORISÉ

\r\n

Vous avez reçu un mot de passe afin de pouvoir accéder à ce site Web et d’administrer l’Instrument.

\r\n

DONNÉES RECUEILLIES

\r\n

Les « Renseignements personnels » sont des renseignements concernant un individu identifiable.

\r\n

À titre d’administrateur, nous pourrions recueillir un nom, un numéro de téléphone, une adresse courriel, le niveau de qualification ou des renseignements relatifs à la certification auprès du client qualifié en vue d’accorder l’accès au site aux fins d’administration, de notation et de production de rapports pour vos clients.

\r\n

L’utilisateur du test qui remplit une évaluation par l’entremise du site d’évaluation en ligne de MHS pourrait devoir fournir ses coordonnées comme un nom, un nom de société ou une adresse courriel. Par ailleurs, au moyen du lien ouvert qui se trouve sur la plateforme d’évaluation en ligne de MHS, vous pourriez choisir de fournir à votre client une invitation par l’entremise de votre adresse courriel professionnelle, ce qui éviterait donc la nécessité d’avoir à fournir ces renseignements personnels.

\r\n

Données de réponses : Lorsqu’un client se voit attribuer un lien pour remplir une évaluation, MHS enregistrera tous les choix de réponses sélectionnés. Le client a la possibilité de sauter ou de ne pas répondre à certains ou à tous les items; cependant, si trop de réponses sont omises, il se peut que la plateforme ne soit pas en mesure d’établir un score et de produire un rapport. Données personnelles : MHS traite les données d’évaluation (renseignements personnels et données de réponses) en vue de fournir les services demandés, notamment le traitement des données reçues afin d’identifier les évaluations associées au compte MHS, ainsi que la fourniture des rapports correspondants.

\r\n

Dans le cadre du processus d’évaluation, il sera demandé au client de fournir des renseignements qui serviront à établir un score et à produire un rapport. Parmi les données qui pourraient être demandées figurent le nom, le genre, l’âge, l’ethnicité, le pays et des renseignements liés à l’emploi. Certaines données sont obligatoires afin qu’il soit possible de produire des résultats, alors que d’autres données sont facultatives et ont été désignées comme telles. Il pourrait être nécessaire de fournir des renseignements supplémentaires selon l’évaluation à administrer.

\r\n

Pour remplir l’évaluation, MHS recommande d’utiliser des numéros d’identification au lieu du prénom et du nom de famille d’un individu. L’Administrateur aura la responsabilité d’attribuer les numéros d’identification et d’assurer le suivi de leur utilisation.

\r\n

À titre d’Administrateur, vous pouvez utiliser les renseignements personnels que nous fournissons dans le cadre de nos services; toutefois, vous avez l’obligation de traiter ces renseignements personnels conformément à vos propres obligations en vertu des lois sur la protection des données (selon le cas) et conformément aux présentes Conditions.

\r\n

CONFIDENTIALITÉ DES RENSEIGNEMENTS

\r\n

MHS vous fournira certains renseignements aux fins de notation, d’analyse et d’interprétation des résultats de l’Instrument. Vous reconnaissez que MHS n’a ni influence ni droit de regard sur votre utilisation des résultats de l’Instrument, les renseignements (y compris tout renseignement personnel du répondant comme son nom, son âge, ses réponses aux items, ses scores et d’autres données semblables) ou les rapports produits une fois l’Instrument rempli.

\r\n

MHS s’engage à protéger la confidentialité et la sécurité des renseignements transmis sur le présent site Web, et emploie une technologie qui sécurise les renseignements et empêche toute utilisation, toute divulgation ou tout accès non autorisé. Vous reconnaissez qu’Internet constitue un média qui n’est pas parfaitement protégé et que la confidentialité de vos renseignements, de vos communications et de vos consultations du présent site Web ne peut être garantie. Veuillez consulter la politique de confidentialité de MHS à l’adresse https://mhs.com/privacy-policy/.

\r\n

Les données que MHS recueille et reçoit relativement aux évaluations seront transmises et stockées sur des serveurs privés situés aux États-Unis par l’entremise d’un fournisseur de services infonuagiques tiers qui se conforme au Bouclier de protection des données UE-États-Unis. Les employés de MHS et ceux de ses fournisseurs de services qui ont besoin des Renseignements personnels aux fins de l’exécution de leurs tâches peuvent avoir accès à ce dossier. MHS et ses fournisseurs de services pourraient se situer en dehors de votre juridiction de résidence, et les Renseignements personnels pourraient être transmis dans la juridiction concernée et y être assujettis aux lois en vigueur. Uniquement dans les limites prévues par la loi, vous pouvez demander d’avoir accès au dossier contenant les Renseignements personnels et d’y apporter des corrections, en communiquant avec MHS à l’adresse privacyofficer@mhs.com.

\r\n

Internet est un environnement mondial. En utilisant nos sites et en nous transmettant des renseignements par voie électronique, vous consentez à la transmission transfrontalière et internationale de tout renseignement personnel recueilli ou traité par l’entremise de nos sites.

\r\n

En acceptant ces Conditions, vous consentez à cette utilisation des renseignements.

\r\n

VOS RESPONSABILITÉS

\r\n

Vous consentez à ne pas autoriser qui que ce soit d’autre à utiliser l’accès qui vous est fourni, et pour quelque raison que ce soit. Vous reconnaissez que vous êtes responsable d’aviser le répondant de l’importance de fournir des réponses exactes et complètes. Vous consentez à utiliser le site Web et à y accéder d’une manière qui ne le perturbera pas, ne le corrompra pas et ne l’endommagera pas de quelque façon que ce soit. En conséquence, le présent site Web ne doit pas être utilisé d’une manière qui n’est pas autorisée par la loi. L’utilisation du présent site Web est assujettie à votre observance de toutes les lois et de tous les règlements applicables dans votre territoire.

\r\n

En tant que client qualifié et d’administrateur de test, vous acceptez d’obtenir le consentement du répondant (participant) et, le cas échéant, de ses parents ou ses tuteurs, aux fins de la collecte et du traitement des données par l’entremise de ce système.

\r\n

ABSENCE DE GARANTIE QUANT AU CONTENU, AUX RENSEIGNEMENTS OU AUX DOCUMENTS

\r\n

Les renseignements qui se trouvent sur le présent site Web ne constituent pas et ne doivent en aucun cas être considérés comme un conseil, une recommandation, une évaluation ou une approbation de MHS. MHS ne peut être tenu responsable en cas de réclamation concernant l’utilisation de l’Instrument. L’Instrument et tout autre contenu figurant sur le site Web sont fournis « en l’état » uniquement. Dans la mesure permise par la loi, les garanties implicites ou légales de qualité marchande ou d’adaptation à un emploi particulier sont complètement refusées et rejetées.

\r\n

DROITS D’AUTEUR, LOGOS ET MARQUES DE COMMERCE de MHS

\r\n

MHS est le titulaire des droits d’auteur du présent site Web et de tout le contenu qui y figure. Ces droits sont protégés par les lois canadiennes en matière de droit de propriété intellectuelle, les dispositions des traités internationaux et d’autres lois nationales applicables. Aucune partie du présent site Web, y compris les renseignements, le texte, les images, le contenu audio ou vidéo se rapportant à l’Instrument, ne peut être copiée, modifiée ou utilisée de quelque manière que ce soit sans l’autorisation écrite préalable de MHS. Les noms, logos, marques de commerce ou marques de service contenus dans le présent site Web sont détenus ou utilisés sous licence par MHS et ne peuvent être utilisés de quelque manière que ce soit sans l’autorisation écrite préalable de MHS. L’utilisation non autorisée en tout ou en partie du présent site Web ou de l’Instrument est strictement interdite et peut constituer une violation des droits de MHS en matière de droits d’auteur, de marques de commerce, de confidentialité et de publicité.

\r\n

RENSEIGNEMENTS GÉNÉRAUX

\r\n

Les présentes Conditions doivent être régies, interprétées et appliquées conformément aux lois de la province de l’Ontario, sans égard à ses dispositions concernant les conflits de lois et aux lois fédérales du Canada applicables à cet égard. Dans toute la mesure permise par les lois applicables, les parties s’en remettent irrévocablement à la compétence exclusive des tribunaux de la province de l’Ontario. Le défaut de MHS d’exercer des droits, des pouvoirs ou des recours qui sont octroyés aux termes des présentes ou de le faire immédiatement ne constitue pas une renonciation à ces droits, à ces pouvoirs ou à ces recours. Si toute disposition des présentes Conditions est jugée invalide ou non exécutoire, la disposition concernée sera considérée comme étant séparable des autres dispositions des présentes Conditions qui demeureront valides et exécutoires.

\r\n

En cliquant sur « J’accepte » ci-dessous, vous indiquez que vous comprenez et acceptez les présentes conditions d’utilisation.

\r\n

CONDITIONS D’UTILISATION - RÉPONDANT

\r\n

ATTENTION : SI VOUS ÊTES UN RÉPONDANT, VEUILLEZ LIRE ATTENTIVEMENT LES CONDITIONS D’UTILISATION CI-DESSOUS. SI VOUS ÊTES UN ADMINISTRATEUR, VEUILLEZ LIRE LA SECTION « CONDITIONS D’UTILISATION – ADMINISTRATEUR ».

\r\n

Les présentes Conditions d’utilisation (les « Conditions ») régissent votre utilisation du présent site Web et votre participation à l’instrument d’évaluation de MHS (l’« Instrument »). En cliquant sur « J’accepte » ci-dessous, vous confirmez que vous avez lu ces Conditions d’utilisation et que vous consentez à vous y conformer.

\r\n

Si vous êtes le parent ou le tuteur d’un enfant qui n’a pas atteint l’âge de la majorité dans votre État, votre province ou votre pays de résidence et qui doit utiliser l’Instrument à la demande d’un Administrateur, vous acceptez de vous lier aux présentes Conditions en tant que parent ou tuteur. En cliquant sur « J’accepte », vous consentez également à ce que votre enfant remplisse l’Instrument. Veuillez rester auprès de votre enfant et lui fournir de l’aide, au besoin.

\r\n

ACCÈS AUTORISÉ

\r\n

Vous avez reçu un lien de la part d’un Administrateur (p. ex. une société, une association, un médecin, un chercheur, un employeur ou une société de conseil) en vue de remplir l’Instrument. Vous comprenez que votre participation à l’Instrument est entièrement volontaire et que si vous ne souhaitez plus le remplir, vous avez le droit de vous retirer à tout moment sans donner d’explications.

\r\n

CONFIDENTIALITÉ DES RENSEIGNEMENTS

\r\n

Les « Renseignements personnels » sont des renseignements concernant un individu identifiable.

\r\n

Dans le cadre du processus d’évaluation, il vous sera demandé de fournir certains renseignements personnels, lesquels seront fournis à l’Administrateur par MHS aux fins de notation, d’analyse et d’interprétation des résultats de l’Instrument. Vous reconnaissez que MHS n’a ni influence ni droit de regard sur l’utilisation que fait l’Administrateur des résultats de l’Instrument, vos renseignements (y compris tout renseignement personnel comme votre nom, votre âge, votre genre, vos réponses aux items, vos scores et d’autres données semblables) ou les rapports produits une fois que vous avez rempli l’Instrument. Il pourrait être nécessaire de fournir des renseignements supplémentaires selon l’évaluation à administrer.

\r\n

Les données que MHS recueille et reçoit relativement aux évaluations seront transmises et stockées sur des serveurs privés situés aux États-Unis par l’entremise d’un fournisseur de services infonuagiques tiers qui se conforme au Bouclier de protection des données UE-États-Unis. Les employés de MHS et ceux de ses fournisseurs de services qui ont besoin des Renseignements personnels aux fins de l’exécution de leurs tâches peuvent avoir accès à ce dossier. MHS et ses fournisseurs de services pourraient se situer en dehors de votre juridiction de résidence, et les Renseignements personnels pourraient être transmis dans la juridiction concernée et y être assujettis aux lois en vigueur. Uniquement dans les limites prévues par la loi, vous pouvez demander d’avoir accès au dossier contenant les Renseignements personnels et d’y apporter des corrections, en communiquant avec MHS à l’adresse privacyofficer@mhs.com.

\r\n

Internet est un environnement mondial. En utilisant nos sites et en nous transmettant des renseignements par voie électronique, vous consentez à la transmission transfrontalière et internationale de tout renseignement personnel recueilli ou traité par l’entremise de nos sites.

\r\n

MHS s’engage à protéger la confidentialité et la sécurité des renseignements transmis sur le présent site Web, et emploie une technologie qui sécurise les renseignements et empêche toute utilisation, toute divulgation ou tout accès non autorisé. Vous reconnaissez qu’Internet constitue un média qui n’est pas parfaitement protégé et que la confidentialité de vos Renseignements, de vos communications et de vos consultations du présent site Web ne peut être garantie. Veuillez consulter la politique de confidentialité de MHS à l’adresse https://mhs.com/privacy-policy/.

\r\n

Le dossier contenant vos renseignements personnels sera conservé sur les serveurs de MHS, et nos employés ainsi que ceux de nos fournisseurs de services qui en ont besoin aux fins de l’exécution de leurs tâches peuvent avoir accès à ce dossier. MHS et ses fournisseurs de services pourraient se situer en dehors de votre juridiction de résidence, et vos renseignements personnels pourraient être transmis dans la juridiction concernée et y être assujettis aux lois en vigueur. Uniquement dans les limites prévues par la loi, vous pouvez demander d’avoir accès au dossier contenant vos Renseignements personnels et d’y apporter des corrections, en communiquant avec MHS à l’adresse privacyofficer@mhs.com.

\r\n

En acceptant ces Conditions, vous consentez à cette utilisation de vos renseignements.

\r\n

VOS RESPONSABILITÉS

\r\n

Vous consentez à ne pas autoriser qui que ce soit d’autre à utiliser le lien/l’accès que vous a fourni l’Administrateur, et pour quelque raison que ce soit. Vous reconnaissez que vous êtes responsable de fournir des renseignements exacts et complets lorsque vous répondez aux questions de l’Instrument. Vous consentez à utiliser le site Web et à y accéder d’une manière qui ne le perturbera pas, ne le corrompra pas et ne l’endommagera pas de quelque façon que ce soit. En conséquence, le présent site Web ne doit pas être utilisé d’une manière qui n’est pas autorisée par la loi. L’utilisation du présent site Web est assujettie à votre observance de toutes les lois et de tous les règlements applicables dans votre territoire.

\r\n

Si vous êtes le parent ou le tuteur d’un individu qui remplit l’Instrument, vous êtes responsable d’aviser le répondant de l’importance de fournir des réponses exactes et complètes.

\r\n

ABSENCE DE GARANTIE QUANT AU CONTENU, AUX RENSEIGNEMENTS OU AUX DOCUMENTS

\r\n

Les renseignements qui se trouvent sur le présent site Web ne constituent pas et ne doivent en aucun cas être considérés comme un conseil, une recommandation, une évaluation ou une approbation de MHS. MHS ne peut être tenu responsable en cas de réclamation concernant l’utilisation de l’Instrument. L’Instrument et tout autre contenu figurant sur le site Web sont fournis « en l’état » uniquement. Dans la mesure permise par la loi, les garanties implicites ou légales de qualité marchande ou d’adaptation à un emploi particulier sont complètement refusées et rejetées.

\r\n

DROITS D’AUTEUR, LOGOS ET MARQUES DE COMMERCE de MHS

\r\n

MHS est le titulaire des droits d’auteur du présent site Web et de tout le contenu qui y figure. Ces droits sont protégés par les lois canadiennes en matière de droit de propriété intellectuelle, les dispositions des traités internationaux et d’autres lois nationales applicables. Aucune partie du présent site Web, y compris les renseignements, le texte, les images, le contenu audio ou vidéo se rapportant à l’Instrument, ne peut être copiée, modifiée ou utilisée de quelque manière que ce soit sans l’autorisation écrite préalable de MHS. Les noms, logos, marques de commerce ou marques de service contenus dans le présent site Web sont détenus ou utilisés sous licence par MHS et ne peuvent être utilisés de quelque manière que ce soit sans l’autorisation écrite préalable de MHS. L’utilisation non autorisée en tout ou en partie du présent site Web ou de l’Instrument est strictement interdite et peut constituer une violation des droits de MHS en matière de droits d’auteur, de marques de commerce, de confidentialité et de publicité.

\r\n

RENSEIGNEMENTS GÉNÉRAUX

\r\n

Les présentes Conditions doivent être régies, interprétées et appliquées conformément aux lois de la province de l’Ontario, sans égard à ses dispositions concernant les conflits de lois et aux lois fédérales du Canada applicables à cet égard. Dans toute la mesure permise par les lois applicables, les parties s’en remettent irrévocablement à la compétence exclusive des tribunaux de la province de l’Ontario. Le défaut de MHS d’exercer des droits, des pouvoirs ou des recours qui sont octroyés aux termes des présentes ou de le faire immédiatement ne constitue pas une renonciation à ces droits, à ces pouvoirs ou à ces recours. Si toute disposition des présentes Conditions est jugée invalide ou non exécutoire, la disposition concernée sera considérée comme étant séparable des autres dispositions des présentes Conditions qui demeureront valides et exécutoires.

\r\n

En cliquant sur « J’accepte » ci-dessous, vous indiquez que vous comprenez et acceptez les présentes conditions d’utilisation.

\r\n
\r\n \r\n Si vous acceptez les conditions, cliquez sur « J`accepte » pour poursuivre.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n Je refuse\r\n J'accepte\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsAndConditionScreenFrench));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport history from '../../../routes/history';\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentCenteredSection,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentContentHeader,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentError,\r\n AssessmentContentAction,\r\n AssessmentContentActionButton\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/TermsAndConditions\";\r\nconst nextLink = \"/FinalTermination\";\r\n\r\nclass TermsDeclineScreenFrench extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errorMessage: '' };\r\n\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n handleBack() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(backLink);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Vous avez refusé de remplir le Conners 4. Pour de plus amples renseignements, veuillez communiquer avec votre administrateur du Conners 4.\r\n \r\n \r\n Si vous souhaitez remplir le Conners 4, veuillez retourner à la page relative aux renseignements juridiques et cliquer sur \"J`accepte\" pour poursuivre.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n {'<'}\r\n {/* Close */}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsDeclineScreenFrench));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\nimport history from '../../../routes/history';\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentHeader,\r\n AssessmentContentSection,\r\n AssessmentContentCenteredSection,\r\n AssessmentContentScrollableSection,\r\n AssessmentContentAction,\r\n AssessmentContentError,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentActionButton,\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/Welcome\";\r\nconst declineLink = \"/DeclineTermsAndConditions\";\r\nconst nextLink = \"/Demographic/Ratee\"\r\n\r\nclass TermsAndConditionScreenSpanish extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n errorMessage: '',\r\n };\r\n\r\n this.handleNext = this.handleNext.bind(this);\r\n this.handleAccept = this.handleAccept.bind(this);\r\n this.handleDecline = this.handleDecline.bind(this);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n handleAccept() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(nextLink);\r\n }\r\n\r\n handleDecline() {\r\n history.push(declineLink);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n // const { setDemographicsForVersion } = this.props;\r\n\r\n // setDemographicsForVersion(parseInt(sessionStorage.getItem('temp-version-id')));\r\n\r\n this.setState({\r\n timeoutWarningFlag: true\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n Bienvenidos\r\n \r\n \r\n \r\n

TÉRMINOS Y CONDICIONES DE USO - ADMINISTRADOR

\r\n

ATENCIÓN: SI USTED ES UN ADMINISTRADOR, LEA ATENTAMENTE LOS SIGUIENTES TÉRMINOS Y CONDICIONES DE USO. SI USTED ES UN ENCUESTADO, LEA LOS TÉRMINOS Y CONDICIONES DE USO - SECCIÓN DE ENCUESTADOS.

\r\n

Estos Términos y Condiciones de Uso (los \"Términos y Condiciones\") rigen el uso de este sitio web y la administración de cualquier instrumento de evaluación de MHS (el \"Instrumento\"). Al hacer clic en \"Acepto\", confirma que leyó estos Términos y Condiciones y que está de acuerdo en aceptarlos.

\r\n

ACCESO PERMITIDO

\r\n

Se le proporcionó una contraseña de acceso a este sitio web con el fin de aplicar el Instrumento.

\r\n

RECOPILACIÓN DE DATOS

\r\n

La \"Información Personal\" es información sobre una persona identificable.

\r\n

Como administradores, podemos recopilar el nombre, número de teléfono, dirección de correo electrónico, nivel de calificación o información sobre la certificación del cliente calificado, con el fin de concederle acceso al sitio para administrar, evaluar y generar informes para sus clientes.

\r\n

Es posible que el usuario que complete una evaluación mediante el sitio de evaluación en línea de MHS, deba proporcionar su información de contacto como nombre, nombre de la empresa y/o dirección de correo electrónico. De manera alternativa, con ayuda del enlace abierto que se encuentra disponible en la plataforma de evaluación en línea de MHS, puede enviar una invitación a su cliente mediante su correo laboral, de modo que no se requiera esta información personal.

\r\n

Datos de respuesta: Cuando un cliente recibe un enlace para completar una evaluación, MHS guardará todas las opciones de respuesta que seleccione. El cliente tendrá la opción de omitir ono responder a algunas o todas las preguntas, sin embargo, tal vez no sea posible evaluar y generar un informe si se omiten demasiadas respuestas. Datos personales: MHS procesa los datos de la evaluación (personales y respuestas) con el fin de proporcionar los servicios solicitados, por ejemplo, el procesamiento de los datos que se reciben para identificar las evaluaciones asociadas a una cuenta de MHS y proporcionar los informes correspondientes.

\r\n

Como parte del proceso de evaluación, se le pedirá al cliente que proporcione la información necesaria para evaluarlo y generar un informe. Algunos ejemplos de los datos que podrían solicitarse son: nombre, género, edad, etnia, país e información profesional. Algunos datos son obligatorios para generar los resultados, mientras que otros son opcionales y se identifican como tales. Es posible que se pida información adicional según la evaluación que se realice.

\r\n

MHS recomienda utilizar números de identificación en vez del nombre y el apellido de la persona al completar la evaluación. El Administrador será el responsable de asignar y dar seguimiento al uso que se le dé a cualquier número de identificación.

\r\n

El Administrador tiene autorización para utilizar la información personal que le proporcionamos como parte de nuestros servicios, sin embargo, está obligado a procesar dicha información personal según sus propias obligaciones, de acuerdo con las leyes de protección de los datos (según corresponda) y de acuerdo con estos Términos y Condiciones.

\r\n

PRIVACIDAD DE LA INFORMACIÓN

\r\n

MHS le proporcionará la información necesaria para evaluar, analizar e interpretar los resultados del Instrumento. Usted reconoce que MHS no tiene ningún control o influencia sobre el uso que usted le dé a los resultados del Instrumento, la información (incluida cualquier información personal sobre el encuestado como nombre, edad, las respuestas a las preguntas, las puntuaciones y otros datos similares), o los informes que se generen después de completar el Instrumento.

\r\n

MHS se compromete a proteger la privacidad y seguridad de la información que se transmita en este sitio web, y utiliza tecnología que protege la información y evita el acceso, uso o divulgación no autorizados. Usted reconoce que el Internet no es un medio completamente seguro y que no puede garantizarse la privacidad de su información, comunicaciones y visitas a este sitio web. Consulte la Política de Privacidad de MHS en https://mhs.com/privacy-policy/.

\r\n

Los datos que MHS recopila y recibe, relacionados con la aplicación de las evaluaciones, serán transmitidos y almacenados en servidores privados situados en los Estados Unidos mediante un tercero proveedor de servicios en la nube (CSP), el cual cumple con el marco del Escudo de la Privacidad entre la Unión Europea y los Estados Unidos. Es posible que los empleados de MHS y los de sus proveedores de servicios que requieran dicha Información Personal para llevar a cabo sus funciones, tengan acceso a este archivo. MHS y sus proveedores de servicios pueden estar ubicados fuera de su jurisdicción de residencia, y dicha Información Personal puede ser transferida y estar sujeta a las leyes que rigen dicha jurisdicción. Solo en la medida prevista por la ley, usted puede solicitar acceso al archivo que contiene dicha Información Personal y de la corrección la misma, poniéndose en contacto con MHS mediante el correo privacyofficer@mhs.com.

\r\n

El Internet es un entorno global. Al utilizar nuestros sitios y enviarnos información electrónicamente, usted da su consentimiento para la transmisión transfronteriza e internacional de cualquier información personal que recopilamos o procesemos en nuestros sitios.

\r\n

Al aceptar estos Términos y Condiciones, usted consiente en el uso de esta información.

\r\n

SUS RESPONSABILIDADES

\r\n

Usted se compromete a no facilitar el acceso que se le concedió a ninguna otra persona, por ningún motivo. Acepta que es responsable de advertir al encuestado sobre la importancia de proporcionar respuestas precisas y completas. Acepta utilizar y acceder al sitio web de modo que no interrumpa, corrompa o dañe de alguna manera el sitio web. Por lo tanto, este sitio web no debe utilizarse de alguna forma que esté prohibida por la ley. El uso de este sitio web está sujeto al cumplimiento de su parte de todas las leyes y regulaciones aplicables en su localidad.

\r\n

Como cliente calificado y administrador de la prueba, se compromete a obtener el consentimiento del encuestado (participante) y, si aplica, de sus padres o tutores, para la recopilación y el tratamiento de los datos en este sistema.

\r\n

NO HAY GARANTÍA SOBRE EL CONTENIDO, LA INFORMACIÓN O LOS MATERIALES

\r\n

La información que se incluye en este sitio web no constituye y no debe considerarse como un consejo, recomendación, evaluación o respaldo de MHS. MHS no será responsable de ninguna reclamación basada en el uso del Instrumento. El Instrumento de evaluación y otros contenidos de este sitio web se proporcionan únicamente \"tal cual\". En la medida que lo permita la ley, cualquier garantía legal o implícita de comercialización o adecuación para un propósito en particular se negará y se rechazará por completo.

\r\n

DERECHOS DE AUTOR, LOGOTIPOS Y MARCAS REGISTRADAS DE MHS

\r\n

MHS es el propietario de los derechos de autor de este sitio web y de todos sus contenidos. Estos derechos están protegidos por las leyes canadienses de derechos de propiedad intelectual, las disposiciones de los tratados internacionales y otras leyes nacionales aplicables. Ninguna parte de este sitio web, incluyendo la información, el texto, las imágenes, el audio o el video del Instrumento de evaluación, puede copiarse, modificarse o utilizarse de ninguna manera sin el permiso previo por escrito de MHS. Cualquier nombre, logotipo, marca comercial o marca de servicio que contenga este sitio web es propiedad o tiene licencia de MHS, y no puede utilizarse de ninguna manera sin el permiso previo por escrito de MHS. El uso no autorizado de todo o parte de este sitio web, o del Instrumento de evaluación, queda estrictamente prohibido y puede dar como resultado la violación de los derechos de autor, las marcas registradas, la privacidad y los derechos de publicidad de MHS.

\r\n

GENERAL

\r\n

Estos Términos y Condiciones se regirán, interpretarán y aplicarán de acuerdo con las leyes de la provincia de Ontario, sin hacer referencia a conflictos en sus disposiciones legales, y a las leyes federales de Canadá que apliquen a los mismos. En la medida máxima permitida por las leyes aplicables, las partes se someterán irrevocablemente a la jurisdicción de los tribunales de la provincia de Ontario. El hecho de que MHS no ejerza ningún derecho, facultad o recurso con respecto a lo que se expresa en el presente documento, o su demora en hacerlo, no constituirá una renuncia a dichos derechos, facultades o recursos. Si cualquier disposición que se establezca en estos Términos y Condiciones se considera inválida o inaplicable, esta disposición se considerará por separado del resto de los Términos y Condiciones, los cuales seguirán siendo válidos y ejecutables.

\r\n

Al seleccionar \"Acepto\", indica que comprende y está de acuerdo con los Términos y Condiciones de uso de este programa.

\r\n

TÉRMINOS Y CONDICIONES DE USO - ENCUESTADO

\r\n

ATENCIÓN: SI USTED ES UN ENCUESTADO, LEA ATENTAMENTE LOS SIGUIENTES TÉRMINOS Y CONDICIONES DE USO. SI USTED ES UN ADMINISTRADOR, LEA ATENTAMENTE LOS TÉRMINOS Y CONDICIONES DE USO - SECCIÓN DEL ADMINISTRADOR

\r\n

Estos Términos y Condiciones de Uso (los \"Términos y Condiciones\") rigen el uso de este sitio web y su participación en el cualquier instrumento de evaluación de MHS (el \"Instrumento\"). Al hacer clic en \"Acepto\", confirma que leyó estos Términos y Condiciones y que está de acuerdo en aceptarlos.

\r\n

Si usted es el padre o tutor de un menor de edad en su estado, provincia o país, a quien un Administrador le pide completar el Instrumento, usted está de acuerdo en aceptar estos Términos y Condiciones en su calidad de padre o tutor. Al hacer clic en \"Acepto\", también da su consentimiento para que su hijo(a) complete el Instrumento. Le pedimos que permanezca cerca de su hijo(a) para ayudarle si es necesario.

\r\n

ACCESO PERMITIDO

\r\n

Un administrador (por ejemplo, una empresa, una asociación, un médico, un investigador, un empleador o una empresa de consultoría) le proporcionó un enlace para completar el Instrumento. Comprende que su participación para completar el Instrumento es completamente voluntaria y, si desea no completarlo, puede hacerlo en cualquier momento sin dar explicaciones.

\r\n

PRIVACIDAD DE LA INFORMACIÓN

\r\n

La \"Información Personal\" es información sobre una persona identificable.

\r\n

Como parte del proceso de evaluación, se le pedirá que proporcione cierta información personal que será proporcionada al Administrador por MHS con el fin de evaluar, analizar e interpretar los resultados del Instrumento. Usted reconoce que MHS no tiene ningún control o influencia sobre el uso que el Administrador le dé a los resultados del Instrumento, su información (incluida cualquier información personal sobre el encuestado como nombre, edad, género, las respuestas a las preguntas, las puntuaciones y otros datos similares), o los informes que se generen después de que complete el Instrumento. Es posible que se le pida información adicional según la evaluación que realice.

\r\n

Los datos que MHS recopila y recibe, relacionados con la aplicación de las evaluaciones, serán transmitidos y almacenados en servidores privados situados en los Estados Unidos mediante un tercero proveedor de servicios en la nube (CSP), el cual cumple con el marco del Escudo de la Privacidad entre la Unión Europea y los Estados Unidos. Es posible que los empleados de MHS y los de sus proveedores de servicios que requieran dicha Información Personal para llevar a cabo sus funciones, tengan acceso a este archivo. MHS y sus proveedores de servicios pueden estar ubicados fuera de su jurisdicción de residencia, y dicha Información Personal puede ser transferida y estar sujeta a las leyes que rigen dicha jurisdicción. Solo en la medida prevista por la ley, usted puede solicitar acceso al archivo que contiene dicha Información Personal y la corrección de la misma, poniéndose en contacto con MHS mediante el correo privacyofficer@mhs.com.

\r\n

El Internet es un entorno global. Al utilizar nuestros sitios y enviarnos información electrónicamente, usted da su consentimiento para la transmisión transfronteriza e internacional de cualquier información personal que recopilamos o procesemos en nuestros sitios.

\r\n

MHS se compromete a proteger la privacidad y seguridad de la información que se transmita en este sitio web, y utiliza tecnología que protege la información y evita el acceso, uso o divulgación no autorizados. Usted reconoce que el Internet no es un medio completamente seguro y que no puede garantizarse la privacidad de su información, comunicaciones y visitas a este sitio web. Consulte la Política de Privacidad de MHS en https://mhs.com/privacy-policy/.

\r\n

El archivo que contiene su información personal se mantendrá en los servidores de MHS y es posible que nuestros empleados y los de nuestros proveedores de servicios que requieran dicha Información Personal para llevar a cabo sus funciones, tengan acceso a este archivo. MHS y sus proveedores de servicios pueden estar ubicados fuera de su jurisdicción de residencia, y dicha Información Personal puede ser transferida y estar sujeta a las leyes que rigen dicha jurisdicción. Solo en la medida prevista por la ley, usted puede solicitar acceso al archivo que contiene su Información Personal y la corrección de dicha Información Personal, poniéndose en contacto con MHS mediante el correo privacyofficer@mhs.com.

\r\n

Al aceptar estos Términos y Condiciones, usted consiente en el uso de su información.

\r\n

SUS RESPONSABILIDADES

\r\n

Usted se compromete a no proporcionar el enlace/acceso que le concedió el Administrador a ninguna otra persona, por ningún motivo. Acepta que es responsable de proporcionar respuestas precisas y completas al completar el Instrumento. Acepta utilizar y acceder al sitio web de modo que no interrumpa, corrompa o dañe de alguna manera el sitio web. Por lo tanto, este sitio web no debe utilizarse de alguna forma que esté prohibida por la ley. El uso de este sitio web está sujeto al cumplimiento de su parte de todas las leyes y regulaciones aplicables en su localidad.

\r\n

Si usted es el padre o tutor de una persona que completará este Instrumento, es responsable de advertir al encuestado sobre la importancia de proporcionar respuestas precisas y completas.

\r\n

NO HAY GARANTÍA SOBRE EL CONTENIDO, LA INFORMACIÓN O LOS MATERIALES

\r\n

La información que se incluye en este sitio web no constituye y no debe considerarse como un consejo, recomendación, evaluación o respaldo de MHS. MHS no será responsable de ninguna reclamación basada en el uso del Instrumento. El Instrumento de evaluación y otros contenidos de este sitio web se proporcionan únicamente \"tal cual\". En la medida que lo permita la ley, cualquier garantía legal o implícita de comercialización o adecuación para un propósito en particular se negará y se rechazará por completo.

\r\n

DERECHOS DE AUTOR, LOGOTIPOS Y MARCAS REGISTRADAS DE MHS

\r\n

MHS es el propietario de los derechos de autor de este sitio web y de todos sus contenidos. Estos derechos están protegidos por las leyes canadienses de derechos de propiedad intelectual, las disposiciones de los tratados internacionales y otras leyes nacionales aplicables. Ninguna parte de este sitio web, incluyendo la información, el texto, las imágenes, el audio o el video del Instrumento de evaluación, puede copiarse, modificarse o utilizarse de ninguna manera sin el permiso previo por escrito de MHS. Cualquier nombre, logotipo, marca comercial o marca de servicio que contenga este sitio web es propiedad de MHS o tiene licencia, y no puede utilizarse de ninguna manera sin el permiso previo por escrito de MHS. El uso no autorizado de todo o parte de este sitio web, o del Instrumento de evaluación, queda estrictamente prohibido y puede dar como resultado la violación de los derechos de autor, las marcas registradas, la privacidad y los derechos de publicidad de MHS.

\r\n

GENERAL

\r\n

Estos Términos y Condiciones se regirán, interpretarán y aplicarán de acuerdo con las leyes de la provincia de Ontario, sin hacer referencia a conflictos en sus disposiciones legales, y a las leyes federales de Canadá que apliquen a los mismos. En la medida máxima permitida por las leyes aplicables, las partes se someterán irrevocablemente a la jurisdicción de los tribunales de la provincia de Ontario. El hecho de que MHS no ejerza ningún derecho, facultad o recurso con respecto a lo que se expresa en el presente documento, o su demora en hacerlo, no constituirá una renuncia a dichos derechos, facultades o recursos. Si cualquier disposición que se establezca en estos Términos y Condiciones se considera inválida o inaplicable, esta disposición se considerará por separado del resto de los Términos y Condiciones, los cuales seguirán siendo válidos y ejecutables.

\r\n

Al seleccionar \"Acepto\", indica que comprende y está de acuerdo con los Términos y Condiciones de uso de este programa.

\r\n
\r\n \r\n Si usted está de acuerdo con los términos y condiciones, haga clic en \"Yo acepto\" para continuar.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n No Acepto\r\n Acepto\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsAndConditionScreenSpanish));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport history from '../../../routes/history';\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { assessmentStatus, termsReponse } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentCenteredSection,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentContentHeader,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentError,\r\n AssessmentContentAction,\r\n AssessmentContentActionButton\r\n} from '../../assessment/common';\r\n\r\nconst backLink = \"/TermsAndConditions\";\r\nconst nextLink = \"/FinalTermination\";\r\n\r\nclass TermsDeclineScreenSpanish extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errorMessage: '' };\r\n\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n handleBack() {\r\n const { setTerms, setAssessmentStatus } = this.props;\r\n setAssessmentStatus(assessmentStatus.InProgress);\r\n history.push(backLink);\r\n }\r\n\r\n handleNext() {\r\n this.setState({ errorMessage: 'Please provide a response' });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Usted ha renunciado a contestar Conners 4™. Para mas información, por favor contacte su Administrador de Conners 4™.\r\n \r\n \r\n Si a usted le gustaría contestar Conners 4™, por favor regrese a la página de información legal y haga clic en \"Yo acepto\" para continuar.\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n {'<'}\r\n {/* Close */}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(TermsDeclineScreenSpanish));","import {\r\n MainScreen,\r\n FinalTerminationScreen,\r\n ErrorScreen\r\n} from '../components/screens';\r\n\r\nimport {\r\n TermsAndConditionScreenEnglish,\r\n TermsDeclineScreenEnglish\r\n} from '../components/screens/terms-screens'\r\n\r\nimport {\r\n TermsAndConditionScreenFrench,\r\n TermsDeclineScreenFrench\r\n} from '../components/screens/terms-screens'\r\n\r\nimport {\r\n TermsAndConditionScreenSpanish,\r\n TermsDeclineScreenSpanish\r\n} from '../components/screens/terms-screens'\r\n\r\nconst EnglishIntroductionRoutes = [{\r\n path: '/TermsAndConditions',\r\n component: TermsAndConditionScreenEnglish,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/DeclineTermsAndConditions',\r\n component: TermsDeclineScreenEnglish,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n }\r\n]\r\n\r\nconst FrenchIntroductionRoutes = [{\r\n path: '/TermsAndConditions',\r\n component: TermsAndConditionScreenFrench,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n},\r\n{\r\n path: '/DeclineTermsAndConditions',\r\n component: TermsDeclineScreenFrench,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n}\r\n]\r\n\r\nconst SpanishIntroductionRoutes = [{\r\n path: '/TermsAndConditions',\r\n component: TermsAndConditionScreenSpanish,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n},\r\n{\r\n path: '/DeclineTermsAndConditions',\r\n component: TermsDeclineScreenSpanish,\r\n requireSessionID: true,\r\n monitorProgress: false\r\n}\r\n]\r\n\r\nconst GlobalIntroductionRoutes = [{\r\n path: '/',\r\n component: MainScreen,\r\n monitorProgress: false\r\n },\r\n {\r\n path:'/Error',\r\n component: ErrorScreen,\r\n monitorProgress: false\r\n }\r\n]\r\n\r\nexport const getIntroductionRoutes = (versionId) => {\r\n switch (parseInt(versionId)) {\r\n case 36:\r\n case 39:\r\n case 40:\r\n case 41:\r\n case 42:\r\n case 43:\r\n case 37:\r\n case 56:\r\n case 57:\r\n case 58:\r\n case 59:\r\n case 60:\r\n case 38:\r\n case 67:\r\n case 68:\r\n case 69:\r\n case 70:\r\n case 71:\r\n return [...EnglishIntroductionRoutes, ...GlobalIntroductionRoutes];\r\n case 44:\r\n case 45:\r\n case 46:\r\n case 47:\r\n case 48:\r\n case 49:\r\n case 61:\r\n case 62:\r\n case 63:\r\n case 64:\r\n case 65:\r\n case 66:\r\n case 72:\r\n case 73:\r\n case 74:\r\n case 75:\r\n case 76:\r\n case 77:\r\n return [...FrenchIntroductionRoutes, ...GlobalIntroductionRoutes];\r\n case 50:\r\n case 51:\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55:\r\n case 78:\r\n case 79:\r\n case 80:\r\n case 81:\r\n case 82:\r\n case 83:\r\n return [...SpanishIntroductionRoutes, ...GlobalIntroductionRoutes];\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n// export const IntroductionRoutes = [\r\n// { path: '/', component: MainScreen, requireSessionID: false, monitorProgress: false },\r\n// { path: '/TermsAndConditions', component: TermsAndConditionScreen, requireSessionID: true, monitorProgress: true },\r\n// { path: '/DeclineTermsAndConditions', component: TermsDeclineScreen, requireSessionID: true, monitorProgress: false },\r\n// { path: '/FinalTermination', component: FinalTerminationScreen, requireSessionID: false, monitorProgress: false },\r\n// ]","import React from 'react';\r\nimport { \r\n AssessmentContainer, \r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentFooter,\r\n AssessmentContentHeader,\r\n AssessmentContentAction,\r\n AssessmentContentActionButton\r\n} from '../../../assessment/common';\r\n\r\nimport { isMobile } from 'react-device-detect';\r\n\r\n\r\nconst DemoContainer = ({children, onBackClick = undefined, onNextClick = undefined, footerExtra, label, includeProgress, copyrightChild, title = \"\", overrideLogo = true, overrideVersion = false}) => (\r\n \r\n {title} \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n {\"<\"}\r\n {\">\"}\r\n \r\n \r\n \r\n)\r\n\r\nexport default DemoContainer;","import React from 'react';\r\nimport { Popper } from '../../../../third-party-components/material-ui';\r\nimport { FormControl, FormLabel, TextField } from '../../../../third-party-components/material-ui';\r\n\r\nconst Test = (props) => {\r\n return (\r\n
hi
\r\n )\r\n}\r\nconst DemoQuestiontext = ({name, label = '', className = '', required = false, visible = true, value = '', onChange, validationMessage = '', inputProps = {}, helperText = '', type = '', multiline = false }) => {\r\n return (\r\n
\r\n \r\n {label}{required && *}\r\n {validationMessage}\r\n 0 ? validationMessage : ''}\r\n variant=\"outlined\"\r\n onChange={onChange}\r\n inputProps={inputProps}\r\n helperText={helperText}\r\n type={type}\r\n multiline={multiline}\r\n style={{background: 'white', width: '100%'}}\r\n />\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default DemoQuestiontext;","import React from 'react';\r\nimport { FormControl, FormLabel, Select, OutlinedInput } from '../../../../third-party-components/material-ui';\r\n\r\nconst DemoQuestionDropDownList = ({name, label, value, data, required = false, visible =true, disabled = false, textField, dataItemKey, onChange, validationMessage}) => {\r\n if (!visible) {\r\n return null;\r\n }\r\n \r\n return (\r\n
\r\n \r\n {validationMessage}\r\n \r\n {label}{required && *}\r\n }\r\n >\r\n {data.map((item,index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default DemoQuestionDropDownList;","import React from 'react';\r\nimport { FormControl,FormLabel, DatePicker, KeyboardDatePicker, MuiPickersUtilsProvider, DateFnsUtils } from '../../../../third-party-components/material-ui';\r\n\r\nclass DemoQuestionDate extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleDateChange = this.handleDateChange.bind(this);\r\n }\r\n \r\n handleDateChange(name, date) {\r\n const { onChange } = this.props;\r\n\r\n onChange({\r\n target: {\r\n name: name,\r\n value: date\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const {name, label, className, value, format, validationMessage, required, disableFuture} = this.props;\r\n let dateFormat = 'MM/dd/yyyy';\r\n let selectedDate = null;\r\n\r\n if (format) {\r\n dateFormat = format;\r\n }\r\n\r\n if (value !== undefined) {\r\n selectedDate = new Date(value);\r\n }\r\n\r\n return (\r\n \r\n {validationMessage}\r\n \r\n {label}{required && *}\r\n \r\n this.handleDateChange(name, date)}\r\n />\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default DemoQuestionDate;","import React from 'react';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel, Radio } from '../../../../third-party-components/material-ui';\r\n\r\nclass DemoQuestionRadioButtons extends React.Component {\r\n checkVisible(value) {\r\n if (value === undefined) {\r\n return true;\r\n } else {\r\n if (value === true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const {name, label, value, className= '', data, required, textField, onChange, visible = true, validationMessage = '', inline, newLine, optionWidth} = this.props;\r\n let selectedValue = -1;\r\n\r\n if (value && isNaN(value) === false) {\r\n selectedValue = parseInt(value);\r\n }\r\n\r\n return (\r\n
\r\n \r\n {validationMessage}\r\n \r\n {label}{required && *}\r\n \r\n {newLine ?
: ''}\r\n {data.map((option, index) => (\r\n \r\n }\r\n label={option[textField]}\r\n labelPlacement=\"end\"\r\n />\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DemoQuestionRadioButtons;","import React from 'react';\r\nimport { FormControl,FormLabel, KeyboardDatePicker, MuiPickersUtilsProvider, DateFnsUtils } from '../../../../third-party-components/material-ui';\r\nimport { DatePicker } from '../../../../third-party-components/kendo-react-ui';\r\nimport {\r\n IntlProvider,\r\n load,\r\n loadMessages,\r\n LocalizationProvider,\r\n} from \"@progress/kendo-react-intl\";\r\n\r\nimport likelySubtags from \"cldr-core/supplemental/likelySubtags.json\";\r\nimport currencyData from \"cldr-core/supplemental/currencyData.json\";\r\nimport weekData from \"cldr-core/supplemental/weekData.json\";\r\n\r\nimport esNumbers from \"cldr-numbers-full/main/es-US/numbers.json\";\r\nimport esCaGregorian from \"cldr-dates-full/main/es-US/ca-gregorian.json\";\r\nimport esDateFields from \"cldr-dates-full/main/es-US/dateFields.json\";\r\nimport esTimeZoneNames from \"cldr-dates-full/main/es-US/timeZoneNames.json\";\r\nimport esMessages from \"../../../../assets/lang/es.json\";\r\n\r\nimport frNumbers from \"cldr-numbers-full/main/fr/numbers.json\";\r\nimport frCaGregorian from \"cldr-dates-full/main/fr/ca-gregorian.json\";\r\nimport frDateFields from \"cldr-dates-full/main/fr/dateFields.json\";\r\nimport frTimeZoneNames from \"cldr-dates-full/main/fr/timeZoneNames.json\";\r\nimport frMessages from \"../../../../assets/lang/fr.json\";\r\n\r\nimport { config } from '../../../../Constants';\r\n\r\nload(\r\n likelySubtags,\r\n currencyData,\r\n weekData,\r\n esNumbers,\r\n esCaGregorian,\r\n esDateFields,\r\n esTimeZoneNames,\r\n frNumbers,\r\n frCaGregorian,\r\n frDateFields,\r\n frTimeZoneNames\r\n);\r\nloadMessages(esMessages, \"es-US\");\r\nloadMessages(frMessages, \"fr\");\r\n\r\nclass DemoQuestionDatePicker extends React.Component {\r\n constructor(props){\r\n super(props)\r\n this.state = {locale: \"en-US\"};\r\n }\r\n\r\n componentDidMount(){\r\n this.setState({locale: this.props.lang === undefined ? \"en-US\" : this.props.lang})\r\n } \r\n\r\n render() {\r\n const {name, lang, label, className, value, format, validationMessage = '', required, disableFuture, onChange, formatPlaceholder} = this.props;\r\n let dateFormat = 'MM/dd/yyyy';\r\n let selectedDate = null;\r\n\r\n if (format) {\r\n dateFormat = format;\r\n }\r\n\r\n if (value !== undefined && value !== '') {\r\n selectedDate = new Date(value);\r\n }\r\n\r\n var min = new Date('1900/1/1');\r\n var max = new Date();\r\n\r\n if (config.datePickerMin) {\r\n console.log(config.datePickerMin);\r\n try {\r\n min = new Date(Date.parse(config.datePickerMin));\r\n console.log(min);\r\n } catch {\r\n \r\n }\r\n }\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n return (\r\n \r\n {return false}}>\r\n {label}{required && *}\r\n {validationMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default DemoQuestionDatePicker;","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { DemoContainer } from './common/controls';\r\nimport { Box } from '../../third-party-components/material-ui';\r\n\r\nclass DemographicTerminate extends Component {\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n The demographic criteria for this assessment have not been met.

\r\n Please close your browser to exit.\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DemographicTerminate;","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { DemoContainer } from './common/controls';\r\nimport { Box } from '../../third-party-components/material-ui';\r\n\r\nclass DemographicOverQuota extends Component {\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n Thank you for your willingness to participate. Unfortunately, we have all our target numbers for this assessment.

\r\n Please close the browser to exit.\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DemographicOverQuota;","import React from 'react';\r\n\r\nclass DemoHideabletext extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DemoHideabletext;","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/Demographic/Ratee';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n relationshipOtherError: '',\r\n genderOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRater extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getChildRelationshipOptions, getHispanicOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getChildRelationshipOptions();\r\n getHispanicOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\n\r\nhandleBack() {\r\n history.push(prevLink);\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const {setDemographicsResponse} = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch (name) {\r\n case 'raterAge':\r\n if (isNaN(value)) return;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return true;\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n case 'raterRelationshipOtherSP':\r\n return this.validateRelationshipOther(value);\r\n // case 'raterGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'raterHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'raterRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateRelationshipOther(value) {\r\n if (this.requireRelationshipOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ relationshipOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ relationshipOtherError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n \r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n } \r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { raterGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterGender) && raterGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterGender) {\r\n \r\n const value = parseInt(raterGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRelationshipOther() {\r\n const { raterRelationship } = this.props.demographics;\r\n \r\n var required = false;\r\n \r\n if ((isNaN(raterRelationship) && raterRelationship === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n \r\n if (raterRelationship) {\r\n const value = parseInt(raterRelationship);\r\n const option = this.getRelationshipOption(value);\r\n \r\n required = option && option.requireOther;\r\n }\r\n \r\n if (!required) {\r\n this.props.demographics.raterRelationshipOtherSP = null;\r\n }\r\n \r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { raterHispanic } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(raterHispanic) && raterHispanic === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (raterHispanic) {\r\n const value = parseInt(raterHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, raterAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (raterAboriginal) {\r\n const value = parseInt(raterAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n } \r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.raterRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { raterRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterRace) && raterRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterRace) {\r\n const value = parseInt(raterRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAdditionalInfo() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (rateeCountry == null) {\r\n return false;\r\n }\r\n\r\n var value = parseInt(rateeCountry);\r\n\r\n if (value === 3) {\r\n required = false;\r\n } else {\r\n required = true;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRelationshipOption(value) {\r\n const { relationshipOptions } = this.props;\r\n return relationshipOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n relationshipOptions,\r\n hispanicOptions,\r\n raceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Please provide the following demographic information pertaining to yourself.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

ADDITIONAL INFORMATION

\r\n These optional questions are asked for research purposes only and your responses will not be visible to the administrator.\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n relationshipOptions: getLookup(state, LOOKUP_CHILD_RELATIONSHIP),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRater));","import { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../redux/actions/lookup-action';\r\n\r\nconst isNumber = (evt) => {\r\n var iKeyCode = (evt.which) ? evt.which : evt.keyCode\r\n if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57))\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\nconst calcAge = (dob) => {\r\n var ageDifMs = Date.now() - new Date(dob).getTime();\r\n var ageDate = new Date(ageDifMs); // miliseconds from epoch\r\n var ageDOB = ageDate.getUTCFullYear() - 1970;\r\n\r\n if (ageDOB < 0)\r\n ageDOB = 0;\r\n\r\n return ageDOB;\r\n}\r\n\r\nexport {\r\n isNumber,\r\n calcAge\r\n}","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Demographic/Rater';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge': \r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeCountryOtherSP':\r\n // return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'First Name and Last Name or ID is required information'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date of Birth or Age is required information'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'Date of Birth must be before today.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: 'Date of Birth and Age do not match'})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Please provide the following demographic information pertaining to your child.
\r\n * Required field\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

ADDITIONAL INFORMATION

\r\n These optional questions are asked for research purposes only and your responses will not be visible to the administrator.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n The primary parent/guardian is defined as the person primarily responsible for the care and upbringing of
\r\n the child. If the responsibility of care and upbringing of the child is equally shared, the parent/guardian
\r\n completing this assessment is considered the primary caregiver.
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader, AssessmentFooter } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility';\r\n\r\nconst questions = [\r\n 'Describe how these behaviors cause serious problems for your child at home, in school, at work, or with their friends.',\r\n 'Do you have any other concerns about your child?',\r\n 'What strengths or skills does your child have?'\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" OF \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n \r\n const {versionID} = this.props\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/Demographic/Ratee';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n genderOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRater extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getHispanicOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getHispanicOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\n\r\nhandleBack() {\r\n history.push(prevLink);\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const {setDemographicsResponse} = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch (name) {\r\n case 'raterAge':\r\n case 'raterKnownStudentYears':\r\n case 'raterKnownStudentMonths':\r\n var reg = /^[0-9\\b]+$/;\r\n if ((isNaN(value) || !reg.exec(value)) && value !== \"\") return;\r\n\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return true;\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'raterGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'raterHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'raterRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n \r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n } \r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { raterGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterGender) && raterGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterGender) {\r\n \r\n const value = parseInt(raterGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { raterHispanic } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(raterHispanic) && raterHispanic === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (raterHispanic) {\r\n const value = parseInt(raterHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, raterAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (raterAboriginal) {\r\n const value = parseInt(raterAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.raterRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { raterRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterRace) && raterRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterRace) {\r\n const value = parseInt(raterRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAdditionalInfo() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (rateeCountry == null) {\r\n return false;\r\n }\r\n\r\n var value = parseInt(rateeCountry);\r\n\r\n if (value === 3) {\r\n required = false;\r\n } else {\r\n required = true;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n relationshipOptions,\r\n hispanicOptions,\r\n raceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Please provide the following demographic information pertaining to yourself.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n How long have you taught this student?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

ADDITIONAL INFORMATION

\r\n These optional questions are asked for research purposes only and your responses will not be visible to the administrator.\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRater));","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Demographic/Rater';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''});\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''});\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''});\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'First Name and Last Name or ID is required information'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date of Birth or Age is required information'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'Date of Birth must be before today.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: 'Date of Birth and Age do not match'})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n } \r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Please provide the following demographic information pertaining to the student.
\r\n * Required field\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

ADDITIONAL INFORMATION

\r\n These optional questions are asked for research purposes only and your responses will not be visible to the administrator.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n versionID: state.data.versionID,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants';\r\nimport { translateLabel } from '../../assessment/common/task-utility'\r\n\r\nconst questions = [\r\n 'Describe how these behaviors cause serious problems for this student in school, at work, or with their friends.',\r\n 'Do you have any other concerns about this student?',\r\n 'What strengths or skills does this student have?'\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" OF \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const {versionID} = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'First Name and Last Name or ID is required information'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date of Birth or Age is required information'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'Date of Birth must be before today.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: 'Date of Birth and Age do not match'})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n

Please provide the following demographic information pertaining to the youth.

\r\n

* Required field

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

ADDITIONAL INFORMATION

\r\n These optional questions are asked for research purposes only and your responses will not be visible to the administrator.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n The primary parent/guardian is defined as the person primarily responsible for the care and upbringing of
\r\n the child. If the responsibility of care and upbringing of the child is equally shared, the parent/guardian
\r\n completing this assessment is considered the primary caregiver.
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility';\r\n\r\nconst questions = [\r\n 'Describe how these behaviors cause serious problems for you at home, in school, at work, or with your friends.',\r\n 'Do you have any other problems?',\r\n 'What are your main strengths or skills?'\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" OF \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/Demographic/Ratee';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n relationshipOtherError: '',\r\n genderOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRater extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getChildRelationshipOptions, getHispanicOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getChildRelationshipOptions();\r\n getHispanicOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\n\r\nhandleBack() {\r\n history.push(prevLink);\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const {setDemographicsResponse} = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch (name) {\r\n case 'raterAge':\r\n if (isNaN(value)) return;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return true;\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n case 'raterRelationshipOtherSP':\r\n return this.validateRelationshipOther(value);\r\n // case 'raterGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'raterHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'raterRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateRelationshipOther(value) {\r\n if (this.requireRelationshipOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ relationshipOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ relationshipOtherError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n \r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n } \r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { raterGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterGender) && raterGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterGender) {\r\n \r\n const value = parseInt(raterGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRelationshipOther() {\r\n const { raterRelationship } = this.props.demographics;\r\n \r\n var required = false;\r\n \r\n if ((isNaN(raterRelationship) && raterRelationship === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n \r\n if (raterRelationship) {\r\n const value = parseInt(raterRelationship);\r\n const option = this.getRelationshipOption(value);\r\n \r\n required = option && option.requireOther;\r\n }\r\n \r\n if (!required) {\r\n this.props.demographics.raterRelationshipOtherSP = null;\r\n }\r\n \r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { raterHispanic } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(raterHispanic) && raterHispanic === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (raterHispanic) {\r\n const value = parseInt(raterHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, raterAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (raterAboriginal) {\r\n const value = parseInt(raterAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.raterRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { raterRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterRace) && raterRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterRace) {\r\n const value = parseInt(raterRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAdditionalInfo() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (rateeCountry == null) {\r\n return false;\r\n }\r\n\r\n var value = parseInt(rateeCountry);\r\n\r\n if (value === 3) {\r\n required = false;\r\n } else {\r\n required = true;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRelationshipOption(value) {\r\n const { relationshipOptions } = this.props;\r\n return relationshipOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n relationshipOptions,\r\n hispanicOptions,\r\n raceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Por favor provea la siguiente información demográfica relativa a usted mismo.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

INFORMACIÓN ADICIONAL

\r\n Estas preguntas opcionales se hacen solamente con fines de investigación y sus respuestas no serán visibles para el administrador.\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n relationshipOptions: getLookup(state, LOOKUP_CHILD_RELATIONSHIP),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRater));","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Demographic/Rater';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'Nombre y appellido/ID es información requerida'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Fecha de Nacimiento/Edad es información requerida'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'La fecha de nacimiento proporcionada debe ser anterior a la fecha de hoy.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: 'La fecha de nacimiento y la edad no coinciden.'})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Por favor provea la siguiente información demográfica relativa a su hijo(a).
\r\n * Información requerida\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

INFORMACIÓN ADICIONAL

\r\n Estas preguntas opcionales se hacen solamente con fines de investigación y sus respuestas no serán visibles para el administrador.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n El padre/tutor principal se define como la persona responsable principalmente del cuidado y crianza del
\r\n hijo(a). Si la responsabilidad del cuidado y crianza del hijo(a) se comparte por partes iguales, el
\r\n padre/guardián que complete esta evaluación es considerado como el cuidador principal.
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility';\r\n\r\nconst questions = [\r\n \"Describa cómo estos comportamientos causan serios problemas para su hijo(a) en el hogar, en la escuela, en el trabajo o con sus amigos.\",\r\n \"¿Tiene usted cualquier otra preocupación acerca de su hijo(a)?\",\r\n \"¿Qué fortalezas o habilidades tiene su hijo(a)?\"\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" DE \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'Nombre y appellido/ID es información requerida'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Fecha de Nacimiento/Edad es información requerida'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'La fecha de nacimiento proporcionada debe ser anterior a la fecha de hoy.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: \"La fecha de nacimiento y la edad no coinciden.\"})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n } \r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Proporcione la siguiente información demográfica relativa al/a la joven.
\r\n * Información requerida\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

INFORMACIÓN ADICIONAL

\r\n Estas preguntas opcionales se hacen solamente con fines de investigación y sus respuestas no serán visibles para el administrador.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n El padre/tutor principal se define como la persona responsable principalmente del cuidado y crianza del
\r\n hijo(a). Si la responsabilidad del cuidado y crianza del hijo(a) se comparte por partes iguales, el
\r\n padre/guardián que complete esta evaluación es considerado como el cuidador principal.
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility';\r\n\r\nconst questions = [\r\n \"Describa cómo estos comportamientos le causan serios problemas en el hogar, en la escuela, en el trabajo o con amigos.\",\r\n \"¿Tienes cualquier otro problema?\",\r\n \"¿Cuáles son tus fortalezas o habilidades principales?\"\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" DE \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/Demographic/Ratee';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n relationshipOtherError: '',\r\n genderOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRater extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getChildRelationshipOptions, getHispanicOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getChildRelationshipOptions();\r\n getHispanicOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\n\r\nhandleBack() {\r\n history.push(prevLink);\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const {setDemographicsResponse} = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch (name) {\r\n case 'raterAge':\r\n if (isNaN(value)) return;\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return true;\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n case 'raterRelationshipOtherSP':\r\n return this.validateRelationshipOther(value);\r\n // case 'raterGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'raterHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'raterRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateRelationshipOther(value) {\r\n if (this.requireRelationshipOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ relationshipOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ relationshipOtherError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n \r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n } \r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { raterGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterGender) && raterGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterGender) {\r\n \r\n const value = parseInt(raterGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRelationshipOther() {\r\n const { raterRelationship } = this.props.demographics;\r\n \r\n var required = false;\r\n \r\n if ((isNaN(raterRelationship) && raterRelationship === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n \r\n if (raterRelationship) {\r\n const value = parseInt(raterRelationship);\r\n const option = this.getRelationshipOption(value);\r\n \r\n required = option && option.requireOther;\r\n }\r\n \r\n if (!required) {\r\n this.props.demographics.raterRelationshipOtherSP = null;\r\n }\r\n \r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { raterHispanic } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(raterHispanic) && raterHispanic === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (raterHispanic) {\r\n const value = parseInt(raterHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, raterAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (raterAboriginal) {\r\n const value = parseInt(raterAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.raterRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { raterRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterRace) && raterRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterRace) {\r\n const value = parseInt(raterRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAdditionalInfo() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (rateeCountry == null) {\r\n return false;\r\n }\r\n\r\n var value = parseInt(rateeCountry);\r\n\r\n if (value === 3) {\r\n required = false;\r\n } else {\r\n required = true;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRelationshipOption(value) {\r\n const { relationshipOptions } = this.props;\r\n return relationshipOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n relationshipOptions,\r\n hispanicOptions,\r\n raceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Veuillez fournir les renseignements démographiques suivants vous concernant.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

INFORMATION ADDITIONELLE

\r\n Ces questions facultatives vous sont posées aux fins de recherche uniquement. L'administrateur ne pourra pas voir vos réponses.\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n relationshipOptions: getLookup(state, LOOKUP_CHILD_RELATIONSHIP),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_CHILD_RELATIONSHIP, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRater));","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Demographic/Rater';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge': \r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'Prénom et nom/Numéro d\\'identification de l\\'enfant constitue un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date de naissance/Âge un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'La date de naissance doit être antérieur à la date d\\'aujourd\\'hui.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: \"La date de naissance et l'âge ne correspondent pas.\"})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Veuillez fournir les renseignements démographiques de l'enfant.
\r\n * Renseignement obligatoire\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

INFORMATION ADDITIONELLE

\r\n Ces questions facultatives vous sont posées aux fins de recherche uniquement. L'administrateur ne pourra pas voir vos réponses.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Le parent/tuteur(trice) principal(e) se définit comme la personne responsable des soins et de l'éducation
\r\n de l'enfant. Si la responsabilité des soins et de l'éducation est partagée également, le parent/tuteur(trice)
\r\n qui effectue cette évaluation est considéré(e) comme le/la responsable principal(e).
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility'\r\n\r\nconst questions = [\r\n \"Décrivez comment ces comportements causent de graves problèmes à votre enfant à la maison, à l'école, au travail ou avec des amis.\",\r\n \"Avez-vous d’autres préoccupations au sujet de votre enfant?\",\r\n \"Quelles sont les forces ou les habiletés de votre enfant?\"\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" SUR \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/Demographic/Ratee';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n genderOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRater extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getHispanicOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getHispanicOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\n\r\nhandleBack() {\r\n history.push(prevLink);\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const {setDemographicsResponse} = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch (name) {\r\n case 'raterAge':\r\n case 'raterKnownStudentYears':\r\n case 'raterKnownStudentMonths':\r\n var reg = /^[0-9\\b]+$/;\r\n if ((isNaN(value) || !reg.exec(value)) && value !== \"\") return;\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return true;\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n case 'raterGenderOtherSP':\r\n return this.validateGenderOther(value);\r\n case 'raterHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'raterRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateGenderOther(value) {\r\n if (this.requireGenderOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ genderOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ genderOtherError: ''})\r\n return true;\r\n}\r\n \r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n } \r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { raterGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterGender) && raterGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterGender) {\r\n \r\n const value = parseInt(raterGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { raterHispanic } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(raterHispanic) && raterHispanic === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (raterHispanic) {\r\n const value = parseInt(raterHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, raterAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (raterAboriginal) {\r\n const value = parseInt(raterAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.raterRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { raterRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(raterRace) && raterRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (raterRace) {\r\n const value = parseInt(raterRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.raterRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAdditionalInfo() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (rateeCountry == null) {\r\n return false;\r\n }\r\n\r\n var value = parseInt(rateeCountry);\r\n\r\n if (value === 3) {\r\n required = false;\r\n } else {\r\n required = true;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n relationshipOptions,\r\n hispanicOptions,\r\n raceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Veuillez fournir les renseignements démographiques suivants vous concernant.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Depuis combien de temps enseignez-vous à cet(te) élève?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

INFORMATION ADDITIONELLE

\r\n Ces questions facultatives vous sont posées aux fins de recherche uniquement. L'administrateur ne pourra pas voir vos réponses.\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRater));","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Demographic/Rater';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value);\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'Prénom et nom/Numéro d\\'identification de l\\'enfant constitue un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date de naissance/Âge un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'La date de naissance doit être antérieur à la date d\\'aujourd\\'hui.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: \"La date de naissance et l'âge ne correspondent pas.\"})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Veuillez fournir les renseignements démographiques de l'élève.
\r\n * Renseignement obligatoire\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

INFORMATION ADDITIONELLE

\r\n Ces questions facultatives vous sont posées aux fins de recherche uniquement. L'administrateur ne pourra pas voir vos réponses.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility'\r\n\r\nconst questions = [\r\n \"Décrivez comment ces comportements causent de graves problèmes à cet/te élève à l'école, au travail ou avec des amis.\",\r\n \"Avez-vous d’autres préoccupations au sujet de cet/te élève?\",\r\n \"Quelles sont les forces ou les habiletés de cet/te élève?\"\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" SUR \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import React, { Component } from 'react'\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { isFetchingLookups, getLookup, getLookupErrors, LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL } from '../../../redux/actions/lookup-action';\r\n\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText, DemoQuestionDatePicker, DemoQuestionDropDownList, DemoQuestionRadioButtons } from '../common/controls';\r\n\r\nimport { calcAge } from '../demographic-functions';\r\nimport { config } from '../../../Constants';\r\n\r\nimport {\r\n AssessmentContentHeader\r\n} from '../../assessment/common';\r\nimport DemoHideabletext from '../common/controls/demo-hideable-text';\r\n\r\nconst MIN_AGE = 18;\r\nconst prevLink = '/TermsAndConditions';\r\nconst nextLink = '/Assessment/Instruction';\r\n\r\nconst terminationLink = '/Terminate/Demographics';\r\nconst defaultNullSelectValue = '--Please Select--';\r\n\r\nconst errors = {\r\n firstNameError: '',\r\n lastNameError: '',\r\n idError: '',\r\n dobError: '',\r\n ageError: '',\r\n genderOtherError: '',\r\n countryOtherError: '',\r\n stateOtherError: '',\r\n hispanicOtherError: '',\r\n raceOtherError: '',\r\n PELOtherError: ''\r\n}\r\n\r\nclass DemographicRatee extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { errors };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\ncomponentDidMount() {\r\n const { getGenderOptions, getCountryOptions, getStateOptions, getHispanicOptions, getEducationOptions, getProvinceOptions, getAboriginalOptions } = this.props;\r\n\r\n getGenderOptions();\r\n getCountryOptions();\r\n getStateOptions();\r\n getHispanicOptions();\r\n getEducationOptions();\r\n getProvinceOptions();\r\n getAboriginalOptions();\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n}\r\n\r\nhandleNext() {\r\n if (this.validateAll()) {\r\n history.push(nextLink);\r\n }\r\n}\r\n\r\nonChange(e) {\r\n const { setDemographicsResponse, getRaceCountryOptions } = this.props;\r\n const {name, selectedValue, value} = e.target;\r\n\r\n switch(name) {\r\n case 'rateeAge':\r\n if (isNaN(value)) return;\r\n this.setState({dobError: ''})\r\n break;\r\n case 'rateeDOB':\r\n this.setState({dobError: ''})\r\n\r\n this.props.demographics.rateeAge = calcAge(value)\r\n break;\r\n case 'rateeFirstName':\r\n case 'rateeLastName':\r\n case 'rateeID':\r\n this.setState({firstNameError: ''})\r\n break;\r\n case 'rateeCountry':\r\n getRaceCountryOptions(value);\r\n this.props.demographics.rateeRace = null;\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n break;\r\n default:\r\n this.validate(name, selectedValue || value)\r\n break;\r\n }\r\n\r\n setDemographicsResponse(name, value === defaultNullSelectValue ? null : value);\r\n}\r\n\r\nvalidateAll() {\r\n return this.validateFirstLastNameID()\r\n & this.validateAgeDOB();\r\n}\r\n\r\nvalidate(name, value) {\r\n switch (name) {\r\n // case 'rateeGenderOtherSP':\r\n // return this.validateGenderOther(value);\r\n case 'rateeCountryOtherSP':\r\n return this.validateCountryOther(value);\r\n case 'rateeStateOtherSP':\r\n return this.validateStateOther(value);\r\n case 'rateeHispanicOtherSP':\r\n return this.validateHispanicOther(value);\r\n case 'rateeRaceOtherSP':\r\n return this.validateRaceOther(value);\r\n case 'rateePELOtherSP':\r\n return this.validatePELOther(value);\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\nvalidateFirstLastNameID() {\r\n const {rateeFirstName, rateeLastName, rateeID} = this.props.demographics;\r\n\r\n if ((rateeFirstName === \"\" || rateeLastName === \"\") || (rateeFirstName === null || rateeLastName === null)) {\r\n if (rateeID !== \"\" && rateeID !== null) {\r\n this.setState({firstNameError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({firstNameError: 'Prénom et nom/Numéro d\\'identification de l\\'enfant constitue un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n this.setState({firstNameError: ''})\r\n return true;\r\n}\r\n\r\nvalidateAgeDOB() {\r\n const {rateeAge, rateeDOB} = this.props.demographics;\r\n\r\n if (rateeAge === \"\" || rateeAge === null) {\r\n if (rateeDOB !== \"\" && rateeDOB !== null) {\r\n this.setState({dobError: ''})\r\n return true;\r\n }\r\n else {\r\n this.setState({dobError: 'Date de naissance/Âge un renseignement obligatoire'})\r\n return false;\r\n }\r\n }\r\n\r\n var max = new Date();\r\n\r\n if (config.datePickerMax) {\r\n try {\r\n max = new Date(Date.parse(config.datePickerMax));\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n if (rateeDOB > max) {\r\n this.setState({dobError: 'La date de naissance doit être antérieur à la date d\\'aujourd\\'hui.'})\r\n return false;\r\n }\r\n\r\n if (rateeAge !== \"\" && rateeAge !== null && rateeDOB !== \"\" && rateeDOB !== null) {\r\n if (calcAge(rateeDOB) !== parseInt(rateeAge)) {\r\n this.setState({dobError: \"La date de naissance et l'âge ne correspondent pas.\"})\r\n return false;\r\n }\r\n }\r\n \r\n this.setState({dobError: ''})\r\n return true;\r\n}\r\n\r\n// validateGenderOther(value) {\r\n// if (this.requireGenderOther()) {\r\n// if (!value || value.trim().length === 0) {\r\n// this.setState({ genderOtherError: 'Please provide a response'})\r\n// return false;\r\n// }\r\n// }\r\n\r\n// this.setState({ genderOtherError: ''})\r\n// return true;\r\n// }\r\n\r\nvalidateCountryOther(value) {\r\n if (this.requireCountryOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ countryOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ countryOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateStateOther(value) {\r\n if (this.requireStateOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ stateOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ stateOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateHispanicOther(value) {\r\n if (this.requireHispanicOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ hispanicOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ hispanicOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidateRaceOther(value) {\r\n if (this.requireRaceOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ raceOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ raceOtherError: ''})\r\n return true;\r\n}\r\n\r\nvalidatePELOther(value) {\r\n if (this.requireEDUOther()) {\r\n if (!value || value.trim().length === 0) {\r\n this.setState({ PELOtherError: 'Please provide a response'})\r\n return false;\r\n }\r\n }\r\n\r\n this.setState({ PELOtherError: ''})\r\n return true;\r\n}\r\n\r\nrequireFirstLastID(callingField) {\r\n const { rateeFirstName, rateeLastName, rateeID } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeFirstName !== null && rateeFirstName !== \"\" && rateeLastName !== null && rateeLastName !== \"\" && rateeID !== null && rateeID !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeFirstName !== null && rateeLastName !== null) {\r\n if (rateeFirstName !== \"\" && rateeLastName !== \"\") {\r\n if (callingField !== \"rateeFirstName\" && callingField !== \"rateeLastName\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeID !== null) {\r\n if (rateeID !== \"\") {\r\n if (callingField !== \"rateeID\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireDOBAge(callingField) {\r\n const { rateeDOB, rateeAge } = this.props.demographics;\r\n\r\n var required = true;\r\n\r\n if (rateeDOB !== null && rateeDOB !== \"\" && rateeAge !== null && rateeAge !== \"\") {\r\n return true;\r\n }\r\n\r\n if (rateeDOB !== null) {\r\n if (rateeDOB !== \"\") {\r\n if (callingField !== \"rateeDOB\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n if (rateeAge !== null) {\r\n if (rateeAge !== \"\") {\r\n if (callingField !== \"rateeAge\") {\r\n required = false;\r\n }\r\n }\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireGenderOther() {\r\n const { rateeGender } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeGender) && rateeGender === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeGender) {\r\n \r\n const value = parseInt(rateeGender)\r\n const option = this.getGenderOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeGenderOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireCountryOther() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n const option = this.getCountryOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeCountryOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireState() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireState) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeState = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireStateOther() {\r\n const { rateeState } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeState) && rateeState === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeState) {\r\n const value = parseInt(rateeState);\r\n const option = this.getStateOption(value);\r\n\r\n if(option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeStateOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanic() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 1) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanic = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireHispanicOther() {\r\n const { rateeHispanic, rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if ((isNaN(rateeHispanic) && rateeHispanic === defaultNullSelectValue) || (parseInt(rateeCountry) !== 1)) {\r\n return false;\r\n }\r\n\r\n if (rateeHispanic) {\r\n const value = parseInt(rateeHispanic);\r\n const option = this.getHispanicOption(value);\r\n\r\n required = option && option.requireOther;\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeHispanicOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRace() {\r\n const { rateeCountry, rateeAboriginal } = this.props.demographics;\r\n\r\n var required = false;\r\n var countryOk = false;\r\n var aboriginalOk = false;\r\n\r\n if ((isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue)) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry);\r\n\r\n if (value !== 3) {\r\n countryOk = true;\r\n }\r\n }\r\n\r\n if (rateeAboriginal) {\r\n const value = parseInt(rateeAboriginal);\r\n\r\n if (value === 1) {\r\n aboriginalOk = true;\r\n }\r\n }\r\n\r\n required = countryOk && (parseInt(rateeCountry) === 2 ? aboriginalOk : true);\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRace = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireRaceOther() {\r\n const { rateeRace } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeRace) && rateeRace === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeRace) {\r\n const value = parseInt(rateeRace)\r\n const option = this.getRaceOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeRaceOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDU() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (value !== 3) {\r\n required = true;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePEL = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireEDUOther() {\r\n const { rateePEL } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateePEL) && rateePEL === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateePEL) {\r\n const value = parseInt(rateePEL);\r\n const option = this.getEduOption(value);\r\n\r\n if (option) {\r\n required = option.requireOther;\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateePELOtherSP = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireProvince() {\r\n const countryOption = this.getSelectedCountryOption();\r\n\r\n var required = false;\r\n\r\n if (countryOption) {\r\n if (!countryOption.requireProvince) {\r\n required = false;\r\n } else {\r\n required = true\r\n }\r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeProvince = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\nrequireAboriginal() {\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n var required = false;\r\n\r\n if (isNaN(rateeCountry) && rateeCountry === defaultNullSelectValue) {\r\n return false;\r\n }\r\n\r\n if (rateeCountry) {\r\n const value = parseInt(rateeCountry)\r\n \r\n if (parseInt(value) === 2) {\r\n required = true;\r\n } \r\n }\r\n\r\n if (!required) {\r\n this.props.demographics.rateeAboriginal = null;\r\n }\r\n\r\n return required;\r\n}\r\n\r\ngetGenderOption(value) {\r\n const { genderOptions } = this.props;\r\n return genderOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetCountryOption(value) {\r\n const {countryOptions} = this.props;\r\n return countryOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetStateOption(value) {\r\n const {stateOptions} = this.props;\r\n return stateOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetHispanicOption(value) {\r\n const { hispanicOptions } = this.props;\r\n return hispanicOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetRaceOption(value) {\r\n const { raceOptions } = this.props;\r\n return raceOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetEduOption(value) {\r\n const { eduOptions } = this.props;\r\n return eduOptions.find((option) => option.value === value);\r\n}\r\n\r\ngetSelectedCountryOption() {\r\n const { countryOptions } = this.props;\r\n const { rateeCountry } = this.props.demographics;\r\n\r\n if (rateeCountry) {\r\n return countryOptions.find((option) => { return option.value === parseInt(rateeCountry); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetSelectedStateOption() {\r\n const { stateOptions } = this.props;\r\n const { rateeState } = this.props.demographics;\r\n\r\n if (rateeState) {\r\n return stateOptions.find((option) => { return option.value === parseInt(rateeState); });\r\n }\r\n\r\n return null;\r\n}\r\n\r\ngetFieldValue(value) {\r\n var fieldValue = \"\"\r\n\r\n if (value) {\r\n if (value != null) {\r\n fieldValue = value;\r\n }\r\n }\r\n\r\n return fieldValue;\r\n}\r\n\r\nrender() {\r\n const { \r\n demographics, \r\n genderOptions, \r\n countryOptions, \r\n stateOptions, \r\n hispanicOptions,\r\n raceOptions,\r\n eduOptions,\r\n provinceOptions,\r\n aboriginalOptions\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
Veuillez fournir les renseignements démographiques suivants concernant le/la jeune.
\r\n * Renseignement obligatoire\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

INFORMATION ADDITIONELLE

\r\n Ces questions facultatives vous sont posées aux fins de recherche uniquement. L'administrateur ne pourra pas voir vos réponses.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Le parent/tuteur(trice) principal(e) se définit comme la personne responsable des soins et de l'éducation
\r\n de l'enfant. Si la responsabilité des soins et de l'éducation est partagée également, le parent/tuteur(trice)
\r\n qui effectue cette évaluation est considéré(e) comme le/la responsable principal(e).
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n genderOptions: getLookup(state, LOOKUP_GENDER),\r\n countryOptions: getLookup(state, LOOKUP_COUNTRY),\r\n stateOptions: getLookup(state, LOOKUP_STATE),\r\n hispanicOptions: getLookup(state, LOOKUP_HISPANIC),\r\n raceOptions: getLookup(state, LOOKUP_RACE_COUNTRY),\r\n eduOptions: getLookup(state, LOOKUP_EDUCATION),\r\n provinceOptions: getLookup(state, LOOKUP_PROVINCE),\r\n aboriginalOptions: getLookup(state, LOOKUP_ABORIGINAL),\r\n optionErrors: getLookupErrors(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL]),\r\n isFetching: isFetchingLookups(state, [LOOKUP_GENDER, LOOKUP_COUNTRY, LOOKUP_STATE, LOOKUP_HISPANIC, LOOKUP_RACE_COUNTRY, LOOKUP_EDUCATION, LOOKUP_PROVINCE, LOOKUP_ABORIGINAL])\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicRatee));","import React, { Component } from 'react';\r\nimport history from '../../../routes/history';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { connect } from 'react-redux';\r\nimport * as actionCreatorData from '../../../redux/actions/data-action';\r\nimport * as actionCreatorLookup from '../../../redux/actions/lookup-action';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { DemoContainer, DemoQuestionText } from '../common/controls';\r\nimport { AssessmentContentHeader } from '../../assessment/common';\r\nimport { TaskType, TaskSegment } from '../../../redux/actions/data-action';\r\nimport { aiVersions } from '../../../Constants'\r\nimport { translateLabel } from '../../assessment/common/task-utility';\r\n\r\nconst questions = [\r\n \"Décrivez comment ces comportements vous causent de graves problèmes à la maison, à l'école, au travail ou avec des amis.\",\r\n \"As-tu d’autres problèmes?\",\r\n \"Quelles sont tes plus grandes forces ou habiletés?\"\r\n];\r\n\r\nclass DemographicAdditionalQuestions extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n \r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (aiVersions.includes(version)) {\r\n if(!omittedItems.length > 0) {\r\n history.push(\"/Assessment/Complete\");\r\n } else {\r\n history.push(\"/Assessment/Omission\");\r\n }\r\n }\r\n }\r\n\r\n handleBack() {\r\n const prevLink = this.getPreviousLink();\r\n history.push(prevLink);\r\n }\r\n\r\n handleNext() {\r\n const nextLink = this.getNextLink();\r\n history.push(nextLink);\r\n }\r\n\r\n getPreviousLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const prevIndex = parseInt(index) - 1;\r\n\r\n if (index > 1) {\r\n return `/Demographic/AdditionalQuestions/${prevIndex}`;\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n return `/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n }\r\n\r\n getNextLink() {\r\n const { tasks, match } = this.props;\r\n const { index } = match.params;\r\n const nextIndex = parseInt(index) + 1;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const omittedItems = [];\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n omittedItems.push((index + 1));\r\n }\r\n });\r\n\r\n if (index < 3) {\r\n return `/Demographic/AdditionalQuestions/${nextIndex}`;\r\n } else if (omittedItems.length > 0) {\r\n return '/Assessment/Omission';\r\n } else {\r\n return '/Assessment/Complete';\r\n }\r\n }\r\n\r\n getFieldLabel() {\r\n const { index } = this.props.match.params;\r\n const qIndex = parseInt(index) - 1;\r\n return questions[qIndex];\r\n }\r\n\r\n getFieldValue() {\r\n const { demographics, match } = this.props;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n const responses = demographics.additionalQuestions;\r\n\r\n if (!!responses) {\r\n return responses[rIndex].response;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getCounterValue() {\r\n const { index } = this.props.match.params;\r\n return index + \" SUR \" + questions.length;\r\n }\r\n\r\n onChange(e) {\r\n const { setDemographicsResponse, demographics, match } = this.props;\r\n const { name, value } = e.target;\r\n const rIndex = parseInt(match.params.index) - 1;\r\n\r\n let responses = [\r\n { response: '' },\r\n { response: '' },\r\n { response: '' }\r\n ];\r\n\r\n if (!!demographics.additionalQuestions) {\r\n responses = demographics.additionalQuestions;\r\n }\r\n\r\n responses[rIndex].response = value;\r\n setDemographicsResponse(name, responses);\r\n }\r\n\r\n render() {\r\n const { versionID } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{translateLabel(this.getCounterValue(), versionID)}
\r\n
\r\n );\r\n } \r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n demographics: state.data.demographics,\r\n tasks: state.data.tasks\r\n});\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreatorData, actionCreatorLookup))(connectCommon(DemographicAdditionalQuestions));\r\n","import {\r\n DemographicOverQuota,\r\n DemographicTerminate\r\n} from '../components/demographics';\r\n\r\nimport {\r\n DemographicRater as EngParentRater,\r\n DemographicRatee as EngParentRatee,\r\n DemographicAdditionalQuestions as EngParentAdditionalQuestions\r\n} from '../components/demographics/EnglishParent'\r\n\r\nimport {\r\n DemographicRater as EngTeacherRater,\r\n DemographicRatee as EngTeacherRatee,\r\n DemographicAdditionalQuestions as EngTeacherAdditionalQuestions\r\n} from '../components/demographics/EnglishTeacher'\r\n\r\nimport {\r\n DemographicRatee as EngSelfRatee,\r\n DemographicAdditionalQuestions as EngSelfAdditionalQuestions\r\n} from '../components/demographics/EnglishSelf'\r\n\r\nimport {\r\n DemographicRater as SpanParentRater,\r\n DemographicRatee as SpanParentRatee,\r\n DemographicAdditionalQuestions as SpanParentAdditionalQuestions\r\n} from '../components/demographics/SpanishParent'\r\n\r\nimport {\r\n DemographicRatee as SpanSelfRatee,\r\n DemographicAdditionalQuestions as SpanSelfAdditionalQuestions\r\n} from '../components/demographics/SpanishSelf'\r\n\r\nimport {\r\n DemographicRater as FrnParentRater,\r\n DemographicRatee as FrnParentRatee,\r\n DemographicAdditionalQuestions as FrnParentAdditionalQuestions\r\n} from '../components/demographics/FrenchParent'\r\n\r\nimport {\r\n DemographicRater as FrnTeacherRater,\r\n DemographicRatee as FrnTeacherRatee,\r\n DemographicAdditionalQuestions as FrnTeacherAdditionalQuestions\r\n} from '../components/demographics/FrenchTeacher'\r\n\r\nimport {\r\n DemographicRatee as FrnSelfRatee,\r\n DemographicAdditionalQuestions as FrnSelfAdditionalQuestions\r\n} from '../components/demographics/FrenchSelf'\r\n\r\nconst EnglishParentDemographicRoutes = [\r\n {\r\n path: '/Demographic/Rater',\r\n component: EngParentRater,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/Ratee',\r\n component: EngParentRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: EngParentAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst EnglishTeacherDemographicRoutes = [\r\n {\r\n path: '/Demographic/Rater',\r\n component: EngTeacherRater,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/Ratee',\r\n component: EngTeacherRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: EngTeacherAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst EnglishSelfDemographicRoutes = [\r\n {\r\n path: '/Demographic/Ratee',\r\n component: EngSelfRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: EngSelfAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst SpanishParentDemographicRoutes = [\r\n {\r\n path: '/Demographic/Rater',\r\n component: SpanParentRater,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/Ratee',\r\n component: SpanParentRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: SpanParentAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst SpanishSelfDemographicRoutes = [\r\n {\r\n path: '/Demographic/Ratee',\r\n component: SpanSelfRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: SpanSelfAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst FrenchParentDemographicRoutes = [\r\n {\r\n path: '/Demographic/Rater',\r\n component: FrnParentRater,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/Ratee',\r\n component: FrnParentRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: FrnParentAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst FrenchTeacherDemographicRoutes = [\r\n {\r\n path: '/Demographic/Rater',\r\n component: FrnTeacherRater,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/Ratee',\r\n component: FrnTeacherRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: FrnTeacherAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst FrenchSelfDemographicRoutes = [\r\n {\r\n path: '/Demographic/Ratee',\r\n component: FrnSelfRatee,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/AdditionalQuestions/:index',\r\n component: FrnSelfAdditionalQuestions,\r\n monitorProgress: false\r\n }\r\n];\r\n\r\nconst GlobalDemographicRoutes = [{\r\n path: '/Demographic/Terminate',\r\n component: DemographicTerminate,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Demographic/OverQuota',\r\n component: DemographicOverQuota,\r\n monitorProgress: false\r\n }\r\n]\r\n\r\nexport const getDemographicRoutes = (versionId) => {\r\n switch (parseInt(versionId)) {\r\n case 36:\r\n case 39:\r\n case 40:\r\n case 41:\r\n case 42:\r\n case 43:\r\n return [...EnglishParentDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 37:\r\n case 56:\r\n case 57:\r\n case 58:\r\n case 59:\r\n case 60:\r\n return [...EnglishTeacherDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 38:\r\n case 67:\r\n case 68:\r\n case 69:\r\n case 70:\r\n case 71:\r\n return [...EnglishSelfDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 44:\r\n case 45:\r\n case 46:\r\n case 47:\r\n case 48:\r\n case 49:\r\n return [...FrenchParentDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 50:\r\n case 51:\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55:\r\n return [...SpanishParentDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 61:\r\n case 62:\r\n case 63:\r\n case 64:\r\n case 65:\r\n case 66:\r\n return [...FrenchTeacherDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 72:\r\n case 73:\r\n case 74:\r\n case 75:\r\n case 76:\r\n case 77:\r\n return [...FrenchSelfDemographicRoutes, ...GlobalDemographicRoutes];\r\n case 78:\r\n case 79:\r\n case 80:\r\n case 81:\r\n case 82:\r\n case 83:\r\n return [...SpanishSelfDemographicRoutes, ...GlobalDemographicRoutes];\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nexport const getRaterDemographicRoutes = (versionId) => {\r\n var routes = getDemographicRoutes(versionId);\r\n\r\n return routes.filter(route => route.path.includes('Rater'));\r\n}\r\n\r\nexport const getRateeDemographicRoutes = (versionId) => {\r\n var routes = getDemographicRoutes(versionId);\r\n\r\n return routes.filter(route => route.path.includes('Ratee'));\r\n}","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Rater\";\r\n\r\nclass AssessmentInstructionEnglishParent extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n NOTE: Please keep your screen maximized during testing.\r\n
\r\n
\r\n Here are some things parents might say about their children. Please read each item carefully. Indicate how true it is of your child or how often it happened in the past month. Think about whether:\r\n
\r\n
\r\n
  • In the past month, this was not true at all about my child. It never or rarely happened.
  • \r\n
  • In the past month, this was just a little true about my child. It happened occasionally.
  • \r\n
  • In the past month, this was pretty much true about my child. It happened often or quite a bit.
  • \r\n
  • In the past month, this was completely true about my child. It happened very often or always.
  • \r\n
    \r\n
    \r\n Please click only one answer for each item. It is important to respond to every item. For items that you find difficult to answer, please give your best guess.\r\n
    \r\n
    \r\n When you are ready to begin, click the forward arrow {'>'}.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionEnglishParent));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Rater\";\r\n\r\nclass AssessmentInstructionEnglishTeacher extends Component {\r\n constructor (props) {\r\n super (props);\r\n this.getFirstTaskTypeLink = this.getFirstTaskTypeLink.bind(this);\r\n }\r\n\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n console.log(this.getFirstTaskTypeLink())\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n NOTE: Please keep your screen maximized during testing.\r\n
    \r\n
    \r\n Here are some things teachers might say about their students. Please read each item carefully. Indicate how true it is of this student or how often it happened in the past month. Think about whether:\r\n
    \r\n
    \r\n
  • In the past month, this was not true at all about this student. It never or rarely happened.
  • \r\n
  • In the past month, this was just a little true about this student. It happened occasionally.
  • \r\n
  • In the past month, this was pretty much true about this student. It happened often or quite a bit.
  • \r\n
  • In the past month, this was completely true about this student. It happened very often or always.
  • \r\n
    \r\n
    \r\n Please click only one answer for each item. It is important to respond to every item. For items that you find difficult to answer, please give your best guess.\r\n
    \r\n
    \r\n When you are ready to begin, click the forward arrow {'>'}.\r\n
    \r\n
    \r\n \r\n \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionEnglishTeacher));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Ratee\";\r\n\r\nclass AssessmentInstructionEnglishSelf extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n NOTE: Please keep your screen maximized during testing.\r\n
    \r\n
    \r\n Here are some things that people might say about themselves. Please read each item carefully. Indicate how true it is or how often it happened to you in the past month. Think about whether:\r\n
    \r\n
    \r\n
  • In the past month, this was not true at all about me. It never or rarely happened.
  • \r\n
  • In the past month, this was just a little true about me. It happened occasionally.
  • \r\n
  • In the past month, this was pretty much true about me. It happened often or quite a bit.
  • \r\n
  • In the past month, this was completely true about me. It happened very often or always.
  • \r\n
    \r\n
    \r\n Please click only one answer for each item. It is important to respond to every item. For items that you find difficult to answer, please give your best guess.\r\n
    \r\n
    \r\n When you are ready to begin, click the forward arrow {'>'}.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionEnglishSelf));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Rater\";\r\n\r\nclass AssessmentInstructionFrenchParent extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n Remarque: assurez-vous que la fenêtre s'affiche en plein écran durant toute la durée du test.\r\n
    \r\n
    \r\n Voici des choses que des parents peuvent dire de leurs enfants. Veuillez lire attentivement chaque affirmation. Indiquez à quel point ces affirmations sont vraies pour votre enfant ou à quelle fréquence cela est arrivé au cours du dernier mois. Réfléchissez si:\r\n
    \r\n
    \r\n
  • Au cours du dernier mois, ça n’a pas été vrai du tout dans le cas de mon enfant. Cela n’est jamais arrivé (ou rarement).
  • \r\n
  • Au cours du dernier mois, ça a été un peu vrai dans le cas de mon enfant. C’est arrivé à l’occasion.
  • \r\n
  • Au cours du dernier mois, ça a été plutôt vrai dans le cas de mon enfant. C’est arrivé souvent/beaucoup.
  • \r\n
  • Au cours du dernier mois, ça a été tout à fait vrai dans le cas de mon enfant. C’est arrivé très souvent/tout le temps.
  • \r\n
    \r\n
    \r\n Choisissez seulement une réponse pour chaque item. C'est important de répondre à tous les items. Donnez la meilleure réponse possible pour les items que vous jugez difficiles.\r\n
    \r\n
    \r\n Quand vous êtes prêt à commencer, cliquez sur la flèche {'>'} pour avancer.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionFrenchParent));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection,AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Rater\";\r\n\r\nclass AssessmentInstructionFrenchTeacher extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n Remarque: assurez-vous que la fenêtre s'affiche en plein écran durant toute la durée du test.\r\n
    \r\n
    \r\n Voici des choses que des enseignants/es peuvent dire de leurs élèves. Veuillez lire attentivement chaque affirmation. Indiquez à quel point ces affirmations sont vraies pour cet/te élève ou à quelle fréquence cela est arrivé au cours du dernier mois. Réfléchissez si:\r\n
    \r\n
    \r\n
  • Au cours du dernier mois, ça n’a pas été vrai du tout dans le cas de mon élève. Cela n’est jamais arrivé (ou rarement).
  • \r\n
  • Au cours du dernier mois, ça a été un peu vrai dans le cas de mon élève. C’est arrivé à l’occasion.
  • \r\n
  • Au cours du dernier mois, ça a été plutôt vrai dans le cas de mon élève. C’est arrivé souvent/beaucoup.
  • \r\n
  • Au cours du dernier mois, ça a été tout à fait vrai dans le cas de mon élève. C’est arrivé très souvent/tout le temps.
  • \r\n
    \r\n
    \r\n Choisissez seulement une réponse pour chaque item. C'est important de répondre à tous les items. Donnez la meilleure réponse possible pour les items que vous jugez difficiles.\r\n
    \r\n
    \r\n Quand vous êtes prêt à commencer, cliquez sur la flèche {'>'} pour avancer.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionFrenchTeacher));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Ratee\";\r\n\r\nclass AssessmentInstructionFrenchSelf extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instructions\r\n \r\n \r\n \r\n Remarque: assurez-vous que la fenêtre s'affiche en plein écran durant toute la durée du test.\r\n
    \r\n
    \r\n Voici certaines affirmations que les gens pourraient dire d'eux-mêmes. Veuillez lire attentivement chaque affirmation. Indiquez à quel point ces affirmations sont vraies ou à quelle fréquence cela vous est arrivé au cours du dernier mois. Réfléchissez si:\r\n
    \r\n
    \r\n
  • Au cours du dernier mois, ça n’a pas été vrai du tout dans mon cas. Cela n’est jamais arrivé (ou rarement).
  • \r\n
  • Au cours du dernier mois, ça a été un peu vrai dans mon cas. C’est arrivé à l’occasion.
  • \r\n
  • Au cours du dernier mois, ça a été plutôt vrai dans mon cas. C’est arrivé souvent/beaucoup.
  • \r\n
  • Au cours du dernier mois, ça a été tout à fait vrai dans mon cas. C’est arrivé très souvent/tout le temps.
  • \r\n
    \r\n
    \r\n Choisissez seulement une réponse pour chaque item. C'est important de répondre à tous les items. Donnez la meilleure réponse possible pour les items que vous jugez difficiles.\r\n
    \r\n
    \r\n Quand vous êtes prêt à commencer, cliquez sur la flèche {'>'} pour avancer.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionFrenchSelf));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Rater\";\r\n\r\nclass AssessmentInstructionSpanishParent extends Component {\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instrucciones\r\n \r\n \r\n \r\n Nota: mantenga su pantalla maximizada durante la prueba.\r\n
    \r\n
    \r\n Aquí hay algunas cosas que los padres pueden decir sobre sus hijos(as). Por favor lea cada ítem cuidadosamente y indique cuán cierto o con qué frecuencia le ha sucedido esto a su hijo(a) en el último mes. Piensa si:\r\n
    \r\n
    \r\n
  • En el último mes, esto no fue nada cierto para mi hijo(a). Nunca o rara vez ocurrió.
  • \r\n
  • En el último mes, esto fue solo un poco cierto para mi hijo(a). Ocurrió ocasionalmente.
  • \r\n
  • En el último mes, esto fue bastante cierto para mi hijo(a). Ocurrió a menudo o frecuentemente.
  • \r\n
  • En el último mes, esto fue completamente cierto para mi hijo(a). Ocurrió muy a menudo o siempre.
  • \r\n
    \r\n
    \r\n Por favor marca solamente una respuesta para cada item. Es importante responder a cada item. Para los itemes que encuentras difícil de contestar, por favor da su mejor suposición.\r\n
    \r\n
    \r\n Cuando esté listo, haga clic en el botón {'>'} para avanzar.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionSpanishParent));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport history from '../../routes/history'\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport NextButton from './../../assets/images/next@2x.png';\r\n\r\nimport { AssessmentContainer, AssessmentBody,\r\n AssessmentContent, AssessmentNavigationPrevious, AssessmentNavigationNext, AssessmentFooter,\r\n AssessmentContentHeader, AssessmentContentSection, AssessmentContentAction, AssessmentContentActionButton\r\n} from './common';\r\n\r\nconst toPrevious = \"/Demographic/Ratee\";\r\n\r\nclass AssessmentInstructionSpanishSelf extends Component {\r\n constructor (props) {\r\n super (props);\r\n this.getFirstTaskTypeLink = this.getFirstTaskTypeLink.bind(this);\r\n }\r\n\r\n componentDidMount()\r\n {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n getFirstTaskTypeLink() {\r\n const { taskTypes } = this.props;\r\n const taskType = getTaskTypeIdById(taskTypes[0].id);\r\n\r\n var hasPractice = taskTypes[0].practice.length > 0\r\n\r\n return hasPractice ? `/Assessment/Tasks/${taskType.type}/${TaskSegment.INSTRUCTION}` : `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/1`;\r\n }\r\n\r\n handlePrevious() {\r\n history.push(toPrevious);\r\n }\r\n\r\n handleNext(nextLink) {\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n return (\r\n \r\n Instrucciones\r\n \r\n \r\n \r\n Nota: mantenga su pantalla maximizada durante la prueba.\r\n
    \r\n
    \r\n Aquí hay algunas cosas que las personas podrían decir sobre sí mismas. Por favor lea cada ítem cuidadosamente y indique qué tan cierto es o con qué frecuencia le sucedió en el último mes. Piensa si:\r\n
    \r\n
    \r\n
  • En el último mes, esto no fue nada cierto para mí. Nunca o rara vez ocurrió.
  • \r\n
  • En el último mes, esto fue solo un poco cierto para mí. Ocurrió ocasionalmente.
  • \r\n
  • En el último mes, esto fue bastante cierto para mí. Ocurrió a menudo o frecuentemente.
  • \r\n
  • En el último mes, esto fue completamente cierto para mí. Ocurrió muy a menudo o siempre.
  • \r\n
    \r\n
    \r\n Por favor marca solamente una respuesta para cada item. Es importante responder a cada item. Para los itemes que encuentras difícil de contestar, por favor da su mejor suposición.\r\n
    \r\n
    \r\n Cuando esté listo, haga clic en el botón {'>'} para avanzar.\r\n
    \r\n
    \r\n
    \r\n \r\n {'<'}\r\n this.handleNext(this.getFirstTaskTypeLink())}>{'>'}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => (\r\n \r\n {\r\n taskTypes : state.data.tasks\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentInstructionSpanishSelf));","import React from 'react'\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { \r\n AssessmentContainer, \r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentFooter \r\n} from '../common';\r\nimport NextButton from '../../../assets/images/next@2x.png';\r\n\r\nconst TaskInstruction = ({toPrevious, toNext, image, text}) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n Click \"Next\" to try a practice question.\r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default TaskInstruction;","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport TaskInstruction from './instruction';\r\n\r\nclass RatingTaskInstruction extends React.Component {\r\n render() {\r\n const { previousLink, nextLink } = this.props;\r\n\r\n return (\r\n \r\n \r\n Please answer the questions\r\n \r\n \r\n Select answers honestly\r\n \r\n \r\n )} />\r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(connectCommon(RatingTaskInstruction));","import React, { Component } from 'react'\r\nimport {\r\n AssessmentContainer,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter,\r\n AssessmentContentAction,\r\n AssessmentContentActionButton\r\n} from '../common';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\nimport { getLang, translateLabel } from '../common/task-utility';\r\nimport { TaskDialog, TaskProgress } from '../common/task-controls';\r\nimport history from '../../../routes/history';\r\nimport { isMobile } from 'react-device-detect';\r\n\r\nconst createTask = (WrappedComponent) => {\r\n return class Task extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { startDate: null, showWarningMessage: false, showSkipRemainingItems: false };\r\n\r\n this.handleClickPrevious = this.handleClickPrevious.bind(this);\r\n this.handleClickNext = this.handleClickNext.bind(this);\r\n this.handleCloseWarning = this.handleCloseWarning.bind(this);\r\n this.handleForceNext = this.handleForceNext.bind(this);\r\n this.handleCloseSkipRemainingItems = this.handleCloseSkipRemainingItems.bind(this);\r\n this.handleNextSkipRemainingItems = this.handleNextSkipRemainingItems.bind(this);\r\n this.getTaskDialogHeaderText = this.getTaskDialogHeaderText.bind(this);\r\n }\r\n\r\n updateDimensions = () => {\r\n if (window.innerHeight <= 640) {\r\n this.setState({ isMobile: true });\r\n } else {\r\n this.setState({ isMobile: false });\r\n }\r\n }\r\n \r\n componentWillMount() {\r\n this.updateDimensions();\r\n }\r\n \r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.updateDimensions);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ startDate: new Date() });\r\n\r\n window.addEventListener(\"resize\", this.updateDimensions);\r\n }\r\n\r\n handleClickPrevious() {\r\n const { taskLink, previousLink, history, saveData } = this.props;\r\n\r\n const currentIndex = this.getCurrentIndex();\r\n\r\n if (currentIndex > 0) {\r\n //saveData();\r\n history.push(`${taskLink}/${currentIndex}`);\r\n } else {\r\n // if (previousLink.includes(\"Tasks\")) {\r\n // saveData();\r\n // }\r\n\r\n history.push(previousLink);\r\n }\r\n }\r\n\r\n handleClickNext() {\r\n const task = this.getCurrentTask();\r\n\r\n if (task.isSkipRemainingPractice && this.canGoNext()) {\r\n this.openSkipRemainingItemsDialog();\r\n } else {\r\n this.doHandleClickNext();\r\n }\r\n }\r\n\r\n doHandleClickNext() {\r\n if (this.canGoNext()) {\r\n this.setState({disableArrows: true});\r\n this.goNext();\r\n } else {\r\n this.setState({ showWarningMessage: true });\r\n }\r\n }\r\n\r\n canGoNext() {\r\n const task = this.getCurrentTask();\r\n return WrappedComponent.prototype.canGoNext(task);\r\n }\r\n\r\n handleForceNext() {\r\n const { setDefaultTaskResponse, taskType, subTaskType } = this.props;\r\n const task = this.getCurrentTask();\r\n\r\n setDefaultTaskResponse(task, taskType, subTaskType);\r\n this.setState({ showWarningMessage: false });\r\n\r\n\r\n if (task.isSkipRemainingPractice) {\r\n this.openSkipRemainingItemsDialog();\r\n }\r\n else {\r\n this.goNext();\r\n }\r\n }\r\n\r\n goNext() {\r\n const { tasks, taskLink, nextLink, saveData, saveScreenDuration } = this.props;\r\n\r\n const currentIndex = this.getCurrentIndex();\r\n\r\n if (currentIndex < tasks.length - 1) {\r\n //saveData();\r\n saveScreenDuration();\r\n history.push(`${taskLink}/${currentIndex + 2}`);\r\n } else {\r\n // if (nextLink.includes(\"Tasks\")) {\r\n // saveData();\r\n // }\r\n history.push(nextLink);\r\n }\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n handleCloseWarning() {\r\n this.setState({ showWarningMessage: false });\r\n }\r\n\r\n getCurrentTask() {\r\n const { tasks } = this.props;\r\n const currentIndex = this.getCurrentIndex();\r\n return tasks[currentIndex];\r\n }\r\n\r\n getCurrentIndex() {\r\n let currentIndex = 0;\r\n\r\n const { match } = this.props;\r\n const index = match.params.index;\r\n\r\n if (index !== undefined) {\r\n currentIndex = index - 1;\r\n }\r\n\r\n return currentIndex;\r\n }\r\n\r\n canSkipTask() {\r\n return WrappedComponent.prototype.canSkipTask && WrappedComponent.prototype.canSkipTask();\r\n }\r\n\r\n getSkipText() {\r\n if (WrappedComponent.prototype.getSkipTaskText) {\r\n return WrappedComponent.prototype.getSkipTaskText();\r\n } else {\r\n return \"Click Next to skip the remaining tasks or Close to go to the next tasks\";\r\n }\r\n }\r\n\r\n getTaskDialogHeaderText() {\r\n const { taskType } = this.props;\r\n return 'WARNING'\r\n }\r\n\r\n openSkipRemainingItemsDialog() {\r\n this.setState({ showSkipRemainingItems : true });\r\n }\r\n\r\n closeSkipRemainingItemsDialog() {\r\n this.setState({ showSkipRemainingItems : false });\r\n }\r\n\r\n handleCloseSkipRemainingItems() {\r\n const { resetSkippedTasks, taskType, subTaskType } = this.props;\r\n const task = this.getCurrentTask();\r\n\r\n resetSkippedTasks(task, taskType, subTaskType);\r\n this.closeSkipRemainingItemsDialog();\r\n this.goNext();\r\n }\r\n\r\n handleNextSkipRemainingItems() {\r\n const { nextLink, skipRemainingTasks, taskType, subTaskType, saveData } = this.props;\r\n const task = this.getCurrentTask();\r\n\r\n skipRemainingTasks(task, taskType, subTaskType);\r\n this.closeSkipRemainingItemsDialog();\r\n\r\n // if (nextLink.includes(\"Tasks\")) {\r\n // saveData();\r\n // }\r\n\r\n history.push(nextLink);\r\n }\r\n\r\n render() {\r\n const { tasks, taskType, footerLabel, versionID } = this.props;\r\n const lang = getLang(versionID);\r\n let taskLabel = footerLabel;\r\n\r\n if (tasks === undefined || tasks.length === 0) {\r\n return null;\r\n }\r\n\r\n const currentIndex = this.getCurrentIndex();\r\n const task = tasks[currentIndex];\r\n\r\n if (!taskLabel) {\r\n taskLabel = `${currentIndex + 1} OF ${tasks.length}`;\r\n }\r\n\r\n return (\r\n \r\n \r\n {lang === 'fr' ? (\r\n
    \r\n Êtes-vous certain d'ignorer cette question?\r\n
    \r\n Pour répondre à cette question, sélectionnez « Non ». Si vous souhaitez ne pas répondre et laisser un blanc, sélectionnez « Oui » pour continuer sur la prochaine page.\r\n
    \r\n
    \r\n ) : lang === 'es' ? (\r\n
    \r\n ¿Está seguro de que quiere omitir este ítem?\r\n
    \r\n Seleccione \"No\" para responder a este ítem. Si prefiere dejarlo en blanco, seleccione \"Sí\" para continuar a la siguiente pantalla. \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n Are you sure you want to skip this item?\r\n
    \r\n Select No to respond to this item. If you want to leave the item blank, select Yes to continue to the next screen.\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n {this.getSkipText()}\r\n \r\n \r\n \r\n \r\n \r\n
    {translateLabel(taskLabel, versionID)}
    \r\n
    \r\n
    \r\n \r\n {\"<\"}\r\n {\">\"}\r\n \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n }\r\n}\r\n\r\nexport default createTask;","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as commonActionCreator from '../../../redux/actions/data-action';\r\nimport { DEFAULT_RESPONSE, TaskType, SubTaskType, getTasks } from '../../../redux/actions/data-action';\r\nimport { TaskContent, TaskQuestionBox, TaskOptionsColumn, TaskButton, TaskOptionsContainer, TaskButtonList, TaskButtonListHorizontal } from '../common/task-controls';\r\nimport createTask from './tasks';\r\nimport history from '../../../routes/history';\r\nimport { Box } from '../../../third-party-components/material-ui';\r\n\r\nconst ITEM_DELAY = 0.5;\r\n\r\nexport class RatingScaleTask extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n lastClicked: new Date()\r\n };\r\n\r\n this.handleResponseClick = this.handleResponseClick.bind(this);\r\n this.isOptionSelected = this.isOptionSelected.bind(this);\r\n this.canGoNext = this.canGoNext.bind(this);\r\n this.getCompletedPercentage = this.getCompletedPercentage.bind(this);\r\n }\r\n\r\n handleResponseClick(response) {\r\n const { task, taskType, subTaskType, setTaskResponse } = this.props;\r\n\r\n // Delays the item selection by factor of (ITEM_DELAY) seconds at the top of the code\r\n var curClicked = new Date();\r\n var lastClicked = this.state.lastClicked;\r\n\r\n if ((curClicked.getTime() - lastClicked.getTime()) / 1000 < ITEM_DELAY) {\r\n return;\r\n }\r\n\r\n if(this.isOptionSelected(response))\r\n {\r\n setTaskResponse(task, taskType, subTaskType, DEFAULT_RESPONSE);\r\n return;\r\n }\r\n\r\n setTaskResponse(task, taskType, subTaskType, response);\r\n //this.forceUpdate();\r\n if(this.canGoNext(task)) {\r\n this.goNext();\r\n // this.setState({textFadeStyle:'fade-in-style'});\r\n }\r\n\r\n this.setState({lastClicked: new Date()})\r\n }\r\n\r\n goNext() {\r\n const { tasks, taskLink, nextLink, saveData, saveScreenDuration } = this.props;\r\n\r\n const currentIndex = this.getCurrentIndex();\r\n\r\n if (currentIndex < tasks.length - 1) {\r\n //saveData();\r\n saveScreenDuration();\r\n history.push(`${taskLink}/${currentIndex + 2}`);\r\n } else {\r\n // if (nextLink.includes(\"Tasks\")) {\r\n // saveData();\r\n // }\r\n history.push(nextLink);\r\n }\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n getCurrentTask() {\r\n const { tasks } = this.props;\r\n const currentIndex = this.getCurrentIndex();\r\n return tasks[currentIndex];\r\n}\r\n\r\ngetCurrentIndex() {\r\n let currentIndex = 0;\r\n\r\n const { match } = this.props;\r\n const index = match.params.index;\r\n\r\n if (index !== undefined) {\r\n currentIndex = index - 1;\r\n }\r\n\r\n return currentIndex;\r\n}\r\n\r\n isOptionSelected(response) {\r\n const { task } = this.props;\r\n return this.hasReponse(task) && task.response[0] === response;\r\n }\r\n\r\n canGoNext(task) {\r\n if (this.hasReponse(task) && this.hasDefaultResponse(task) === false) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getCompletedPercentage(tasks) {\r\n let countResponses = 0;\r\n\r\n tasks.forEach(task => {\r\n if (this.hasReponse(task)) {\r\n countResponses += 1;\r\n }\r\n });\r\n\r\n return (countResponses / tasks.length) * 100;\r\n }\r\n\r\n hasReponse(task) {\r\n return task && task.response && task.response.length > 0;\r\n }\r\n\r\n hasDefaultResponse(task) {\r\n return this.hasReponse(task) && task.response[0] === DEFAULT_RESPONSE;\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n render() {\r\n const { task, taskContentClassName } = this.props;\r\n\r\n var question = task.question;\r\n return (\r\n \r\n
    \r\n \r\n {{__html: question}}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n tasks : getTasks(state.data.tasks, TaskType.RATING, SubTaskType.TASKS),\r\n taskType: TaskType.RATING,\r\n subTaskType: SubTaskType.TASKS,\r\n versionID: state.data.versionID\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, commonActionCreator))(createTask(RatingScaleTask))","import React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport * as commonActionCreator from '../../../redux/actions/data-action';\r\nimport { TaskType, SubTaskType, getTasks } from '../../../redux/actions/data-action';\r\nimport createTask from '../tasks/tasks';\r\nimport { TaskNoteDialog } from '../common/task-controls';\r\nimport { RatingScaleTask } from '../tasks/tasks-rating-scale';\r\n\r\nclass PracticeRatingScaleTask extends RatingScaleTask {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { isDisplayNote: false }\r\n this.handleNoteClose = this.handleNoteClose.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isDisplayNote: true });\r\n }\r\n\r\n handleNoteClose() {\r\n this.setState({ isDisplayNote: false });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n You must fully complete a question by filling all of the empty boxes to receive credit for the question.\r\n \r\n {(super.render())}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n tasks : getTasks(state.data.tasks, TaskType.RATING, SubTaskType.PRACTICE),\r\n taskType: TaskType.RATING,\r\n subTaskType: SubTaskType.PRACTICE,\r\n footerLabel: \"PRACTICE\",\r\n taskContentClassName: 'task-content-practice',\r\n versionID: state.data.versionID\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, commonActionCreator))(createTask(PracticeRatingScaleTask))","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport * as actionCreator from '../../../redux/actions/data-action';\r\nimport connectCommon from '../../common/common-hoc';\r\nimport { \r\n AssessmentContainer, \r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentFooter \r\n} from '../common';\r\nimport NextButton from '../../../assets/images/next@2x.png';\r\n\r\nconst PracticeComplete = ({previousLink, nextLink}) => (\r\n \r\n \r\n \r\n \r\n
    \r\n Thank you for completing the practice question. You are now ready to begin the task.\r\n
    \r\n
    \r\n Try to provide a response for each question even if you are unsure.\r\n
    \r\n
    \r\n
    \r\n Click \"Next\" to begin the task.\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n)\r\n\r\nexport default connect(null, actionCreator)(connectCommon(PracticeComplete));","import React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskType, TaskSegment, getTaskTypeIdByType, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { aiVersions } from '../../Constants';\r\n\r\nimport { getInstructionComponent } from './instructions';\r\nimport { getPracticeComponent } from './practice-tasks';\r\nimport { getPracticeCompleteComponent } from './practices';\r\nimport { getTaskComponent } from './tasks';\r\nimport { useLastLocation, withLastLocation } from 'react-router-last-location';\r\n\r\nclass AssessmentTasks extends React.Component {\r\n getNextType(type) {\r\n const { tasks } = this.props;\r\n const currentTaskType = getTaskTypeIdByType(type);\r\n\r\n const currentTaskIndex = tasks.map(task => task.id).indexOf(currentTaskType.id);\r\n\r\n if (currentTaskIndex + 1 < tasks.length) {\r\n const nextTaskType = getTaskTypeIdById(tasks[currentTaskIndex + 1].id);\r\n return nextTaskType.type;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getPreviousType(type) {\r\n const { tasks } = this.props;\r\n const currentTaskType = getTaskTypeIdByType(type);\r\n\r\n const currentTaskIndex = tasks.map(task => task.id).indexOf(currentTaskType.id);\r\n\r\n if (currentTaskIndex - 1 >= 0) {\r\n const prevTaskType = getTaskTypeIdById(tasks[currentTaskIndex - 1].id);\r\n return prevTaskType.type;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getPreviousLink(type, segment, hasPractice) {\r\n if (!segment) {\r\n segment = TaskSegment.INSTRUCTION;\r\n }\r\n\r\n switch (segment) {\r\n case TaskSegment.INSTRUCTION:\r\n const prevType = this.getPreviousType(type);\r\n\r\n if (prevType) {\r\n const lastIndex = this.getLastTaskIndex(type, TaskSegment.TASK) + 1;\r\n\r\n return `/Assessment/Tasks/${prevType}/${TaskSegment.TASK}/${lastIndex}`;\r\n } else {\r\n return \"/Assessment/Instruction\";\r\n }\r\n case TaskSegment.PRACTICE:\r\n return `/Assessment/Tasks/${type}/${TaskSegment.INSTRUCTION}`;\r\n case TaskSegment.PRACTICECOMPLETE:\r\n const lastIndex = this.getLastTaskIndex(type, TaskSegment.PRACTICE) + 1;\r\n return `/Assessment/Tasks/${type}/${TaskSegment.PRACTICE}/${lastIndex}`;\r\n case TaskSegment.TASK:\r\n return hasPractice ? `/Assessment/Tasks/${type}/${TaskSegment.PRACTICECOMPLETE}` : \"/Assessment/Instruction\"\r\n default:\r\n return \"Assessment/Instruction\";\r\n }\r\n }\r\n\r\n getNextLink(type, segment, hasPractice, hasOutcomes) {\r\n\r\n if (!segment) {\r\n segment = TaskSegment.INSTRUCTION;\r\n }\r\n\r\n const currentItemIndex = this.getCurrentItemIndex();\r\n\r\n switch (segment) {\r\n case TaskSegment.INSTRUCTION:\r\n return hasPractice ? `/Assessment/Tasks/${type}/${TaskSegment.PRACTICE}/1` : `/Assessment/Tasks/${type}/${TaskSegment.TASK}/1`;\r\n case TaskSegment.PRACTICE:\r\n return `/Assessment/Tasks/${type}/${TaskSegment.PRACTICECOMPLETE}`;\r\n case TaskSegment.PRACTICECOMPLETE:\r\n return `/Assessment/Tasks/${type}/${TaskSegment.TASK}/1`;\r\n case TaskSegment.TASK:\r\n const nextType = this.getNextType(type);\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (nextType) {\r\n return `/Assessment/Tasks/${nextType}/${TaskSegment.INSTRUCTION}`;\r\n } else if (currentItemIndex === this.getLastTaskIndex(type, segment)) { \r\n return hasOutcomes ? \"/Assessment/Outcome/Instruction\" : version === 3 || version === 4 || version === 5 || version === 6 ? \"/PostAdmin/ConcernsStrengths\" : '/Demographic/AdditionalQuestions/1';\r\n }\r\n break;\r\n default:\r\n return hasOutcomes ? \"/Assessment/Outcome/Instruction\" : version === 3 || version === 4 || version === 5 || version === 6 ? \"/PostAdmin/ConcernsStrengths\" : \"/Assessment/Complete\";\r\n }\r\n }\r\n\r\n getCurrentItemIndex() {\r\n let currentIndex = 0;\r\n\r\n const { match } = this.props;\r\n const index = match.params.index;\r\n\r\n if (index !== undefined) {\r\n currentIndex = index - 1;\r\n }\r\n\r\n return currentIndex;\r\n }\r\n\r\n getLastTaskIndex(type, segment) {\r\n const { tasks } = this.props;\r\n const currentTaskType = getTaskTypeIdByType(type);\r\n\r\n const currentTaskIndex = tasks.map(task => task.id).indexOf(currentTaskType.id);\r\n\r\n let currentTasks = []\r\n\r\n if (segment === TaskSegment.TASK) {\r\n currentTasks = tasks[currentTaskIndex].tasks;\r\n } else if (segment === TaskSegment.PRACTICE) {\r\n currentTasks = tasks[currentTaskIndex].practice;\r\n }\r\n\r\n for (let i = currentTasks.length - 1; i >= 0; i--) {\r\n if (currentTasks[i].skipped) {\r\n continue;\r\n } else {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n getTaskLink(type, segment) {\r\n return `/Assessment/Tasks/${type}/${TaskSegment.TASK}`;\r\n }\r\n\r\n getPracticeTaskLink(type, segment) {\r\n return `/Assessment/Tasks/${type}/${TaskSegment.PRACTICE}`;\r\n }\r\n\r\n render() {\r\n const { tasks } = this.props;\r\n const { type, segment, index } = this.props.match.params;\r\n\r\n const currentTaskType = getTaskTypeIdByType(type);\r\n\r\n const currentTaskIndex = tasks.map(task => task.id).indexOf(currentTaskType.id);\r\n\r\n var hasPractice = tasks[currentTaskIndex].practice.length > 0;\r\n \r\n var hasOutcomes = this.props.outcomes.length > 0\r\n\r\n const nextLink = this.getNextLink(type, segment, hasPractice, hasOutcomes);\r\n const previousLink = this.getPreviousLink(type, segment, hasPractice);\r\n const taskLink = this.getTaskLink(type, segment);\r\n const practiceTaskLink = this.getPracticeTaskLink(type, segment);\r\n\r\n switch (segment) {\r\n case TaskSegment.INSTRUCTION:\r\n const Instruction = getInstructionComponent(type);\r\n return (\r\n \r\n )\r\n case TaskSegment.PRACTICE:\r\n const Practice = getPracticeComponent(type);\r\n return (\r\n \r\n )\r\n case TaskSegment.PRACTICECOMPLETE:\r\n const PracticeComplete = getPracticeCompleteComponent(type);\r\n return (\r\n \r\n )\r\n case TaskSegment.TASK: {\r\n const Task = getTaskComponent(type);\r\n\r\n return (\r\n \r\n )\r\n }\r\n default:\r\n return (\r\n \r\n )\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n tasks: state.data.tasks,\r\n outcomes: state.data.outcomes\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentTasks));","import RatingTaskInstruction from './instruction-rating-scale';\r\n\r\nimport { TaskType } from '../common/task-utility';\r\n\r\nexport const getInstructionComponent = (type) => {\r\n switch (type) {\r\n case TaskType.RATING.type:\r\n return RatingTaskInstruction;\r\n default:\r\n return null;\r\n }\r\n}","import PracticeRatingScale from '../practice-tasks/practice-task-rating-scale';\r\n\r\nimport { TaskType } from '../common/task-utility';\r\n\r\nexport const getPracticeComponent = (type) => {\r\n switch (type) {\r\n case TaskType.RATING.type:\r\n return PracticeRatingScale;\r\n default:\r\n return null;\r\n }\r\n}","import PracticeComplete from './practice-complete';\r\nimport { TaskType } from '../common/task-utility';\r\n\r\nexport const getPracticeCompleteComponent = (type) => {\r\n switch (type) {\r\n case TaskType.RATING.type:\r\n default:\r\n return PracticeComplete;\r\n }\r\n}","import RatingsTask from './tasks-rating-scale';\r\n\r\nimport { TaskType } from '../common/task-utility';\r\n\r\nexport const getTaskComponent = (type) => {\r\n switch (type) {\r\n case TaskType.RATING.type:\r\n return RatingsTask;\r\n default:\r\n return null;\r\n }\r\n}","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TaskSegment, getTaskTypeIdById } from '../../redux/actions/data-action';\r\nimport { Box } from '../../third-party-components/material-ui';\r\n\r\nimport {\r\n AssessmentContainer,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentNavigationPrevious,\r\n AssessmentNavigationNext,\r\n AssessmentFooter\r\n} from './common';\r\n\r\nconst toNext = \"/Assessment/Outcome/Items/1\";\r\n\r\nclass AssessmentOutcomeInstruction extends Component {\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function(event) {\r\n history.go(1);\r\n }; \r\n }\r\n\r\n getLastTaskTypeLink() {\r\n const { tasks } = this.props;\r\n const currentTasks = tasks[tasks.length - 1];\r\n const taskType = getTaskTypeIdById(currentTasks.id);\r\n\r\n let lastIndex = currentTasks.length;\r\n\r\n for (let i = currentTasks.tasks.length - 1; i >= 0; i--) {\r\n if (currentTasks.tasks[i].skipped) {\r\n continue;\r\n } else {\r\n lastIndex = i + 1;\r\n break;\r\n }\r\n }\r\n\r\n return `/Assessment/Tasks/${taskType.type}/${TaskSegment.TASK}/${lastIndex}`;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n The following are a few additional questions. Please answer these questions about your child. Keep in mind how your child usually behaves.
    \r\n If you have seen your child do the behavior a few times, but they don't usually do it, then please answer no.
    \r\n Please respond yes or no for every question.\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n tasks: state.data.tasks,\r\n})\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentOutcomeInstruction));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\n\r\nimport history from '../../routes/history';\r\n\r\nimport { TaskRadioGroupButtons, TaskDialog } from './common/task-controls';\r\n\r\nimport { \r\n AssessmentContainer, \r\n AssessmentBody, \r\n AssessmentContent, \r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentFooter\r\n} from './common';\r\nimport { getTasks, TaskType, SubTaskType, getOutcomes } from './common/task-utility';\r\n\r\nconst outcomeLink = \"/Assessment/Outcome/Items\";\r\nconst previousLink = \"/Assessment/Outcome/Instruction\";\r\nconst nextLink = \"/PostAdmin/ConcernsStrengths\";\r\nconst itemsPerPage = 1;\r\n\r\nclass AssessmentOutcomeItems extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { showWarningMessage: false }\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.handleClickNext = this.handleClickNext.bind(this);\r\n this.handleClickPrevious = this.handleClickPrevious.bind(this);\r\n this.handleCloseWarning = this.handleCloseWarning.bind(this);\r\n }\r\n\r\n onChange(e) {\r\n const { setOutcomeResponse } = this.props;\r\n const { name, value } = e.target;\r\n \r\n let id = 0;\r\n\r\n if (isNaN(name) === false) {\r\n id = parseInt(name);\r\n }\r\n\r\n setOutcomeResponse(id, value);\r\n this.forceUpdate();\r\n this.handleClickNext();\r\n }\r\n\r\n canGoNext(items) {\r\n for(let i = 0; i < items.length; i++)\r\n {\r\n if (parseInt(items[i].response[0]) === -9999) {\r\n return false\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n hasReponse(task) {\r\n return task && task.response && task.response.length > 0 && task.response[0] !== -9999;\r\n }\r\n\r\n handleClickNext() {\r\n const { items, saveData } = this.props;\r\n \r\n const currentIndex = this.getCurrentIndex();\r\n\r\n var min = currentIndex * itemsPerPage;\r\n var max = min + (itemsPerPage - 1);\r\n\r\n let itemsOnPage = [];\r\n\r\n for (let i = min; i <= max; i++) {\r\n itemsOnPage.push(items[i]);\r\n }\r\n\r\n if(this.canGoNext(itemsOnPage)) {\r\n this.goNext();\r\n } else {\r\n this.setState({ showWarningMessage: true })\r\n }\r\n } \r\n\r\n goNext() {\r\n const { items, saveData, saveScreenDuration } = this.props;\r\n \r\n const currentIndex = this.getCurrentIndex();\r\n\r\n if ((currentIndex * itemsPerPage) + 1 < items.length - (itemsPerPage - 1)) {\r\n //saveData();\r\n saveScreenDuration();\r\n history.push(`${outcomeLink}/${currentIndex + 2}`);\r\n\r\n } else {\r\n saveData();\r\n history.push(nextLink);\r\n }\r\n }\r\n\r\n handleCloseWarning() {\r\n this.setState({ showWarningMessage: false });\r\n }\r\n\r\n handleForceNext() {\r\n this.setState({ showWarningMessage: false });\r\n\r\n this.goNext();\r\n }\r\n\r\n handleClickPrevious() {\r\n const { saveData } = this.props;\r\n\r\n const currentIndex = this.getCurrentIndex();\r\n\r\n if (currentIndex > 0) {\r\n saveData();\r\n history.push(`${outcomeLink}/${currentIndex}`);\r\n } else {\r\n history.push(previousLink);\r\n }\r\n }\r\n\r\n getCurrentIndex() {\r\n const { match } = this.props;\r\n const index = match.params.index;\r\n\r\n if (index) {\r\n return parseInt(index - 1);\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n render() {\r\n const { items } = this.props;\r\n\r\n if (items === undefined || items.length === 0) {\r\n return null;\r\n }\r\n const currentIndex = this.getCurrentIndex()\r\n const label = currentIndex + 1 + ' OF ' + Math.ceil(items.length / itemsPerPage);\r\n\r\n var components = [];\r\n\r\n for(let i = 0; i < items.length; i++) {\r\n components.push(\r\n \r\n )\r\n }\r\n\r\n const questions = components.map(component => component).filter(component => {\r\n var min = currentIndex * itemsPerPage;\r\n var max = min + (itemsPerPage - 1);\r\n\r\n return parseInt(component.key) >= min && parseInt(component.key) <= max; \r\n })\r\n\r\n return (\r\n <>\r\n this.handleForceNext()} header={this.getTaskDialogHeaderText}>\r\n You did not answer {itemsPerPage > 1 ? 'a' : 'this'} question.

    Please provide a response. If you want to leave the question blank, click on the \"Next\" button to continue to the next screen.\r\n
    \r\n \r\n \r\n \r\n \r\n {questions}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n items : state.data.outcomes,\r\n})\r\n\r\nexport default connect(mapStateToProps, Object.assign({}, actionCreator))(connectCommon(AssessmentOutcomeItems))","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { assessmentStatus } from '../../Constants';\r\nimport PrevButton from '../../assets/images/back@2x.png';\r\nimport NextButton from '../../assets/images/next@2x.png';\r\nimport { Box } from '../../third-party-components/material-ui';\r\nimport { aiVersions } from '../../Constants';\r\n\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentHeader,\r\n AssessmentBody,\r\n AssessmentNavigationPrevious, \r\n AssessmentNavigationNext, \r\n AssessmentContent,\r\n AssessmentContentActionButton,\r\n AssessmentContentAction,\r\n AssessmentFooter,\r\n} from './common';\r\nimport { getLang } from './common/task-utility';\r\nimport { TaskType, TaskSegment } from '../../redux/actions/data-action';\r\n\r\nconst previousLinkAdditional = \"/Demographic/AdditionalQuestions/3\";\r\nconst nextLink = \"/Assessment/Complete\";\r\n\r\nclass AssessmentOmission extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.omittedItems = [];\r\n this.handleClickNext = this.handleClickNext.bind(this);\r\n this.handleClickPrevious = this.handleClickPrevious.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function (event) {\r\n history.go(1);\r\n };\r\n\r\n const { tasks } = this.props;\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n\r\n tasks[taskIndex].tasks.filter(task => !task.skipped).forEach((task, index) => {\r\n if (task.response < -1) {\r\n this.omittedItems.push((index + 1));\r\n }\r\n });\r\n }\r\n\r\n handleClickPrevious() {\r\n const { tasks } = this.props;\r\n\r\n var version = parseInt(sessionStorage.getItem('temp-version-id'));\r\n\r\n if (!aiVersions.includes(version)) {\r\n history.push(`/Demographic/AdditionalQuestions/3`);\r\n } else {\r\n const taskIndex = tasks.map(task => task.id).indexOf(TaskType.RATING.id);\r\n const currentTasks = tasks[taskIndex].tasks.filter(task => !task.skipped);\r\n const lastIndex = currentTasks.length;\r\n history.push(`/Assessment/Tasks/${TaskType.RATING.type}/${TaskSegment.TASK}/${lastIndex}`);\r\n }\r\n }\r\n\r\n handleClickNext() {\r\n history.push(nextLink);;\r\n }\r\n\r\n render() {\r\n const lang = getLang(this.props.versionID);\r\n const omittedItems = this.omittedItems.join(', ');\r\n return (\r\n \r\n \r\n \r\n \r\n {lang === 'fr' ? (\r\n <>\r\n \r\n Vous avez terminé de remplir le test.

    \r\n Vous n’avez pas répondu à la/aux question(s) {omittedItems}.

    \r\n Veuillez cliquer sur la flèche {'<'} pour revenir en arrière et sélectionner une réponse ou cliquer sur la flèche {'>'} pour continuer, sauvegarder vos réponses et les envoyer à votre administrateur.\r\n \r\n ) : lang === 'es' ? (\r\n <>\r\n Gracias por contestar la evaluación.

    \r\n No respondió el/los ítem(es) {omittedItems}.

    \r\n Por favor haga clic en el botón {'<'} y seleccione una respuesta para el(los) ítem(es) o haga clic en el botón {'>'} para confirmar sus respuestas y enviarlas a su administrador.\r\n \r\n ) : (\r\n <>\r\n You have completed the assessment.

    \r\n You did not answer item(s) {omittedItems}.

    \r\n Please click the back arrow {'<'} and select a response for the item(s) or click the forward arrow {'>'} to save your answers and send them to your administrator.\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {\"<\"}\r\n {\">\"}\r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n tasks: state.data.tasks,\r\n versionID: state.data.versionID\r\n});\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentOmission));\r\n","import React, { Component } from 'react'\r\nimport history from '../../routes/history';\r\nimport { connect } from 'react-redux'\r\nimport connectCommon from '../common/common-hoc';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { assessmentStatus } from '../../Constants';\r\nimport {\r\n AssessmentContainer,\r\n AssessmentContentHeader,\r\n AssessmentBody,\r\n AssessmentContent,\r\n AssessmentFooter\r\n} from './common';\r\nimport { getLang } from './common/task-utility';\r\n\r\nclass AssessmentComplete extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { startDate: null };\r\n }\r\n\r\n componentDidMount() {\r\n const { setAssessmentStatus, saveData } = this.props;\r\n\r\n setAssessmentStatus(assessmentStatus.Complete);\r\n\r\n saveData();\r\n\r\n this.setState({ startDate: new Date() });\r\n\r\n window.history.pushState(null, null, history.location.href);\r\n window.onpopstate = function (event) {\r\n history.go(1);\r\n };\r\n }\r\n\r\n render() {\r\n var lang = getLang(this.props.versionID);\r\n\r\n\r\n return (\r\n \r\n {lang === 'fr' ? 'Merci' : lang === 'es' ? 'Gracias' : 'Thank You'}\r\n \r\n \r\n {lang === 'fr' ? (\r\n
    \r\n Nous avons reçu vos réponses et nous allons envoyer les résultats à votre administrateur.
    \r\n Pour quitter le site, fermer le navigateur web.\r\n
    \r\n ) : lang === 'es' ? (\r\n
    \r\n Hemos recibido sus respuestas, y enviaremos los resultados a su Administrador.
    \r\n Para salir de este sitio, cierre su navegador.\r\n\r\n
    \r\n ) : (\r\n
    \r\n We have received your answers, and we will send the results to your administrator.
    \r\n To exit this site, close your web browser.\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n versionID: state.data.versionID\r\n});\r\n\r\nexport default connect(mapStateToProps, actionCreator)(connectCommon(AssessmentComplete));","import {\r\n AssessmentInstructionEnglishParent,\r\n AssessmentInstructionEnglishTeacher,\r\n AssessmentInstructionEnglishSelf,\r\n AssessmentInstructionFrenchParent,\r\n AssessmentInstructionFrenchTeacher,\r\n AssessmentInstructionFrenchSelf,\r\n AssessmentInstructionSpanishParent,\r\n AssessmentInstructionSpanishSelf,\r\n AssessmentOmission,\r\n AssessmentComplete,\r\n AssessmentTasks,\r\n AssessmentOutcomeInstruction,\r\n AssessmentOutcomeItems,\r\n} from '../components/assessment';\r\n\r\nconst AssessmentRoutesEnglishParent = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionEnglishParent,\r\n monitorProgress: true\r\n }\r\n]\r\n\r\nconst AssessmentRoutesEnglishTeacher = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionEnglishTeacher,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesEnglishSelf = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionEnglishSelf,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesFrenchParent = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionFrenchParent,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesFrenchTeacher = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionFrenchTeacher,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesFrenchSelf = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionFrenchSelf,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesSpanishParent = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionSpanishParent,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesSpanishSelf = [{\r\n path: '/Assessment/Instruction',\r\n component: AssessmentInstructionSpanishSelf,\r\n monitorProgress: true\r\n}]\r\n\r\nconst AssessmentRoutesGlobal = [\r\n {\r\n path: '/Assessment/Omission',\r\n component: AssessmentOmission,\r\n monitorProgress: false\r\n },\r\n {\r\n path: '/Assessment/Complete',\r\n component: AssessmentComplete,\r\n monitorProgress: false\r\n }\r\n]\r\n\r\nexport const TaskRoutes = [{\r\n path: '/Assessment/Tasks/:type/:segment?/:index?',\r\n component: AssessmentTasks,\r\n monitorProgress: true\r\n}];\r\n\r\nexport const OutcomeRoutes = [{\r\n path: '/Assessment/Outcome/Instruction',\r\n component: AssessmentOutcomeInstruction,\r\n monitorProgress: true\r\n },\r\n {\r\n path: '/Assessment/Outcome/Items/:index?',\r\n component: AssessmentOutcomeItems,\r\n monitorProgress: true\r\n },\r\n]\r\n\r\nexport const getAssessmentRoutesByID = (versionId) => {\r\n switch (parseInt(versionId)) {\r\n case 36:\r\n case 39:\r\n case 40:\r\n case 41:\r\n case 42:\r\n case 43:\r\n return [...AssessmentRoutesEnglishParent, ...AssessmentRoutesGlobal]\r\n case 37:\r\n case 56:\r\n case 57:\r\n case 58:\r\n case 59:\r\n case 60:\r\n return [...AssessmentRoutesEnglishTeacher, ...AssessmentRoutesGlobal]\r\n case 38:\r\n case 67:\r\n case 68:\r\n case 69:\r\n case 70:\r\n case 71:\r\n return [...AssessmentRoutesEnglishSelf, ...AssessmentRoutesGlobal]\r\n case 44:\r\n case 45:\r\n case 46:\r\n case 47:\r\n case 48:\r\n case 49:\r\n return [...AssessmentRoutesFrenchParent, ...AssessmentRoutesGlobal]\r\n case 50:\r\n case 51:\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55:\r\n return [...AssessmentRoutesSpanishParent, ...AssessmentRoutesGlobal]\r\n case 61:\r\n case 62:\r\n case 63:\r\n case 64:\r\n case 65:\r\n case 66:\r\n return [...AssessmentRoutesFrenchTeacher, ...AssessmentRoutesGlobal]\r\n case 72:\r\n case 73:\r\n case 74:\r\n case 75:\r\n case 76:\r\n case 77:\r\n return [...AssessmentRoutesFrenchSelf, ...AssessmentRoutesGlobal]\r\n case 78:\r\n case 79:\r\n case 80:\r\n case 81:\r\n case 82:\r\n case 83:\r\n return [...AssessmentRoutesSpanishSelf, ...AssessmentRoutesGlobal]\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nexport const getAssessmentRoutes = (versionId) => {\r\n var routes = getAssessmentRoutesByID(versionId);\r\n\r\n return routes\r\n}","import { getIntroductionRoutes, IntroductionRoutes } from '../../routes/introduction-routes';\r\nimport { getDemographicRoutes } from '../../routes/demographic-routes';\r\nimport { getAssessmentRoutes, TaskRoutes, OutcomeRoutes } from '../../routes/assessment-routes';\r\nimport { assessmentStatus } from '../../Constants';\r\nimport moment from 'moment';\r\n\r\nimport {\r\n REQUEST_START,\r\n REQUEST_SAVED,\r\n REQUEST_ERROR,\r\n REQUEST_END,\r\n GET_DATA,\r\n SET_DEMOGRAPHICS_RESPONSE,\r\n SET_DATA_RESPONSE,\r\n SET_TERMS,\r\n SET_TERMS_DECLINE,\r\n SET_CONSENT,\r\n SET_CONSENT_DECLINE,\r\n SET_ASSESSMENT_STATUS,\r\n SET_TASK_RESPONSE,\r\n SET_TERMINATION,\r\n SET_SKIP_REMAINING_TASKS,\r\n RESET_SKIPPED_TASKS,\r\n SET_OUTCOME_RESPONSE,\r\n SET_SCREEN_DURATION,\r\n SET_TASK_DURATION,\r\n SET_OUTCOME_DURATION,\r\n CLEAR_RESPONSE,\r\n SET_TASK_PLAYED,\r\n SET_CURRENT_PERCENTAGE,\r\n SET_TOTAL_PERCENTAGE,\r\n getTasks,\r\n getTaskTypeIdById,\r\n TaskSegment,\r\n SET_DEMOGRAPHICS_FOR_VERSION,\r\n} from '../actions/data-action';\r\nimport { getTaskDuration } from './utility';\r\n\r\nvar dataInitialState = {\r\n terms: null,\r\n termsDecline: null,\r\n consent: null,\r\n consentDecline: null,\r\n terminated: false,\r\n terminationReason: null,\r\n sessionID: null,\r\n outcomes: [],\r\n screens: []\r\n};\r\n\r\nconst requestInitialState = {\r\n isProcessing: false,\r\n saved: false,\r\n hasError: false,\r\n error: ''\r\n}\r\n\r\nexport const data = (data = dataInitialState, action) => {\r\n switch (action.type) {\r\n // case SET_DEMOGRAPHICS_FOR_VERSION:\r\n // var dDemographics = {};\r\n // dDemographics = {\r\n // Age: '',\r\n // Gender: '',\r\n // PFSex: '',\r\n // PFSexOtherSP: '',\r\n // PFGender: '',\r\n // PFGenderOtherSP: '',\r\n // PFAge: '',\r\n // PFDOB: '',\r\n // PFCountry: '',\r\n // PFState: '',\r\n // PFHispanic: '',\r\n // PFHispanicOtherSP: '',\r\n // PFRace: '',\r\n // PFRaceOtherSP: '',\r\n // PFPEL: '',\r\n // PFOtherParentPEL: '',\r\n // PFProvince: '',\r\n // PFAboriginal: '',\r\n // PFDiagnosed: '',\r\n // PFServices: '',\r\n // PFServicesTypeLD: '',\r\n // PFServicesTypeEBP: '',\r\n // PFServicesTypeID: '',\r\n // PFServicesTypeOther: '',\r\n // PFServicesTypeOtherSP: '',\r\n // PFSettingChildcareCentre: '',\r\n // PFSettingHome: '',\r\n // PFSettingPreschool: '',\r\n // PFSettingK: '',\r\n // PFSettingGr1: '',\r\n // PFSettingGr2: '',\r\n // PFSettingOther: '',\r\n // PFSettingOtherSP: '',\r\n // PFSchoolType: '',\r\n // PFSchoolTypeOtherSP: '',\r\n // PFRelation: '',\r\n // PFRelationOtherSP: '',\r\n // PFLanguage: '',\r\n // PFLanguageType: '',\r\n // PFNonEngSP: '',\r\n // PFLanguageEC: '',\r\n // PFSentencesEC: '',\r\n // PFUnderstandLanguageEC: '',\r\n // PFSentences: '',\r\n // PFUnderstandLanguage: '',\r\n // rater : {\r\n // Voluntary: '',\r\n // Compensation: '',\r\n // Confidential: '',\r\n // PFID: '',\r\n // PFSite: '',\r\n // PFRaterGender: '',\r\n // PFRaterGenderOtherSP: '',\r\n // PFRaterAge: '',\r\n // PFRaterCountry: '',\r\n // PFRaterRace: '',\r\n // PFRaterRaceOtherSP: '',\r\n // PFRaterHispanic: '',\r\n // PFRaterHispanicOtherSP: '',\r\n // PFRaterAboriginal: '',\r\n // PFRaterReadEnglish: ''\r\n // },\r\n // postAdmin : {\r\n // PFConcerns: '',\r\n // PFStrengths: '',\r\n // PFRead: '',\r\n // PFReadWho: '',\r\n // PFReadWhy: '',\r\n // PFComplete: '',\r\n // PFCompleteWho: '',\r\n // PFCompleteWhy: ''\r\n // }\r\n \r\n // };\r\n // return Object.assign({}, data, {demographics: dDemographics}) ;\r\n case GET_DATA:\r\n\r\n // if (action.data.screens === false || action.data.screens.length === 0) {\r\n // //debugger;\r\n // //action.data.screens = getScreens(action.data);\r\n // }\r\n\r\n return Object.assign({}, data, action.data);\r\n case SET_SCREEN_DURATION:\r\n const aScreens = Array.from(data.screens);\r\n\r\n aScreens.map((item, index) => {\r\n if (item.url === action.url) {\r\n let duration = item.duration;\r\n\r\n if (isNaN(duration)) {\r\n duration = 0;\r\n }\r\n\r\n item.duration = duration + ((action.end - action.start) / 1000)\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { screens: aScreens });\r\n case SET_TERMS:\r\n return Object.assign({}, data, { terms: action.value });\r\n case SET_TERMS_DECLINE:\r\n return Object.assign({}, data, { termsDecline: action.value });\r\n case SET_CONSENT:\r\n return Object.assign({}, data, { consent: action.value });\r\n case SET_CONSENT_DECLINE:\r\n return Object.assign({}, data, { consentDecline: action.value });\r\n case SET_ASSESSMENT_STATUS:\r\n if (action.value === assessmentStatus.Complete || action.value === assessmentStatus.Fail ) {\r\n var date = moment.utc();\r\n return Object.assign({}, data, { status: action.value, dateTimeSubmitted: date.format(\"YYYY-MM-DD HH:mm:ss\")});\r\n }else {\r\n return Object.assign({}, data, { status: action.value, dateTimeSubmitted: null });\r\n }\r\n case SET_DEMOGRAPHICS_RESPONSE:\r\n var demographics = { ...data.demographics };\r\n\r\n if (typeof(action.name) === \"object\") {\r\n demographics = {...demographics, ...action.name};\r\n } else {\r\n if (action.child) {\r\n demographics[action.child][action.name] = action.value;\r\n } else {\r\n // if (!demographics[action.name])demographics[action.name] = [];\r\n // demographics[action.name].push(action.value);\r\n demographics[action.name] = action.value;\r\n }\r\n }\r\n\r\n return Object.assign({}, data, { demographics: demographics });\r\n case SET_DATA_RESPONSE:\r\n const dataObj = {...data };\r\n dataObj[action.name] = action.value\r\n\r\n return Object.assign({}, data, dataObj);\r\n case SET_OUTCOME_RESPONSE:\r\n const outcomes = Array.from(data.outcomes);\r\n outcomes.map((item, index) => {\r\n if (item.id === action.id) {\r\n const response = [];\r\n response[0] = action.response;\r\n item.response = response;\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { outcomes: outcomes });\r\n case SET_OUTCOME_DURATION:\r\n const outcomesDuration = Array.from(data.outcomes);\r\n outcomesDuration.map((item, index) => {\r\n if (item.id === action.outcome.id) {\r\n let duration = item.duration;\r\n\r\n if (isNaN(duration)) {\r\n duration = 0;\r\n }\r\n\r\n item.duration = duration + ((action.end - action.start) / 1000) % 60\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { outcomes: outcomesDuration });\r\n\r\n case SET_TASK_RESPONSE:\r\n let responseIndex = action.index;\r\n\r\n if (isNaN(responseIndex)) {\r\n responseIndex = 0;\r\n }\r\n const tasksResponse = Array.from(data.tasks);\r\n\r\n getTasks(tasksResponse, action.taskType, action.subTaskType).map((item, index) => {\r\n if (item.id === action.task.id) {\r\n if (item.response) {\r\n const response = item.response;\r\n response[responseIndex] = action.response;\r\n item.response = response;\r\n } else {\r\n const response = [];\r\n response[responseIndex] = action.response;\r\n item.response = response;\r\n }\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { tasks: tasksResponse });\r\n case SET_SKIP_REMAINING_TASKS:\r\n const tasksSkip = Array.from(data.tasks);\r\n let currentTaskIndex = 0;\r\n\r\n getTasks(tasksSkip, action.taskType, action.subTaskType).map((item, index) => {\r\n if (item.id === action.task.id) {\r\n currentTaskIndex = index;\r\n }\r\n\r\n if (index > currentTaskIndex) {\r\n item.skipped = true;\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { tasks: tasksSkip });\r\n\r\n case RESET_SKIPPED_TASKS:\r\n const tasksResetSkip = Array.from(data.tasks);\r\n\r\n getTasks(tasksResetSkip, action.taskType, action.subTaskType).map((item, index) => {\r\n item.skipped = false;\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { tasks: tasksResetSkip });\r\n case CLEAR_RESPONSE:\r\n const tasksClear = Array.from(data.tasks);\r\n\r\n getTasks(tasksClear, action.taskType, action.subTaskType).map((item, index) => {\r\n if (item.id === action.task.id) {\r\n item.response = []\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { tasks: tasksClear });\r\n case SET_TERMINATION:\r\n if (data.terminated === false) {\r\n return Object.assign({}, data, { terminated: true, terminationReason: action.terminationReason });\r\n } else {\r\n return data;\r\n }\r\n case SET_TASK_PLAYED:\r\n const tasksPlayed = Array.from(data.tasks);\r\n getTasks(tasksPlayed, action.taskType, action.subTaskType).map((item, index) => {\r\n if (item.id === action.task.id) {\r\n const played = action.task.played;\r\n if (played) {\r\n return item;\r\n } else {\r\n item.played = true;\r\n return item;\r\n }\r\n } else {\r\n return item;\r\n }\r\n });\r\n\r\n return Object.assign({}, data, { tasks: tasksPlayed });\r\n case SET_TASK_DURATION:\r\n const aTasks = Array.from(data.tasks);\r\n\r\n getTasks(aTasks, action.taskType, action.subTaskType).map((item, index) => {\r\n if (item.id === action.task.id) {\r\n let duration = item.duration;\r\n\r\n if (isNaN(duration)) {\r\n duration = 0;\r\n }\r\n\r\n item.duration = duration + ((action.end - action.start) / 1000) % 60\r\n }\r\n\r\n return item;\r\n })\r\n\r\n return Object.assign({}, data, { tasks: aTasks });\r\n default:\r\n return data;\r\n }\r\n}\r\n\r\nexport const dataRequest = (request = requestInitialState, action) => {\r\n switch (action.type) {\r\n case REQUEST_START:\r\n return Object.assign({}, request, { isProcessing: true, saved: false, hasError: false, error: ''});\r\n case REQUEST_SAVED:\r\n return Object.assign({}, request, { saved: true});\r\n case REQUEST_ERROR:\r\n return Object.assign({}, request, { hasError: true, error: action.error, errorCode: action.code });\r\n case REQUEST_END:\r\n return Object.assign({}, request, { isProcessing: false});\r\n default:\r\n return request;\r\n }\r\n}\r\n\r\nexport const timeout = (timeout = 0, action) => {\r\n if (action.timeout) {\r\n timeout = action.timeout;\r\n }\r\n return timeout;\r\n}\r\n\r\nconst getScreens = (data) => {\r\n const screens = [];\r\n let id = 0;\r\n\r\n if (data) {\r\n getIntroductionRoutes(data.versionID).forEach((route) => {\r\n if (route.monitorProgress) {\r\n screens.push({ id: id++, url: route.path});\r\n }\r\n })\r\n \r\n getDemographicRoutes(data.versionID).forEach((route) => {\r\n if (route.monitorProgress) {\r\n screens.push({ id: id++, url: route.path});\r\n }\r\n })\r\n\r\n getAssessmentRoutes(data.versionID).forEach((route) => {\r\n if (route.monitorProgress) {\r\n screens.push({ id: id++, url: route.path});\r\n }\r\n })\r\n\r\n if (data.tasks) {\r\n TaskRoutes.forEach((route) => {\r\n if (route.monitorProgress) {\r\n ///Assessment/Tasks/:type/:segment?/:index?\r\n if (route.path.includes(\"?\")) {\r\n if (data.tasks) {\r\n data.tasks.forEach((task) => {\r\n const currentTaskType = getTaskTypeIdById(task.id);\r\n\r\n let instructionPath = route.path\r\n .replace(':type', currentTaskType.type)\r\n .replace(':segment?', TaskSegment.INSTRUCTION)\r\n .replace('/:index?', '');\r\n\r\n screens.push({ id: id++, url: instructionPath});\r\n\r\n task.practice.forEach((practice, index) => {\r\n let practicePath = route.path\r\n .replace(':type', currentTaskType.type)\r\n .replace(':segment?', TaskSegment.PRACTICE)\r\n .replace(':index?', index + 1);\r\n\r\n screens.push({ id: id++, url: practicePath});\r\n })\r\n\r\n let practiceCompletePath = route.path\r\n .replace(':type', currentTaskType.type)\r\n .replace(':segment?', TaskSegment.PRACTICECOMPLETE)\r\n .replace('/:index?', '');\r\n\r\n screens.push({ id: id++, url: practiceCompletePath});\r\n\r\n task.tasks.forEach((practice, index) => {\r\n let taskPath = route.path\r\n .replace(':type', currentTaskType.type)\r\n .replace(':segment?', TaskSegment.TASK)\r\n .replace(':index?', index + 1);\r\n\r\n screens.push({ id: id++, url: taskPath});\r\n })\r\n\r\n })\r\n\r\n }\r\n } else {\r\n screens.push({ id: id++, url: route.path});\r\n }\r\n }\r\n })\r\n }\r\n\r\n if (data.outcomes) {\r\n OutcomeRoutes.forEach((route) => {\r\n if (route.monitorProgress) {\r\n\r\n //'/Assessment/Outcome/Items/:index?'\r\n if (route.path.includes(\"?\")) {\r\n const outcomePages = Math.ceil(data.outcomes.length / 2);\r\n\r\n for (let i = 1; i <= outcomePages; i++) {\r\n let outcomeItemPath = route.path.replace(':index?', i);\r\n\r\n screens.push({ id: id++, url: outcomeItemPath});\r\n }\r\n } else {\r\n screens.push({ id: id++, url: route.path});\r\n }\r\n }\r\n })\r\n }\r\n }\r\n return screens;\r\n}\r\n\r\n\r\nexport const currentPercentage = (percentage = 0, action) => {\r\n switch (action.type) {\r\n case SET_CURRENT_PERCENTAGE:\r\n return action.percentage;\r\n default:\r\n return percentage;\r\n }\r\n}\r\n\r\nexport const totalPercentage = (percentage = 100, action) => {\r\n switch (action.type) {\r\n case SET_TOTAL_PERCENTAGE:\r\n return action.percentage;\r\n default:\r\n return percentage;\r\n }\r\n}","import PropTypes from 'prop-types';\r\nimport { combineReducers } from 'redux';\r\nimport { connectRouter } from 'connected-react-router'\r\n\r\nimport * as lookupReducers from './lookup-reducer';\r\nimport * as dataReducers from './data-reducer';\r\n\r\nconst rootReducer = (history) => combineReducers({\r\n ...lookupReducers,\r\n ...dataReducers,\r\n router: connectRouter(history)\r\n})\r\n\r\nrootReducer.propTypes = {\r\n history: PropTypes.object\r\n}\r\n\r\nexport default rootReducer","import PropTypes from 'prop-types';\r\nimport { createStore, compose, applyMiddleware } from \"redux\";\r\nimport { routerMiddleware } from 'connected-react-router'\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport rootReducer from './reducers';\r\nimport history from '../routes/history';\r\nimport { persistStore, persistReducer } from 'redux-persist';\r\nimport storage from 'redux-persist/lib/storage/session';\r\nimport { purgeStoredState } from 'redux-persist'\r\nimport { createLogger } from 'redux-logger';\r\n\r\nimport { config } from '../Constants';\r\n\r\n//const reduxDevToolsEnhancer = window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__();\r\n\r\nconst persistConfig = {\r\n key: 'root',\r\n storage,\r\n blackList: ['router']\r\n}\r\n\r\nexport default function configureStore(preloadedState){\r\n const middlewares = [thunkMiddleware,routerMiddleware(history)];\r\n \r\n if (config.reduxLogger)\r\n middlewares.push(createLogger());\r\n\r\n const middlewareEnhancer = applyMiddleware(...middlewares);\r\n\r\n const persistedReducer = persistReducer(persistConfig, rootReducer(history));\r\n\r\n const enhancers = [middlewareEnhancer];\r\n\r\n //if (process.env.NODE_ENV === 'development') {\r\n // enhancers.push(reduxDevToolsEnhancer);\r\n //}\r\n\r\n const composedEnhancers = compose(...enhancers);\r\n\r\n const store = createStore(persistedReducer, preloadedState, composedEnhancers);\r\n const persistor = persistStore(store);\r\n //persistor.purge(); //for testing only - this would cause to refresh state upon browser refresh\r\n return { history, store, persistor };\r\n}\r\n\r\nconfigureStore.propTypes = {\r\n preloadedState: PropTypes.object\r\n}\r\n\r\nexport function purge() {\r\n purgeStoredState(persistConfig);\r\n}","import { useEffect } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nfunction ScrollToTop({ history }) {\r\n useEffect(() => {\r\n const unlisten = history.listen(() => {\r\n window.scrollTo(0, 0);\r\n });\r\n return () => {\r\n unlisten();\r\n }\r\n }, []);\r\n\r\n return (null);\r\n}\r\n\r\nexport default withRouter(ScrollToTop);","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Redirect } from 'react-router-dom';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TerminationType } from '../../redux/actions/data-action';\r\n\r\nclass TerminationDemographics extends Component {\r\n componentWillMount() {\r\n const { setTermination } = this.props;\r\n \r\n setTermination(TerminationType.DEMOGRAPHICS);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(TerminationDemographics);","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Redirect } from 'react-router-dom';\r\nimport * as actionCreator from '../../redux/actions/data-action';\r\nimport { TerminationType } from '../../redux/actions/data-action';\r\n\r\nclass TerminationTime extends Component {\r\n componentWillMount() {\r\n const { setTermination } = this.props;\r\n \r\n setTermination(TerminationType.TIME);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default connect(null, actionCreator)(TerminationTime);","import {\r\n TerminationDemographics,\r\n TerminationTime\r\n} from '../components/termination';\r\n\r\nexport const TerminationRoutes = [\r\n { path: '/Terminate/Demographics', component: TerminationDemographics },\r\n { path: '/Terminate/Time', component: TerminationTime },\r\n]","import React, { Component } from \"react\";\r\nimport { connect } from 'react-redux'\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { store } from '../index';\r\n\r\nfunction SessionRequiredRoute({component: Component, ...rest}) {\r\n const renderFunc = (props, s) => {\r\n return store.getState().data.sessionID ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n return (\r\n renderFunc(props) }\r\n />\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state, ownState) => ({\r\n test: state.data,\r\n})\r\n\r\nexport default connect(mapStateToProps, null)(SessionRequiredRoute);","import React, { Component } from 'react';\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\nimport { getIntroductionRoutes } from './introduction-routes';\r\nimport { getDemographicRoutes } from './demographic-routes';\r\nimport { getAssessmentRoutes, TaskRoutes, OutcomeRoutes } from './assessment-routes';\r\nimport { TerminationRoutes } from './termination-routes';\r\nimport SessionRequiredRoute from './session-required-route';\r\nimport { connect } from 'react-redux';\r\n\r\nconst Routes = (\r\n \r\n {sessionStorage.getItem('temp-version-id') ? ((getIntroductionRoutes(sessionStorage.getItem('temp-version-id')))) ? (getIntroductionRoutes(sessionStorage.getItem('temp-version-id'))).map((route, index) => {\r\n if (route.requireSessionID) {\r\n return ()\r\n } else {\r\n return ()\r\n }\r\n }): null: null}\r\n {sessionStorage.getItem('temp-version-id') ? ((getDemographicRoutes(sessionStorage.getItem('temp-version-id')))) ? (getDemographicRoutes(sessionStorage.getItem('temp-version-id'))).map((route, index) => (\r\n \r\n )): null: null}\r\n\r\n {sessionStorage.getItem('temp-version-id') ? ((getAssessmentRoutes(sessionStorage.getItem('temp-version-id')))) ? (getAssessmentRoutes(sessionStorage.getItem('temp-version-id'))).map((route, index) => (\r\n \r\n // \r\n )): null: null}\r\n\r\n {TaskRoutes.map((route, index) => (\r\n \r\n ))}\r\n\r\n {OutcomeRoutes.map((route, index) => (\r\n \r\n ))}\r\n\r\n\r\n {TerminationRoutes.map((route, index) => (\r\n \r\n ))}\r\n \r\n)\r\n\r\nexport default Routes;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { DragDropContextProvider } from 'react-dnd'\r\nimport HTML5Backend from 'react-dnd-html5-backend'\r\nimport TouchBackend from 'react-dnd-touch-backend'\r\nimport { isMobile } from 'react-device-detect';\r\nimport ScrollToTop from './routes/ScrollToTop'\r\n\r\nimport Routes from './routes';\r\nimport './App.css';\r\nimport './components/demographics/styles/demographics-style.css';\r\nimport './components/screens/styles/screen-style.css';\r\nimport './components/assessment/styles/assessment-style.css';\r\nimport './components/assessment/styles/task-style.css';\r\nimport './components/common/styles/common-style.css';\r\nimport { LastLocationProvider } from 'react-router-last-location';\r\n\r\nconst App = ({history}) => (\r\n \r\n \r\n \r\n {Routes} \r\n \r\n \r\n );\r\n\r\n App.propTypes = {\r\n history: PropTypes.object\r\n}\r\n\r\nexport default App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport './url-values';\r\n\r\nimport configureStore from './redux/configure';\r\nimport history from './routes/history';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\n\r\nimport App from './App';\r\n\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport '@progress/kendo-theme-material/dist/all.css';\r\nimport \"../node_modules/video-react/dist/video-react.css\";\r\nimport './index.css';\r\nimport 'core-js';\r\n\r\nconst initialState = {};\r\n\r\nexport const { \r\n store, \r\n persistor \r\n} = configureStore(initialState);\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n , \r\n document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}